Remove hwnd and hdc, so it being store to right struct.
[reactos.git] / reactos / lib / ddraw / rosdraw.h
index d19c522..e7ab653 100644 (file)
 
 typedef struct 
 {
+       /* Setup the Vtbl COM table */
        IDirectDraw7Vtbl* lpVtbl;
        IDirectDraw4Vtbl* lpVtbl_v4;
        IDirectDraw2Vtbl* lpVtbl_v2;
        IDirectDrawVtbl*  lpVtbl_v1;
 
+       /* The main struct that contain all info from the HAL and HEL */
        DDRAWI_DIRECTDRAW_GBL DirectDrawGlobal;
+
+       /* ExclusiveOwner */
+       DDRAWI_DIRECTDRAW_LCL ExclusiveOwner;
+                               
+       /* MISC info that will be remove in futuer */   
        DDHAL_DDMISCELLANEOUSCALLBACKS Misc2Callback;
        DDHALINFO HalInfo;      
-
-    HWND window;
-    DWORD cooperative_level;
-       HDC hdc;
+    
+    DWORD cooperative_level;   
        int Height, Width, Bpp;
 
-       GUID* lpGUID;
+       BOOL InitializeDraw;
+
 
 } IDirectDrawImpl; 
 
@@ -38,11 +44,15 @@ typedef struct
 {
        IDirectDrawSurface7Vtbl* lpVtbl;
        IDirectDrawSurface3Vtbl* lpVtbl_v3;
-
-    LONG ref;
-
+   
     IDirectDrawImpl* owner;
 
+       DDRAWI_DDRAWSURFACE_GBL Global; 
+       DDRAWI_DDRAWSURFACE_MORE More; 
+       DDRAWI_DDRAWSURFACE_LCL Local;
+       DDRAWI_DDRAWSURFACE_LCL *pLocal[2]; 
+       DDSURFACEDESC ddsd; 
+
 } IDirectDrawSurfaceImpl;
 
 /******** Clipper Object ********/
@@ -84,40 +94,28 @@ extern IDirectDrawGammaControlVtbl  DirectDrawGammaControl_Vtable;
 
 /********* Prototypes **********/
 
-HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
-HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
-VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 iface);
-
-HRESULT Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps,
-                                  LPDWORD total, LPDWORD free);        
-
-HRESULT Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
-                                       HANDLE h); 
-
-HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
-HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface); 
-HRESULT Hal_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeight, 
-                                                                                                       DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
-
-
-
-
-
-HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
-HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
-VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 iface);
-
-HRESULT Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps,
-                                  LPDWORD total, LPDWORD free);        
-
-HRESULT Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
-                                       HANDLE h); 
-
-HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
-HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
-HRESULT Hel_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeight, 
-                                                                                                       DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
-
+HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 );
+HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 );
+VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 );
+HRESULT Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7, LPDDSCAPS2, LPDWORD, LPDWORD );       
+HRESULT Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE ); 
+HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
+HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 ); 
+HRESULT Hal_DirectDraw_SetDisplayMode (LPDIRECTDRAW7, DWORD, DWORD, DWORD, DWORD, DWORD );
+HRESULT Hal_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
+HRESULT Hal_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 , LPDIRECTDRAW , LPDDSURFACEDESC2 );
+
+
+HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 );
+HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 );
+VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 );
+HRESULT Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 , LPDDSCAPS2 ddsaps, LPDWORD , LPDWORD );      
+HRESULT Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE ); 
+HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
+HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 );
+HRESULT Hel_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 , DWORD , DWORD ,DWORD , DWORD , DWORD );
+HRESULT Hel_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
+HRESULT Hel_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 , LPDIRECTDRAW , LPDDSURFACEDESC2 );
 
 /*********** Macros ***********/