From 9d8a3b6020daa9fe03884f71f0cb1b73dfe72c87 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Sun, 5 Jan 2003 12:33:22 +0000 Subject: [PATCH] Support for async display udpates. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@622 --- include/render.h | 9 +++++---- include/video.h | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/render.h b/include/render.h index e7a0b840..7dd2d226 100644 --- a/include/render.h +++ b/include/render.h @@ -29,12 +29,13 @@ enum { DoubleBoth= 0x03 }; -bool RENDER_StartUpdate(void); -void RENDER_EndUpdate(void); -void RENDER_Part(Bit8u * data,Bitu x,Bitu y,Bitu dx,Bitu dy); +typedef void (* RENDER_Part_Handler)(Bit8u * src,Bitu x,Bitu y,Bitu dx,Bitu dy); +typedef void (* RENDER_Draw_Handler)(RENDER_Part_Handler part_handler); -void RENDER_SetSize(Bitu width,Bitu height,Bitu bpp,Bitu pitch,float ratio,Bitu flags); +void RENDER_DoUpdate(void); + +void RENDER_SetSize(Bitu width,Bitu height,Bitu bpp,Bitu pitch,float ratio,Bitu flags,RENDER_Draw_Handler draw_handler); void RENDER_SetPal(Bit8u entry,Bit8u red,Bit8u green,Bit8u blue); diff --git a/include/video.h b/include/video.h index d6424129..63d952ec 100644 --- a/include/video.h +++ b/include/video.h @@ -22,6 +22,8 @@ typedef void (* GFX_ModeCallBack)(Bitu width,Bitu height,Bitu bpp,Bitu pitch,Bitu flags); +typedef void (* GFX_DrawCallBack)(void * data); + struct GFX_PalEntry { Bit8u r; Bit8u g; @@ -40,14 +42,13 @@ void GFX_Events(void); void GFX_SetPalette(Bitu start,Bitu count,GFX_PalEntry * entries); Bitu GFX_GetRGB(Bit8u red,Bit8u green,Bit8u blue); -void GFX_SetSize(Bitu width,Bitu height,Bitu bpp,Bitu flags,GFX_ModeCallBack callback); +void GFX_SetSize(Bitu width,Bitu height,Bitu bpp,Bitu flags,GFX_ModeCallBack mode_callback, GFX_DrawCallBack draw_callback); void GFX_Start(void); void GFX_Stop(void); void GFX_SwitchFullScreen(void); -void * GFX_StartUpdate(void); -void GFX_EndUpdate(void); +void GFX_DoUpdate(void); #endif