| 1 | /* $Id: OS2SURFACE.H,v 1.1 2000-04-07 18:21:06 mike Exp $ */
 | 
|---|
| 2 | 
 | 
|---|
| 3 | /*
 | 
|---|
| 4 |  * Direct/X Surface class
 | 
|---|
| 5 |  *
 | 
|---|
| 6 |  * Copyright 1999 Markus Montkowski
 | 
|---|
| 7 |  *
 | 
|---|
| 8 |  * Project Odin Software License can be found in LICENSE.TXT
 | 
|---|
| 9 |  *
 | 
|---|
| 10 |  */
 | 
|---|
| 11 | 
 | 
|---|
| 12 | #ifndef __OS2SURFACE_H__
 | 
|---|
| 13 | #define __OS2SURFACE_H__
 | 
|---|
| 14 | #define FAR
 | 
|---|
| 15 | #include "divewrap.h"
 | 
|---|
| 16 | #include <commctrl.h>
 | 
|---|
| 17 | 
 | 
|---|
| 18 | #define FAR
 | 
|---|
| 19 | #undef THIS
 | 
|---|
| 20 | #define THIS VOID*
 | 
|---|
| 21 | 
 | 
|---|
| 22 | typedef struct _OS2RECTL {
 | 
|---|
| 23 |    LONG     xLeft;    /*  X-coordinate of left-hand edge of rectangle. */
 | 
|---|
| 24 |    LONG     yBottom;  /*  Y-coordinate of bottom edge of rectangle. */
 | 
|---|
| 25 |    LONG     xRight;   /*  X-coordinate of right-hand edge of rectangle. */
 | 
|---|
| 26 |    LONG     yTop;     /*  Y-coordinate of top edge of rectangle. */
 | 
|---|
| 27 |  } OS2RECTL;
 | 
|---|
| 28 | 
 | 
|---|
| 29 | typedef struct _SURFPRIVATEDATA
 | 
|---|
| 30 | {
 | 
|---|
| 31 |   GUID    guidTag;
 | 
|---|
| 32 |   void    *pData;
 | 
|---|
| 33 |   DWORD   dwFlags;
 | 
|---|
| 34 |   DWORD   dwSize;
 | 
|---|
| 35 |   BOOL    isValid;
 | 
|---|
| 36 | }SURFPRIVATEDATA , *PSURFPRIVATEDATA;
 | 
|---|
| 37 | 
 | 
|---|
| 38 | class OS2IDirectDrawSurface
 | 
|---|
| 39 | {
 | 
|---|
| 40 |  public:
 | 
|---|
| 41 |   //this one has to go first!
 | 
|---|
| 42 |   IDirectDrawSurface2Vtbl *lpVtbl;
 | 
|---|
| 43 |   IDirectDrawSurface2Vtbl *lpVtbl2;         // 2nd Vtable pointer An other MS assumtion see below
 | 
|---|
| 44 | //  IDirectDrawSurface4Vtbl *lpVtbl;
 | 
|---|
| 45 | //  IDirectDrawSurface4Vtbl *lpVtbl2;         // 2nd Vtable pointer An other MS assumtion see below
 | 
|---|
| 46 |   DWORD                    dwUnknownData;   // Pointer to unknown data set to DEADDEAD to indicate that we can't handle this
 | 
|---|
| 47 |   IDirectDrawSurface2Vtbl  Vtbl2;
 | 
|---|
| 48 |   IDirectDrawSurface3Vtbl  Vtbl3;
 | 
|---|
| 49 |   IDirectDrawSurface4Vtbl  Vtbl; // With Dx6 CreateSurface creates per default one with Interface 4 !
 | 
|---|
| 50 | 
 | 
|---|
| 51 |   OS2IDirectDrawSurface( OS2IDirectDraw *lpDirectDraw,
 | 
|---|
| 52 |                          LPDDSURFACEDESC2 lpDDSurfaceDesc,
 | 
|---|
| 53 |                          BOOL Implicit = FALSE,    // Indicates that this surface was created  as result of a complex surface
 | 
|---|
| 54 |                          BOOL Mainchain = FALSE);  // Indicates if an implicit surface belongs to the primary surface
 | 
|---|
| 55 |   ~OS2IDirectDrawSurface();
 | 
|---|
| 56 |           int           Referenced;
 | 
|---|
| 57 |   inline  HRESULT       GetLastError() { return lastError; };
 | 
|---|
| 58 |   inline  int           GetDiveBufNr() { return diveBufNr; };
 | 
|---|
| 59 |   inline  BOOL          IsImplicitSurface() {return ImplicitSurface; };
 | 
|---|
| 60 |   inline  OS2IDirectDrawSurface* GetFrontBuffer(){ return FrontBuffer;};
 | 
|---|
| 61 |   inline  void          SetFrontBuffer( OS2IDirectDrawSurface* NewFBuffer);
 | 
|---|
| 62 |           void          ColorConversion(LPRECT lpRect);
 | 
|---|
| 63 | 
 | 
|---|
| 64 |  private:
 | 
|---|
| 65 |         HRESULT         DoColorFill(LPRECT, DWORD);
 | 
|---|
| 66 |         void (__cdecl *BltSolid)( char *pDBDst,
 | 
|---|
| 67 |                                 char *pFBDst,
 | 
|---|
| 68 |                                 DWORD dwDstTop,
 | 
|---|
| 69 |                                 DWORD dwDstLeft,
 | 
|---|
| 70 |                                 DWORD dwPitchDBDst,
 | 
|---|
| 71 |                                 DWORD dwPitchFBDst,
 | 
|---|
| 72 |                                 char *pDBSrc,
 | 
|---|
| 73 |                                 char *pFBSrc,
 | 
|---|
| 74 |                                 DWORD dwSrcTop,
 | 
|---|
| 75 |                                 DWORD dwSrcLeft,
 | 
|---|
| 76 |                                 DWORD dwWidth,
 | 
|---|
| 77 |                                 DWORD dwHeight,
 | 
|---|
| 78 |                                 DWORD dwPitchDBSrc,
 | 
|---|
| 79 |                                 DWORD dwPitchFBSrc
 | 
|---|
| 80 |                                );
 | 
|---|
| 81 |         void (__cdecl *ColorConv)( char *pDB,
 | 
|---|
| 82 |                                    char *pFB,
 | 
|---|
| 83 |                                    DWORD dwTop,
 | 
|---|
| 84 |                                    DWORD dwLeft,
 | 
|---|
| 85 |                                    DWORD dwWidth,
 | 
|---|
| 86 |                                    DWORD dwHeight,
 | 
|---|
| 87 |                                    DWORD dwPitchDB,
 | 
|---|
| 88 |                                    DWORD dwPitchFB,
 | 
|---|
| 89 |                                    VOID  *pPalette
 | 
|---|
| 90 |                                    );
 | 
|---|
| 91 |         void (__cdecl *ColorFill)( char *pDBDst,
 | 
|---|
| 92 |                                    char *pFBDst,
 | 
|---|
| 93 |                                    DWORD dwDstTop,
 | 
|---|
| 94 |                                    DWORD dwDstLeft,
 | 
|---|
| 95 |                                    DWORD dwWidth,
 | 
|---|
| 96 |                                    DWORD dwHeight,
 | 
|---|
| 97 |                                    DWORD dwPitchDBDst,
 | 
|---|
| 98 |                                    DWORD dwPitchFBDst,
 | 
|---|
| 99 |                                    DWORD dwColor,
 | 
|---|
| 100 |                                    VOID  *pPalette
 | 
|---|
| 101 |                                  );
 | 
|---|
| 102 |  protected:
 | 
|---|
| 103 |         HRESULT                lastError;
 | 
|---|
| 104 |         HDIVE                  hDive;
 | 
|---|
| 105 |         HDIVE                  hDiveCC; // Color conversion DIVE Handle
 | 
|---|
| 106 |         ULONG                  height, width;
 | 
|---|
| 107 |         ULONG                  screenHeight, screenWidth;
 | 
|---|
| 108 |         ULONG                  surfaceType;
 | 
|---|
| 109 |         ULONG                  diveBufNr;
 | 
|---|
| 110 |         OS2IDirectDraw        *lpDraw;
 | 
|---|
| 111 |         OS2IDirectDrawClipper *lpClipper;
 | 
|---|
| 112 |         OS2IDirectDrawPalette *lpPalette;
 | 
|---|
| 113 |         DDSURFACEDESC2         DDSurfaceDesc;
 | 
|---|
| 114 |         BOOL                   fLocked;
 | 
|---|
| 115 |         HDC                    hdcImage;
 | 
|---|
| 116 |         HBITMAP                hbmImage;
 | 
|---|
| 117 |         HGDIOBJ                hgdiOld;
 | 
|---|
| 118 |         DWORD                  dwLastDCUnique;
 | 
|---|
| 119 |         // The real pointers hold the allocated memory (for the free)
 | 
|---|
| 120 |         // The other an pointer addjusted to QWORDs which we use and report
 | 
|---|
| 121 |         char                  *pFrameBuffer, *pFBreal;
 | 
|---|
| 122 |         char                  *pDiveBuffer, *pDBreal;
 | 
|---|
| 123 |         DWORD                 *pTransBufferSrc;
 | 
|---|
| 124 |         DWORD                 *pTransBufferDest;
 | 
|---|
| 125 |         DWORD                  dwPitchFB;
 | 
|---|
| 126 |         DWORD                  dwPitchDB;
 | 
|---|
| 127 |         DWORD                  dwBytesPPDive;
 | 
|---|
| 128 |         BOOL                   Updated;
 | 
|---|
| 129 |         BOOL                   ImplicitSurface;
 | 
|---|
| 130 | 
 | 
|---|
| 131 |              // DDraw internal vars
 | 
|---|
| 132 | 
 | 
|---|
| 133 |         DWORD                  dwUniqueValue;
 | 
|---|
| 134 |         HDPA DPA_SurfacePrivateData;
 | 
|---|
| 135 | 
 | 
|---|
| 136 |         BOOL                   fOverlayValid;
 | 
|---|
| 137 |         LONG                   lOverlayX;
 | 
|---|
| 138 |         LONG                   lOverlayY;
 | 
|---|
| 139 | 
 | 
|---|
| 140 |         // surface management
 | 
|---|
| 141 | 
 | 
|---|
| 142 |         OS2IDirectDrawSurface*  BackBuffer;  // Backbuffer goes in here
 | 
|---|
| 143 |         OS2IDirectDrawSurface*  FrontBuffer; // NULL if the real frontbuffer of a Flipchain otherwise  the prev. Backbuffer
 | 
|---|
| 144 |         OS2IDirectDrawSurface*  NextFlip;    // Only valid in a frontbuffer
 | 
|---|
| 145 | 
 | 
|---|
| 146 |         HDPA DPA_SurfaceMipMaps;
 | 
|---|
| 147 |         HDPA DPA_SurfaceAttached;
 | 
|---|
| 148 |         HDPA DPA_LockedRects;
 | 
|---|
| 149 | 
 | 
|---|
| 150 |     friend    HRESULT __stdcall SurfQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
 | 
|---|
| 151 |     friend    ULONG   __stdcall SurfAddRef(THIS);
 | 
|---|
| 152 |     friend    ULONG   __stdcall SurfRelease(THIS);
 | 
|---|
| 153 |     friend    HRESULT __stdcall SurfAddAttachedSurface(THIS, LPDIRECTDRAWSURFACE2);
 | 
|---|
| 154 |     friend    HRESULT __stdcall SurfAddAttachedSurface3(THIS, LPDIRECTDRAWSURFACE3);
 | 
|---|
| 155 |     friend    HRESULT __stdcall SurfAddAttachedSurface4(THIS, LPDIRECTDRAWSURFACE4);
 | 
|---|
| 156 |     friend    HRESULT __stdcall SurfAddOverlayDirtyRect(THIS, LPRECT);
 | 
|---|
| 157 |     friend    HRESULT __stdcall SurfBlt(THIS, LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 158 |     friend    HRESULT __stdcall SurfBlt3(THIS, LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 159 |     friend    HRESULT __stdcall SurfBlt4(THIS, LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 160 |     friend    HRESULT __stdcall SurfBltBatch(THIS, LPDDBLTBATCH, DWORD, DWORD );
 | 
|---|
| 161 |     friend    HRESULT __stdcall SurfBltFast(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD);
 | 
|---|
| 162 |     friend    HRESULT __stdcall SurfBltFast3(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD);
 | 
|---|
| 163 |     friend    HRESULT __stdcall SurfBltFast4(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD);
 | 
|---|
| 164 |     friend    HRESULT __stdcall SurfDeleteAttachedSurface(THIS, DWORD,LPDIRECTDRAWSURFACE2);
 | 
|---|
| 165 |     friend    HRESULT __stdcall SurfDeleteAttachedSurface3(THIS, DWORD,LPDIRECTDRAWSURFACE3);
 | 
|---|
| 166 |     friend    HRESULT __stdcall SurfDeleteAttachedSurface4(THIS, DWORD,LPDIRECTDRAWSURFACE4);
 | 
|---|
| 167 |     friend    HRESULT __stdcall SurfEnumAttachedSurfaces(THIS, LPVOID,LPDDENUMSURFACESCALLBACK);
 | 
|---|
| 168 |     friend    HRESULT __stdcall SurfEnumAttachedSurfaces4(THIS, LPVOID,LPDDENUMSURFACESCALLBACK2);
 | 
|---|
| 169 |     friend    HRESULT __stdcall SurfEnumOverlayZOrders(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK);
 | 
|---|
| 170 |     friend    HRESULT __stdcall SurfEnumOverlayZOrders4(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2);
 | 
|---|
| 171 |     friend    HRESULT __stdcall SurfFlip(THIS, LPDIRECTDRAWSURFACE2 , DWORD);
 | 
|---|
| 172 |     friend    HRESULT __stdcall SurfFlip3(THIS, LPDIRECTDRAWSURFACE3 , DWORD);
 | 
|---|
| 173 |     friend    HRESULT __stdcall SurfFlip4(THIS, LPDIRECTDRAWSURFACE4 , DWORD);
 | 
|---|
| 174 |     friend    HRESULT __stdcall SurfGetAttachedSurface(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *);
 | 
|---|
| 175 |     friend    HRESULT __stdcall SurfGetAttachedSurface3(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *);
 | 
|---|
| 176 |     friend    HRESULT __stdcall SurfGetAttachedSurface4(THIS, LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *);
 | 
|---|
| 177 |     friend    HRESULT __stdcall SurfGetBltStatus(THIS, DWORD);
 | 
|---|
| 178 |     friend    HRESULT __stdcall SurfGetCaps(THIS, LPDDSCAPS);
 | 
|---|
| 179 |     friend    HRESULT __stdcall SurfGetCaps4(THIS, LPDDSCAPS2);
 | 
|---|
| 180 |     friend    HRESULT __stdcall SurfGetClipper(THIS, LPDIRECTDRAWCLIPPER FAR*);
 | 
|---|
| 181 |     friend    HRESULT __stdcall SurfGetColorKey(THIS, DWORD, LPDDCOLORKEY);
 | 
|---|
| 182 |     friend    HRESULT __stdcall SurfGetDC(THIS, HDC FAR *);
 | 
|---|
| 183 |     friend    HRESULT __stdcall SurfGetFlipStatus(THIS, DWORD);
 | 
|---|
| 184 |     friend    HRESULT __stdcall SurfGetOverlayPosition(THIS, LPLONG, LPLONG );
 | 
|---|
| 185 |     friend    HRESULT __stdcall SurfGetPalette(THIS, LPDIRECTDRAWPALETTE FAR*);
 | 
|---|
| 186 |     friend    HRESULT __stdcall SurfGetPixelFormat(THIS, LPDDPIXELFORMAT);
 | 
|---|
| 187 |     friend    HRESULT __stdcall SurfGetSurfaceDesc(THIS, LPDDSURFACEDESC);
 | 
|---|
| 188 |     friend    HRESULT __stdcall SurfGetSurfaceDesc4(THIS, LPDDSURFACEDESC2);
 | 
|---|
| 189 |     friend    HRESULT __stdcall SurfInitialize(THIS, LPDIRECTDRAW, LPDDSURFACEDESC);
 | 
|---|
| 190 |     friend    HRESULT __stdcall SurfInitialize4(THIS, LPDIRECTDRAW, LPDDSURFACEDESC2);
 | 
|---|
| 191 |     friend    HRESULT __stdcall SurfIsLost(THIS);
 | 
|---|
| 192 |     friend    HRESULT __stdcall SurfLock(THIS, LPRECT,LPDDSURFACEDESC,DWORD,HANDLE);
 | 
|---|
| 193 |     friend    HRESULT __stdcall SurfLock4(THIS, LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE);
 | 
|---|
| 194 |     friend    HRESULT __stdcall SurfReleaseDC(THIS, HDC);
 | 
|---|
| 195 |     friend    HRESULT __stdcall SurfRestore(THIS);
 | 
|---|
| 196 |     friend    HRESULT __stdcall SurfSetClipper(THIS, LPDIRECTDRAWCLIPPER);
 | 
|---|
| 197 |     friend    HRESULT __stdcall SurfSetColorKey(THIS, DWORD, LPDDCOLORKEY);
 | 
|---|
| 198 |     friend    HRESULT __stdcall SurfSetOverlayPosition(THIS, LONG, LONG );
 | 
|---|
| 199 |     friend    HRESULT __stdcall SurfSetPalette(THIS, LPDIRECTDRAWPALETTE);
 | 
|---|
| 200 |     friend    HRESULT __stdcall SurfUnlock(THIS, LPVOID);
 | 
|---|
| 201 |     friend    HRESULT __stdcall SurfUnlock4(THIS, LPRECT);
 | 
|---|
| 202 |     friend    HRESULT __stdcall SurfUpdateOverlay(THIS, LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 203 |     friend    HRESULT __stdcall SurfUpdateOverlay3(THIS, LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 204 |     friend    HRESULT __stdcall SurfUpdateOverlay4(THIS, LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 205 |     friend    HRESULT __stdcall SurfUpdateOverlayDisplay(THIS, DWORD);
 | 
|---|
| 206 |     friend    HRESULT __stdcall SurfUpdateOverlayZOrder(THIS, DWORD, LPDIRECTDRAWSURFACE2);
 | 
|---|
| 207 |     friend    HRESULT __stdcall SurfUpdateOverlayZOrder3(THIS, DWORD, LPDIRECTDRAWSURFACE3);
 | 
|---|
| 208 |     friend    HRESULT __stdcall SurfUpdateOverlayZOrder4(THIS, DWORD, LPDIRECTDRAWSURFACE4);
 | 
|---|
| 209 |     // Added in V2 interface
 | 
|---|
| 210 |     friend    HRESULT __stdcall SurfGetDDInterface(THIS, LPVOID FAR *);
 | 
|---|
| 211 |     friend    HRESULT __stdcall SurfPageLock(THIS, DWORD);
 | 
|---|
| 212 |     friend    HRESULT __stdcall SurfPageUnlock(THIS, DWORD);
 | 
|---|
| 213 |     // Added in V3 interface
 | 
|---|
| 214 |     friend    HRESULT __stdcall SurfSetSurfaceDesc(THIS, LPDDSURFACEDESC, DWORD);
 | 
|---|
| 215 |     friend    HRESULT __stdcall SurfSetSurfaceDesc4(THIS, LPDDSURFACEDESC2, DWORD);
 | 
|---|
| 216 |     // Added in V4 interface
 | 
|---|
| 217 |     friend    HRESULT __stdcall SurfSetPrivateData(THIS, REFGUID, LPVOID, DWORD, DWORD);
 | 
|---|
| 218 |     friend    HRESULT __stdcall SurfGetPrivateData(THIS, REFGUID, LPVOID, LPDWORD);
 | 
|---|
| 219 |     friend    HRESULT __stdcall SurfFreePrivateData(THIS, REFGUID);
 | 
|---|
| 220 |     friend    HRESULT __stdcall SurfGetUniquenessValue(THIS, LPDWORD);
 | 
|---|
| 221 |     friend    HRESULT __stdcall SurfChangeUniquenessValue(THIS);
 | 
|---|
| 222 | };
 | 
|---|
| 223 | 
 | 
|---|
| 224 | 
 | 
|---|
| 225 | HRESULT __stdcall SurfQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
 | 
|---|
| 226 | ULONG   __stdcall SurfAddRef(THIS);
 | 
|---|
| 227 | ULONG   __stdcall SurfRelease(THIS);
 | 
|---|
| 228 | HRESULT __stdcall SurfAddAttachedSurface(THIS, LPDIRECTDRAWSURFACE2);
 | 
|---|
| 229 | HRESULT __stdcall SurfAddAttachedSurface3(THIS, LPDIRECTDRAWSURFACE3);
 | 
|---|
| 230 | HRESULT __stdcall SurfAddAttachedSurface4(THIS, LPDIRECTDRAWSURFACE4);
 | 
|---|
| 231 | HRESULT __stdcall SurfAddOverlayDirtyRect(THIS, LPRECT);
 | 
|---|
| 232 | HRESULT __stdcall SurfBlt(THIS, LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 233 | HRESULT __stdcall SurfBlt3(THIS, LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 234 | HRESULT __stdcall SurfBlt4(THIS, LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX);
 | 
|---|
| 235 | HRESULT __stdcall SurfBltBatch(THIS, LPDDBLTBATCH, DWORD, DWORD );
 | 
|---|
| 236 | HRESULT __stdcall SurfBltFast(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD);
 | 
|---|
| 237 | HRESULT __stdcall SurfBltFast3(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD);
 | 
|---|
| 238 | HRESULT __stdcall SurfBltFast4(THIS, DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD);
 | 
|---|
| 239 | HRESULT __stdcall SurfDeleteAttachedSurface(THIS, DWORD,LPDIRECTDRAWSURFACE2);
 | 
|---|
| 240 | HRESULT __stdcall SurfDeleteAttachedSurface3(THIS, DWORD,LPDIRECTDRAWSURFACE3);
 | 
|---|
| 241 | HRESULT __stdcall SurfDeleteAttachedSurface4(THIS, DWORD,LPDIRECTDRAWSURFACE4);
 | 
|---|
| 242 | HRESULT __stdcall SurfEnumAttachedSurfaces(THIS, LPVOID,LPDDENUMSURFACESCALLBACK);
 | 
|---|
| 243 | HRESULT __stdcall SurfEnumAttachedSurfaces4(THIS, LPVOID,LPDDENUMSURFACESCALLBACK2);
 | 
|---|
| 244 | HRESULT __stdcall SurfEnumOverlayZOrders(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK);
 | 
|---|
| 245 | HRESULT __stdcall SurfEnumOverlayZOrders4(THIS, DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2);
 | 
|---|
| 246 | HRESULT __stdcall SurfFlip(THIS, LPDIRECTDRAWSURFACE2 , DWORD);
 | 
|---|
| 247 | HRESULT __stdcall SurfFlip3(THIS, LPDIRECTDRAWSURFACE3 , DWORD);
 | 
|---|
| 248 | HRESULT __stdcall SurfFlip4(THIS, LPDIRECTDRAWSURFACE4 , DWORD);
 | 
|---|
| 249 | HRESULT __stdcall SurfGetAttachedSurface(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *);
 | 
|---|
| 250 | HRESULT __stdcall SurfGetAttachedSurface3(THIS, LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *);
 | 
|---|
| 251 | HRESULT __stdcall SurfGetAttachedSurface4(THIS, LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *);
 | 
|---|
| 252 | HRESULT __stdcall SurfGetBltStatus(THIS, DWORD);
 | 
|---|
| 253 | HRESULT __stdcall SurfGetCaps4(THIS, LPDDSCAPS2);
 | 
|---|
| 254 | HRESULT __stdcall SurfGetCaps(THIS, LPDDSCAPS);
 | 
|---|
| 255 | HRESULT __stdcall SurfGetClipper(THIS, LPDIRECTDRAWCLIPPER FAR*);
 | 
|---|
| 256 | HRESULT __stdcall SurfGetColorKey(THIS, DWORD, LPDDCOLORKEY);
 | 
|---|
| 257 | HRESULT __stdcall SurfGetDC(THIS, HDC FAR *);
 | 
|---|
| 258 | HRESULT __stdcall SurfGetFlipStatus(THIS, DWORD);
 | 
|---|
| 259 | HRESULT __stdcall SurfGetOverlayPosition(THIS, LPLONG, LPLONG );
 | 
|---|
| 260 | HRESULT __stdcall SurfGetPalette(THIS, LPDIRECTDRAWPALETTE FAR*);
 | 
|---|
| 261 | HRESULT __stdcall SurfGetPixelFormat(THIS, LPDDPIXELFORMAT);
 | 
|---|
| 262 | HRESULT __stdcall SurfGetSurfaceDesc(THIS, LPDDSURFACEDESC);
 | 
|---|
| 263 | HRESULT __stdcall SurfGetSurfaceDesc4(THIS, LPDDSURFACEDESC2);
 | 
|---|
| 264 | HRESULT __stdcall SurfInitialize(THIS, LPDIRECTDRAW, LPDDSURFACEDESC);
 | 
|---|
| 265 | HRESULT __stdcall SurfInitialize4(THIS, LPDIRECTDRAW, LPDDSURFACEDESC2);
 | 
|---|
| 266 | HRESULT __stdcall SurfIsLost(THIS);
 | 
|---|
| 267 | HRESULT __stdcall SurfLock(THIS, LPRECT,LPDDSURFACEDESC,DWORD,HANDLE);
 | 
|---|
| 268 | HRESULT __stdcall SurfLock4(THIS, LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE);
 | 
|---|
| 269 | HRESULT __stdcall SurfReleaseDC(THIS, HDC);
 | 
|---|
| 270 | HRESULT __stdcall SurfRestore(THIS);
 | 
|---|
| 271 | HRESULT __stdcall SurfSetClipper(THIS, LPDIRECTDRAWCLIPPER);
 | 
|---|
| 272 | HRESULT __stdcall SurfSetColorKey(THIS, DWORD, LPDDCOLORKEY);
 | 
|---|
| 273 | HRESULT __stdcall SurfSetOverlayPosition(THIS, LONG, LONG );
 | 
|---|
| 274 | HRESULT __stdcall SurfSetPalette(THIS, LPDIRECTDRAWPALETTE);
 | 
|---|
| 275 | HRESULT __stdcall SurfUnlock(THIS, LPVOID);
 | 
|---|
| 276 | HRESULT __stdcall SurfUnlock4(THIS, LPRECT);
 | 
|---|
| 277 | HRESULT __stdcall SurfUpdateOverlay(THIS, LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 278 | HRESULT __stdcall SurfUpdateOverlay3(THIS, LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 279 | HRESULT __stdcall SurfUpdateOverlay4(THIS, LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX);
 | 
|---|
| 280 | HRESULT __stdcall SurfUpdateOverlayDisplay(THIS, DWORD);
 | 
|---|
| 281 | HRESULT __stdcall SurfUpdateOverlayZOrder(THIS, DWORD, LPDIRECTDRAWSURFACE2);
 | 
|---|
| 282 | HRESULT __stdcall SurfUpdateOverlayZOrder3(THIS, DWORD, LPDIRECTDRAWSURFACE3);
 | 
|---|
| 283 | HRESULT __stdcall SurfUpdateOverlayZOrder4(THIS, DWORD, LPDIRECTDRAWSURFACE4);
 | 
|---|
| 284 | HRESULT __stdcall SurfGetDDInterface(THIS, LPVOID FAR *);
 | 
|---|
| 285 | HRESULT __stdcall SurfPageLock(THIS, DWORD);
 | 
|---|
| 286 | HRESULT __stdcall SurfPageUnlock(THIS, DWORD);
 | 
|---|
| 287 | HRESULT __stdcall SurfSetSurfaceDesc(THIS, LPDDSURFACEDESC, DWORD);
 | 
|---|
| 288 | HRESULT __stdcall SurfSetSurfaceDesc4(THIS, LPDDSURFACEDESC2, DWORD);
 | 
|---|
| 289 | HRESULT __stdcall SurfSetPrivateData(THIS, REFGUID, LPVOID, DWORD, DWORD);
 | 
|---|
| 290 | HRESULT __stdcall SurfGetPrivateData(THIS, REFGUID, LPVOID, LPDWORD);
 | 
|---|
| 291 | HRESULT __stdcall SurfFreePrivateData(THIS, REFGUID);
 | 
|---|
| 292 | HRESULT __stdcall SurfGetUniquenessValue(THIS, LPDWORD);
 | 
|---|
| 293 | HRESULT __stdcall SurfChangeUniquenessValue(THIS);
 | 
|---|
| 294 | 
 | 
|---|
| 295 | void __cdecl MoveRects(char* pBuffer, LPRECT lpDestRect, LPRECT lpSrcRect, int bbp, LONG lPitch);
 | 
|---|
| 296 | void __cdecl TransSRCBlit8(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc,  char *pAlpha, LPRECT lpSrcRect);
 | 
|---|
| 297 | void __cdecl TransSRCBlit16(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc,  char *pAlpha, LPRECT lpSrcRect);
 | 
|---|
| 298 | void __cdecl TransSRCBlit24(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc,  char *pAlpha, LPRECT lpSrcRect);
 | 
|---|
| 299 | void __cdecl TransSRCBlit32(LPDDSURFACEDESC2 pDestDesc, LPDDSURFACEDESC2 pSrcDesc,  char *pAlpha, LPRECT lpSrcRect);
 | 
|---|
| 300 | 
 | 
|---|
| 301 | 
 | 
|---|
| 302 | #endif
 | 
|---|