71 LPSTR lpCmdLine,
int nCmdShow)
97 DdQueryDirectDrawObject = (
BOOL (
APIENTRY*)(
LPDDRAWI_DIRECTDRAW_GBL,
LPDDHALINFO,
LPDDHAL_DDCALLBACKS,
LPDDHAL_DDSURFACECALLBACKS,
LPDDHAL_DDPALETTECALLBACKS,
LPD3DHAL_CALLBACKS,
LPD3DHAL_GLOBALDRIVERDATA,
LPDDHAL_DDEXEBUFCALLBACKS,
LPDDSURFACEDESC,
LPDWORD,
LPVIDMEM))
GetProcAddress(lib,
"GdiEntry2");
101 printf(
"This apps showing how to start up directx draw/d3d interface and some other as well\n");
102 printf(
"This code have been releae to some close applactons with my premtions, if any company\n");
103 printf(
"want use part or whole code, you need contact the orginal author to ask for premtions\n");
104 printf(
"This code are release under alot of diffent licen\n");
105 printf(
"All GPL and LGPL project have right use and studing this code.\n");
106 printf(
"This code maybe need more comment to known how stuff working and maybe looking bit mesy\n");
107 printf(
"Bestreagds Magnus Olsen magnus@greatlord.com or greatlord@reactos.org\n");
108 printf(
"Copyright 2006 by Magnus Olsen\n\n");
109 printf(
"This demo showing how to start dx draw hal and create a primary surface,\n");
110 printf(
"and a overlay sufrace and blt to the primary surface\n");
123 printf(
"Fail to alloc mpModeInfos\n");
143 printf(
"Fail to create HDC\n");
155 printf(
"Fail to Create Compatible Bitmap\n");
168 printf(
"Fail to Alloc pbmiData\n");
205 printf(
"Fail to Create Direct DrawObject\n");
269 printf(
"Fail to QueryDirect Draw Object frist pass\n");
295 printf(
"Fail QueryDirect Draw Object to Alloc mpTextures \n");
323 printf(
"Fail to QueryDirect Draw Object second pass\n");
380 printf(
"Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED\n");
417 mDdCreateSurface.
dwSCnt = 1 ;
421 printf(
"Fail to mDdCreateSurface DDHAL_DRIVER_NOTHANDLED \n");
429 return mDdCreateSurface.
ddRVal;
486 printf(
"Fail to mDdCanCreateSurface DDHAL_DRIVER_NOTHANDLED \n");
508 for (
i = 0;
i < cSurfaces;
i++)
530 for (
i = 0;
i < cSurfaces;
i++)
532 j = (
i + 1) % cSurfaces;
544 printf(
"Fail to DdAttachSurface (%d:%d)\n",
i,
j);
556 mDdCreateSurface.
dwSCnt = 1 ;
560 printf(
"Fail to mDdCreateSurface = DDHAL_DRIVER_HANDLED\n");
568 return mDdCreateSurface.
ddRVal;
599 printf(
"Fail to mDdBlt = DDHAL_DRIVER_HANDLED\n");
607 return mDdUpdateOverlay.
ddRVal;
642 printf(
"Fail to mDdBlt = DDHAL_DRIVER_HANDLED\n");
657 printf(
"Fail to mDdUpdateOverlay = DDERR_NOTINITIALIZED\n");
DWORD dwNumTextureFormats
DDHALMODEINFO * mpModeInfos
LPDDSURFACEDESC lpDDSurfaceDesc
DDSURFACEDESC * mpTextures
D3DHAL_GLOBALDRIVERDATA mD3dDriverData
BITMAPINFOHEADER bmiHeader
#define DDERR_UNSUPPORTED
LPDDRAWI_DDRAWSURFACE_MORE lpSurfMore
HDC WINAPI GetDC(_In_opt_ HWND)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
LPDDRAWI_DDRAWSURFACE_LCL lpDDSrcSurface
LPDDRAWI_DIRECTDRAW_GBL lp16DD
DDRAWI_DDRAWSURFACE_GBL mPrimaryGlobal
D3DHAL_GLOBALDRIVERDATA * LPD3DHAL_GLOBALDRIVERDATA
_In_ HBITMAP _In_ UINT _In_ UINT _Inout_ LPBITMAPINFO pbmi
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
#define DDHAL_DRIVER_NOTHANDLED
#define DDRAWISURF_HASPIXELFORMAT
DDRAWI_DDRAWSURFACE_MORE mPrimaryMore
DDRAWI_DDRAWSURFACE_LCL mOverlayLocal[6]
DDRAWI_DDRAWSURFACE_GBL mOverlayGlobal
#define DDERR_NOTINITIALIZED
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
LPDDRAWI_DDRAWCLIPPER_LCL lpDDClipper
struct _DDHALMODEINFO DDHALMODEINFO
LPDDRAWI_DIRECTDRAW_GBL lpDD
struct _VIDMEM * LPVIDMEM
#define DDRAWISURF_FRONTBUFFER
struct _DD_MISCELLANEOUSCALLBACKS DD_MISCELLANEOUSCALLBACKS
DDRAWI_DDRAWSURFACE_LCL * mpOverlayLocals[6]
struct _DDPIXELFORMAT DDPIXELFORMAT
#define ENUM_CURRENT_SETTINGS
#define DDRAWICLIP_ISINITIALIZED
DDRAWI_DDRAWSURFACE_LCL mPrimaryLocal
LPDDHALSURFCB_UPDATEOVERLAY UpdateOverlay
struct _DD_GETDRIVERINFODATA DD_GETDRIVERINFODATA
#define DDHAL_DRIVER_HANDLED
DDHAL_DDPALETTECALLBACKS HALDDPalette
#define DDSD_BACKBUFFERCOUNT
LPDDHAL_CANCREATESURFACE CanCreateSurface
LPDDRAWI_DIRECTDRAW_GBL lpGbl
struct _DDRAWI_DDRAWSURFACE_MORE DDRAWI_DDRAWSURFACE_MORE
LPDDRAWI_DIRECTDRAW_GBL lpDD
#define DDRAWISURFGBL_ISGDISURFACE
DDHAL_DDEXEBUFCALLBACKS mD3dBufferCallbacks
struct _DDHAL_DDPALETTECALLBACKS * LPDDHAL_DDPALETTECALLBACKS
DDHAL_CALLBACKS mCallbacks
HWND WINAPI GetDesktopWindow(void)
LPDDRAWI_DDRAWCLIPPER_GBL lpGbl
DDRAWI_DDRAWCLIPPER_GBL mPrimaryClipperGlobal
DDRAWI_DIRECTDRAW_LCL mDDrawLocal
#define DDSCAPS_VIDEOMEMORY
static const WCHAR dwHeight[]
PVOID GetAvailDriverMemory
LPDDRAWI_DDRAWSURFACE_LCL lpDDDestSurface
DDRAWI_DDRAWCLIPPER_LCL mPrimaryClipperLocal
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
LPDDHALMODEINFO lpModeInfo
struct _DDRAWI_DDRAWSURFACE_LCL FAR * LPDDRAWI_DDRAWSURFACE_LCL
LPDDHAL_DDCALLBACKS lpDDCallbacks
struct _DD_GETDRIVERINFODATA * PDD_GETDRIVERINFODATA
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define DdQueryDirectDrawObject
LPDDRAWI_DDRAWSURFACE_LCL lpDDSrcSurface
LPDDRAWI_DDRAWSURFACE_LCL * lplpSList
#define DDRAWISURF_ATTACHED_FROM
static BOOL(WINAPI *pSnmpExtensionInit)(DWORD
LPDDHAL_CREATESURFACE CreateSurface
#define DDRAWISURF_IMPLICITCREATE
struct _DDHAL_DDSURFACECALLBACKS * LPDDHAL_DDSURFACECALLBACKS
struct _DDHAL_DDCALLBACKS * LPDDHAL_DDCALLBACKS
D3DHAL_CALLBACKS * LPD3DHAL_CALLBACKS
#define DDSCAPS_LOCALVIDMEM
#define DDRAWISURF_HASOVERLAYDATA
#define memcpy(s1, s2, n)
LPDDRAWI_DDRAWSURFACE_LCL lpDDDestSurface
DDSURFACEDESC mddsdPrimary
LPDDHAL_CANCREATESURFACE CanCreateSurface
LPDDRAWI_DIRECTDRAW_GBL lpDD
LPDDRAWI_DIRECTDRAW_GBL lpDD
DDRAWI_DDRAWSURFACE_LCL * mpPrimaryLocals[1]
LPDDSURFACEDESC lpDDSurfaceDesc
#define DdCreateDirectDrawObject
LPDDHALMODEINFO lpModeInfo
DDHAL_DDSURFACECALLBACKS HALDDSurface
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _DDRAWI_DIRECTDRAW_GBL FAR * LPDDRAWI_DIRECTDRAW_GBL
BOOL WINAPI DeleteDC(_In_ HDC)
DDRAWI_DDRAWSURFACE_MORE mOverlayMore[6]
#define DDSCAPS_PRIMARYSURFACE
DWORD bIsDifferentPixelFormat
LPDDRAWI_DIRECTDRAW_GBL lpDD
DDPIXELFORMAT ddpfSurface
LPRGNDATA lpStaticClipList
HDC WINAPI CreateDCW(_In_opt_ LPCWSTR pszDriver, _In_opt_ LPCWSTR pszDevice, _In_opt_ LPCWSTR psz, _In_opt_ const DEVMODEW *pdmInit)
LPDDSURFACEDESC lpTextureFormats
int WINAPI GetDIBits(_In_ HDC hdc, _In_ HBITMAP hbm, _In_ UINT start, _In_ UINT cLines, _Out_opt_ LPVOID lpvBits, _At_((LPBITMAPINFOHEADER) lpbmi, _Inout_) LPBITMAPINFO lpbmi, _In_ UINT usage)
LPDDRAWI_DIRECTDRAW_LCL lpExclusiveOwner
DDHAL_DDEXEBUFCALLBACKS HALDDExeBuf
D3DHAL_CALLBACKS mD3dCallbacks
#define GetProcAddress(x, y)
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmdshow)
DDSURFACEDESC mddsdOverlay
LPDDHAL_CALLBACKS lpDDCBtmp
#define DDRAWISURF_BACKBUFFER
DDRAWI_DIRECTDRAW_GBL mDDrawGlobal
const CHAR * DDErrorString(HRESULT hResult)
LPDDRAWI_DIRECTDRAW_GBL lpDD
LPDDRAWI_DDRAWSURFACE_GBL lpGbl
#define DDRAWISURF_ATTACHED
#define HeapFree(x, y, z)
struct _DDHALINFO * LPDDHALINFO
static const WCHAR dwWidth[]
#define DDRAWISURF_PARTOFPRIMARYCHAIN
struct _DDHAL_DDEXEBUFCALLBACKS * LPDDHAL_DDEXEBUFCALLBACKS
DWORD WINAPI GetCurrentProcessId(VOID)
#define DDRAWISURF_IMPLICITROOT
LPDDHALSURFCB_UPDATEOVERLAY UpdateOverlay
LPDDHAL_CREATESURFACE CreateSurface