ReactOS 0.4.16-dev-336-gb667d82
intddraw.h
Go to the documentation of this file.
1#pragma once
2
3#include <ddrawint.h>
4#include <d3dkmthk.h>
5#include <ddkernel.h>
9
10/* From ddraw.c */
12extern DRVFN gpDxFuncs[];
13
26typedef DWORD (APIENTRY *PGD_DDCOLORCONTROL)(HANDLE hSurface,PDD_COLORCONTROLDATA puColorControlData);
34
35
36/* From d3d.c */
47
48/* From dvp.c */
66
67/* From mocomp.c */
78
79/* From dd.c */
82typedef DWORD (APIENTRY *PGD_DDCANCREATESURFACE)(HANDLE hDirectDrawLocal, PDD_CANCREATESURFACEDATA puCanCreateSurfaceData);
85
86/* From ddsurf.c */
101
102/* From eng.c */
109
110/* Other internal functions */
114
115/* Gammaramp internal prototype */
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
struct _D3DNTHAL_GLOBALDRIVERDATA * LPD3DNTHAL_GLOBALDRIVERDATA
struct _D3DNTHAL_CONTEXTDESTROYDATA * LPD3DNTHAL_CONTEXTDESTROYDATA
struct _D3DNTHAL_CONTEXTCREATEDATA * LPD3DNTHAL_CONTEXTCREATEDATA
struct _D3DNTHAL_CALLBACKS * LPD3DNTHAL_CALLBACKS
struct _D3DNTHAL_CONTEXTDESTROYALLDATA * LPD3DNTHAL_CONTEXTDESTROYALLDATA
struct _D3DNTHAL_DRAWPRIMITIVES2DATA * LPD3DNTHAL_DRAWPRIMITIVES2DATA
struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA * LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
struct _DD_VPORTCOLORDATA * PDD_VPORTCOLORDATA
struct _DD_GETVPORTSIGNALDATA * PDD_GETVPORTSIGNALDATA
struct _DD_SETCOLORKEYDATA * PDD_SETCOLORKEYDATA
struct _DD_UPDATEOVERLAYDATA * PDD_UPDATEOVERLAYDATA
struct _DD_GETMOCOMPFORMATSDATA * PDD_GETMOCOMPFORMATSDATA
struct _DD_BLTDATA * PDD_BLTDATA
struct _DD_CANCREATESURFACEDATA * PDD_CANCREATESURFACEDATA
struct _DD_ENDMOCOMPFRAMEDATA * PDD_ENDMOCOMPFRAMEDATA
struct _DD_DESTROYVPORTDATA * PDD_DESTROYVPORTDATA
struct _DD_GETVPORTOUTPUTFORMATDATA * PDD_GETVPORTOUTPUTFORMATDATA
struct _DD_GETVPORTINPUTFORMATDATA * PDD_GETVPORTINPUTFORMATDATA
struct _DD_SETOVERLAYPOSITIONDATA * PDD_SETOVERLAYPOSITIONDATA
struct _DD_WAITFORVPORTSYNCDATA * PDD_WAITFORVPORTSYNCDATA
struct _DD_GETMOCOMPCOMPBUFFDATA * PDD_GETMOCOMPCOMPBUFFDATA
struct _DD_SURFACE_GLOBAL * PDD_SURFACE_GLOBAL
struct _DD_SETEXCLUSIVEMODEDATA * PDD_SETEXCLUSIVEMODEDATA
struct _DD_CREATESURFACEDATA * PDD_CREATESURFACEDATA
struct _DD_GETVPORTBANDWIDTHDATA * PDD_GETVPORTBANDWIDTHDATA
struct _DD_D3DBUFCALLBACKS * PDD_D3DBUFCALLBACKS
struct _DD_RENDERMOCOMPDATA * PDD_RENDERMOCOMPDATA
struct _DD_FLIPDATA * PDD_FLIPDATA
struct _DD_GETFLIPSTATUSDATA * PDD_GETFLIPSTATUSDATA
struct _DD_GETBLTSTATUSDATA * PDD_GETBLTSTATUSDATA
struct _DD_LOCKDATA * PDD_LOCKDATA
struct _DD_ADDATTACHEDSURFACEDATA * PDD_ADDATTACHEDSURFACEDATA
struct _DD_UPDATEVPORTDATA * PDD_UPDATEVPORTDATA
struct _DD_GETVPORTFLIPSTATUSDATA * PDD_GETVPORTFLIPSTATUSDATA
struct _DD_GETINTERNALMOCOMPDATA * PDD_GETINTERNALMOCOMPDATA
struct _DD_WAITFORVERTICALBLANKDATA * PDD_WAITFORVERTICALBLANKDATA
struct _DD_BEGINMOCOMPFRAMEDATA * PDD_BEGINMOCOMPFRAMEDATA
struct _DD_UNLOCKDATA * PDD_UNLOCKDATA
struct _DD_GETVPORTLINEDATA * PDD_GETVPORTLINEDATA
struct _DD_GETVPORTCONNECTDATA * PDD_GETVPORTCONNECTDATA
struct _DD_GETVPORTFIELDDATA * PDD_GETVPORTFIELDDATA
struct _DD_FLIPVPORTDATA * PDD_FLIPVPORTDATA
struct _DD_GETAVAILDRIVERMEMORYDATA * PDD_GETAVAILDRIVERMEMORYDATA
struct _DD_CREATEMOCOMPDATA * PDD_CREATEMOCOMPDATA
struct _DD_GETDRIVERSTATEDATA * PDD_GETDRIVERSTATEDATA
ULONG_PTR FLATPTR
Definition: ddrawint.h:76
struct _DD_CREATEVPORTDATA * PDD_CREATEVPORTDATA
struct _DD_CANCREATEVPORTDATA * PDD_CANCREATEVPORTDATA
struct _DD_GETSCANLINEDATA * PDD_GETSCANLINEDATA
struct _DD_FLIPTOGDISURFACEDATA * PDD_FLIPTOGDISURFACEDATA
struct _DD_SURFACE_LOCAL * PDD_SURFACE_LOCAL
struct _DD_QUERYMOCOMPSTATUSDATA * PDD_QUERYMOCOMPSTATUSDATA
struct _DD_SURFACE_MORE * PDD_SURFACE_MORE
struct _DD_DESTROYMOCOMPDATA * PDD_DESTROYMOCOMPDATA
struct _DD_GETMOCOMPGUIDSDATA * PDD_GETMOCOMPGUIDSDATA
void * LPDDSURFACEDESC
Definition: ddstream.idl:23
#define APIENTRY
Definition: api.h:79
#define NTSTATUS
Definition: precomp.h:19
HANDLE HWND
Definition: compat.h:19
struct _VIDMEM * LPVIDMEM
Definition: dmemmgr.h:33
struct _SURFACEALIGNMENT * LPSURFACEALIGNMENT
struct _VMEMHEAP * LPVMEMHEAP
#define ULONG_PTR
Definition: config.h:101
struct _DDVIDEOPORTNOTIFY * LPDDVIDEOPORTNOTIFY
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTCONNECTINFO)(HANDLE, PDD_GETVPORTCONNECTDATA)
Definition: intddraw.h:59
DWORD(APIENTRY * PGD_DXDVPACQUIRENOTIFICATION)(HANDLE, HANDLE *, LPDDVIDEOPORTNOTIFY)
Definition: intddraw.h:63
DWORD(APIENTRY * PGD_DXDDQUERYMOCOMPSTATUS)(HANDLE, PDD_QUERYMOCOMPSTATUSDATA)
Definition: intddraw.h:76
DWORD(APIENTRY * PGD_DXDDFLIPTOGDISURFACE)(HANDLE, PDD_FLIPTOGDISURFACEDATA)
Definition: intddraw.h:30
DWORD(APIENTRY * PGD_DDBEGINMOCOMPFRAME)(HANDLE, PDD_BEGINMOCOMPFRAMEDATA)
Definition: intddraw.h:68
DWORD(APIENTRY * PGD_DXDDDESTROYMOCOMP)(HANDLE, PDD_DESTROYMOCOMPDATA)
Definition: intddraw.h:70
VOID(APIENTRY * PGD_DXDDSUSPENDDIRECTDRAW)(HDEV, ULONG_PTR)
Definition: intddraw.h:113
BOOL(APIENTRY * PGD_DXDDDELETEDIRECTDRAWOBJECT)(HANDLE)
Definition: intddraw.h:28
DWORD(APIENTRY * PGD_DXDDGETMOCOMPFORMATS)(HANDLE, PDD_GETMOCOMPFORMATSDATA)
Definition: intddraw.h:75
NTSTATUS(APIENTRY * PGD_DXDDCLEANUPDXGRAPHICS)(VOID)
Definition: intddraw.h:23
DWORD(APIENTRY * PGD_DXDDGETBLTSTATUS)(HANDLE, PDD_GETBLTSTATUSDATA)
Definition: intddraw.h:97
BOOL(APIENTRY * PGD_DDRESTVISRGN)(HANDLE, HWND)
Definition: intddraw.h:16
DWORD(APIENTRY * PGD_DXDDRENDERMOCOMP)(HANDLE, PDD_RENDERMOCOMPDATA)
Definition: intddraw.h:77
DWORD(APIENTRY * PGD_DXDDSETOVERLAYPOSITION)(HANDLE, HANDLE, PDD_SETOVERLAYPOSITIONDATA)
Definition: intddraw.h:100
DWORD(APIENTRY * PGD_DXDDGETMOCOMPGUIDS)(HANDLE, PDD_GETMOCOMPGUIDSDATA)
Definition: intddraw.h:74
DWORD(APIENTRY * PGD_DXDDGETMOCOMPBUFFINFO)(HANDLE, PDD_GETMOCOMPCOMPBUFFDATA)
Definition: intddraw.h:73
PDD_SURFACE_LOCAL(APIENTRY * PGD_ENGLOCKDIRECTDRAWSURFACE)(HANDLE)
Definition: intddraw.h:107
DWORD(APIENTRY * PGD_DVPFLIPVIDEOPORT)(HANDLE, HANDLE, HANDLE, PDD_FLIPVPORTDATA)
Definition: intddraw.h:53
DWORD(APIENTRY * PGD_DDCANCREATESURFACE)(HANDLE hDirectDrawLocal, PDD_CANCREATESURFACEDATA puCanCreateSurfaceData)
Definition: intddraw.h:82
DWORD(APIENTRY * PGD_DXDDLOCK)(HANDLE, PDD_LOCKDATA, HDC)
Definition: intddraw.h:92
DWORD(APIENTRY * PGD_DXDDUNATTACHSURFACE)(HANDLE, HANDLE)
Definition: intddraw.h:89
DWORD(APIENTRY * PGD_DDBLT)(HANDLE, HANDLE, PDD_BLTDATA)
Definition: intddraw.h:94
NTSTATUS APIENTRY DxDdStartupDxGraphics(ULONG, PDRVENABLEDATA, ULONG, PDRVENABLEDATA, PULONG, PEPROCESS)
Definition: main.c:34
DWORD(APIENTRY * PGD_DXDDUPDATEOVERLAY)(HANDLE, HANDLE, PDD_UPDATEOVERLAYDATA)
Definition: intddraw.h:99
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTOUTPUTFORMATS)(HANDLE, PDD_GETVPORTOUTPUTFORMATDATA)
Definition: intddraw.h:58
DWORD(APIENTRY * PGD_DDCANCREATED3DBUFFER)(HANDLE, PDD_CANCREATESURFACEDATA)
Definition: intddraw.h:38
VOID(APIENTRY * PGD_DXDDRESUMEDIRECTDRAW)(HDEV, ULONG_PTR)
Definition: intddraw.h:112
DWORD(APIENTRY * PGD_DXDDSETCOLORKEY)(HANDLE, PDD_SETCOLORKEYDATA)
Definition: intddraw.h:95
NTSTATUS(APIENTRY * PGD_DXDDSTARTUPDXGRAPHICS)(ULONG, PDRVENABLEDATA, ULONG, PDRVENABLEDATA, PULONG, PEPROCESS)
Definition: intddraw.h:22
DWORD(APIENTRY * PGD_DVPGETVIDEOPORTBANDWITH)(HANDLE, PDD_GETVPORTBANDWIDTHDATA)
Definition: intddraw.h:54
HANDLE(APIENTRY * PGD_DDGETDXHANDLE)(HANDLE, HANDLE, BOOL)
Definition: intddraw.h:17
DWORD(APIENTRY * PGD_DXDDLOCKD3D)(HANDLE, PDD_LOCKDATA)
Definition: intddraw.h:40
DRVFN gpDxFuncs[]
Definition: ddraw.c:24
DWORD(APIENTRY * PGD_D3DDRAWPRIMITIVES2)(HANDLE, HANDLE, LPD3DNTHAL_DRAWPRIMITIVES2DATA, FLATPTR *, DWORD *, FLATPTR *, DWORD *)
Definition: intddraw.h:42
BOOL(APIENTRY * PGD_DXDDDELETESURFACEOBJECT)(HANDLE)
Definition: intddraw.h:29
BOOL(APIENTRY * PGD_DDATTACHSURFACE)(HANDLE, HANDLE)
Definition: intddraw.h:88
VOID(APIENTRY * PGD_DXDDDYNAMICMODECHANGE)(HDEV, HDEV, ULONG_PTR)
Definition: intddraw.h:111
DWORD(APIENTRY * PGD_DVPCOLORCONTROL)(HANDLE, PDD_VPORTCOLORDATA)
Definition: intddraw.h:50
DWORD(APIENTRY * PGD_DXDDSETEXCLUSIVEMODE)(HANDLE, PDD_SETEXCLUSIVEMODEDATA)
Definition: intddraw.h:21
BOOL(APIENTRY * PGD_DDRELEASEDC)(HANDLE)
Definition: intddraw.h:15
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTFLIPSTATUS)(HANDLE, PDD_GETVPORTFLIPSTATUSDATA)
Definition: intddraw.h:55
DWORD(APIENTRY * PGD_DXDDGETDRIVERINFO)(HANDLE, PDD_GETDRIVERINFODATA)
Definition: intddraw.h:20
DWORD(APIENTRY * PGD_DDGETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA)
Definition: intddraw.h:25
DWORD(APIENTRY * PGD_DXDDGETINTERNALMOCOMPINFO)(HANDLE, PDD_GETINTERNALMOCOMPDATA)
Definition: intddraw.h:72
DWORD(APIENTRY * PGD_DXDDREENABLEDIRECTDRAWOBJECT)(HANDLE, BOOL *)
Definition: intddraw.h:19
BOOL(APIENTRY * PGD_DDSETGAMMARAMP)(HANDLE, HDC, LPVOID)
Definition: intddraw.h:14
BOOL FASTCALL IntGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
Definition: icm.c:92
DWORD(APIENTRY * PGD_D3DCONTEXTDESTROYALL)(LPD3DNTHAL_CONTEXTDESTROYALLDATA)
Definition: intddraw.h:46
DWORD(APIENTRY * PGD_DXDVPGETVIDEOSIGNALSTATUS)(HANDLE, PDD_GETVPORTSIGNALDATA)
Definition: intddraw.h:60
DWORD(APIENTRY * PGD_DDCREATESURFACE)(HANDLE, HANDLE *, DDSURFACEDESC *, DD_SURFACE_GLOBAL *, DD_SURFACE_LOCAL *, DD_SURFACE_MORE *, PDD_CREATESURFACEDATA, HANDLE *)
Definition: intddraw.h:80
HDC(APIENTRY * PGD_DDGETDC)(HANDLE, PALETTEENTRY *)
Definition: intddraw.h:18
BOOL(APIENTRY * PGD_ENGUNLOCKDIRECTDRAWSURFACE)(PDD_SURFACE_LOCAL)
Definition: intddraw.h:108
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTINPUTFORMATS)(HANDLE, PDD_GETVPORTINPUTFORMATDATA)
Definition: intddraw.h:56
DWORD(APIENTRY * PGD_DXDDENDMOCOMPFRAME)(HANDLE, PDD_ENDMOCOMPFRAMEDATA)
Definition: intddraw.h:71
VOID(APIENTRY * PGD_ENGFREEPRIVATEUSERMEM)(PDD_SURFACE_LOCAL, PVOID)
Definition: intddraw.h:106
DWORD(APIENTRY * PGD_DXDVPWAITFORVIDEOPORTSYNC)(HANDLE, PDD_WAITFORVPORTSYNCDATA)
Definition: intddraw.h:62
DWORD(APIENTRY * PGD_DDALPHABLT)(HANDLE, HANDLE, PDD_BLTDATA)
Definition: intddraw.h:87
DWORD(APIENTRY * PGD_DXDDDESTROYD3DBUFFER)(HANDLE)
Definition: intddraw.h:37
DWORD(APIENTRY * PGD_DXDDCREATESURFACEEX)(HANDLE, HANDLE, DWORD)
Definition: intddraw.h:84
DWORD(APIENTRY * PGD_DXDDUNLOCK)(HANDLE, PDD_UNLOCKDATA)
Definition: intddraw.h:93
DWORD(APIENTRY * PGD_DXDDFLIP)(HANDLE, HANDLE, HANDLE, HANDLE, PDD_FLIPDATA)
Definition: intddraw.h:91
DWORD(APIENTRY * PGD_DDCREATED3DBUFFER)(HANDLE, HANDLE *, DDSURFACEDESC *, DD_SURFACE_GLOBAL *, DD_SURFACE_LOCAL *, DD_SURFACE_MORE *, PDD_CREATESURFACEDATA, HANDLE *)
Definition: intddraw.h:43
DWORD(APIENTRY * PGD_DXDDGETFLIPSTATUS)(HANDLE, PDD_GETFLIPSTATUSDATA)
Definition: intddraw.h:98
HANDLE(APIENTRY * PGD_DXDDCREATEMOCOMP)(HANDLE, PDD_CREATEMOCOMPDATA)
Definition: intddraw.h:69
FLATPTR(APIENTRY * PGD_HEAPVIDMEMALLOCALIGNED)(LPVIDMEM, DWORD, DWORD, LPSURFACEALIGNMENT, LPLONG)
Definition: intddraw.h:103
DWORD(APIENTRY * PGD_DXDDDESTROYSURFACE)(HANDLE, BOOL)
Definition: intddraw.h:90
BOOL(APIENTRY * PGD_D3DCONTEXTCREATE)(HANDLE, HANDLE, HANDLE, LPD3DNTHAL_CONTEXTCREATEDATA)
Definition: intddraw.h:44
DWORD(APIENTRY * PGD_DXDVPRELEASENOTIFICATION)(HANDLE, HANDLE)
Definition: intddraw.h:64
VOID(APIENTRY * PGD_VIDMEMFREE)(LPVMEMHEAP, FLATPTR)
Definition: intddraw.h:104
DWORD(APIENTRY * PGD_DXDDGETSCANLINE)(HANDLE, PDD_GETSCANLINEDATA)
Definition: intddraw.h:83
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTLINE)(HANDLE, PDD_GETVPORTLINEDATA)
Definition: intddraw.h:57
DWORD(APIENTRY * PGD_DXDVPUPDATEVIDEOPORT)(HANDLE, HANDLE *, HANDLE *, PDD_UPDATEVPORTDATA)
Definition: intddraw.h:61
BOOL(APIENTRY * PGD_DXDDQUERYDIRECTDRAWOBJECT)(HANDLE, DD_HALINFO *, DWORD *, LPD3DNTHAL_CALLBACKS, LPD3DNTHAL_GLOBALDRIVERDATA, PDD_D3DBUFCALLBACKS, LPDDSURFACEDESC, DWORD *, VIDEOMEMORY *, DWORD *, DWORD *)
Definition: intddraw.h:32
DWORD(APIENTRY * PGD_DXDDGETAVAILDRIVERMEMORY)(HANDLE, PDD_GETAVAILDRIVERMEMORYDATA)
Definition: intddraw.h:31
HANDLE(APIENTRY * PGD_DDCREATEDIRECTDRAWOBJECT)(HDC hdc)
Definition: intddraw.h:24
DWORD(APIENTRY * PGD_DDCOLORCONTROL)(HANDLE hSurface, PDD_COLORCONTROLDATA puColorControlData)
Definition: intddraw.h:26
DWORD(APIENTRY * PGD_DXDDUNLOCKD3D)(HANDLE, PDD_UNLOCKDATA)
Definition: intddraw.h:39
PVOID(APIENTRY * PGD_ENGALLOCPRIVATEUSERMEM)(PDD_SURFACE_LOCAL, SIZE_T, ULONG)
Definition: intddraw.h:105
DWORD(APIENTRY * PGD_DDADDATTACHEDSURFACE)(HANDLE, HANDLE, PDD_ADDATTACHEDSURFACEDATA)
Definition: intddraw.h:96
DWORD(APIENTRY * PGD_DXDVPGETVIDEOPORTFIELD)(HANDLE, PDD_GETVPORTFIELDDATA)
Definition: intddraw.h:65
DWORD(APIENTRY * PGD_DVPDESTROYVIDEOPORT)(HANDLE, PDD_DESTROYVPORTDATA)
Definition: intddraw.h:52
HANDLE(APIENTRY * PGD_DXDDCREATESURFACEOBJECT)(HANDLE, HANDLE, PDD_SURFACE_LOCAL, PDD_SURFACE_MORE, PDD_SURFACE_GLOBAL, BOOL)
Definition: intddraw.h:27
BOOL FASTCALL IntSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL)
Definition: icm.c:284
DWORD(APIENTRY * PGD_DVPCANCREATEVIDEOPORT)(HANDLE, PDD_CANCREATEVPORTDATA)
Definition: intddraw.h:49
DWORD(APIENTRY * PGD_D3DCONTEXTDESTROY)(LPD3DNTHAL_CONTEXTDESTROYDATA)
Definition: intddraw.h:45
DWORD(APIENTRY * PGD_D3DVALIDATETEXTURESTAGESTATE)(LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA)
Definition: intddraw.h:41
DWORD(APIENTRY * PGD_DXDDWAITFORVERTICALBLANK)(HANDLE, PDD_WAITFORVERTICALBLANKDATA)
Definition: intddraw.h:81
HANDLE(APIENTRY * PGD_DVPCREATEVIDEOPORT)(HANDLE, PDD_CREATEVPORTDATA)
Definition: intddraw.h:51
struct _DD_GETDRIVERINFODATA * PDD_GETDRIVERINFODATA
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:88
#define BOOL
Definition: nt_native.h:43
#define FASTCALL
Definition: nt_native.h:50
struct _EPROCESS * PEPROCESS
Definition: nt_native.h:30
#define DWORD
Definition: nt_native.h:44
#define LPVOID
Definition: nt_native.h:45
Definition: winddi.h:529
uint32_t * PULONG
Definition: typedefs.h:59
int32_t * LPLONG
Definition: typedefs.h:58
void * PVOID
Definition: typedefs.h:50
PVOID HANDLE
Definition: typedefs.h:73
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG
Definition: typedefs.h:59
struct tagDRVENABLEDATA * PDRVENABLEDATA