10 #ifndef __DDRAW_INCLUDED__
11 #define __DDRAW_INCLUDED__
20 #ifndef DIRECTDRAW_VERSION
21 #define DIRECTDRAW_VERSION 0x0500
24 #if defined( _WIN32 ) && !defined( _NO_COM )
25 #define COM_NO_WINDOWS_H
29 #if !defined( NT_BUILD_ENVIRONMENT ) && !defined(WINNT)
30 #define CO_E_NOTINITIALIZED 0x800401F0L
35 #define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
44 #if defined( _WIN32 ) && !defined( _NO_COM )
45 DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
46 DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
47 DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
48 DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
49 DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
50 DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
51 DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
53 DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
54 DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
55 DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
68 struct IDirectDrawSurface;
69 struct IDirectDrawPalette;
70 struct IDirectDrawClipper;
89 #if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )
92 typedef BOOL (FAR
PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR,
LPVOID);
96 typedef LPDDENUMCALLBACKW LPDDENUMCALLBACK;
97 #define DirectDrawEnumerate DirectDrawEnumerateW
99 typedef LPDDENUMCALLBACKA LPDDENUMCALLBACK;
100 #define DirectDrawEnumerate DirectDrawEnumerateA
102 extern HRESULT WINAPI DirectDrawCreate( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD,
IUnknown FAR *pUnkOuter );
107 #define REGSTR_KEY_DDHW_DESCRIPTION "Description"
108 #define REGSTR_KEY_DDHW_DRIVERNAME "DriverName"
109 #define REGSTR_PATH_DDHW "Hardware\\DirectDrawDrivers"
111 #define DDCREATE_HARDWAREONLY 0x00000001l
112 #define DDCREATE_EMULATIONONLY 0x00000002l
114 #if defined(WINNT) || !defined(WIN32)
204 #define DD_ROP_SPACE (256/32) // space required to store ROP array
206 #if DIRECTDRAW_VERSION >= 0x0500
318 #if DIRECTDRAW_VERSION >= 0x0500
442 #if defined( _WIN32 ) && !defined( _NO_COM )
444 #define INTERFACE IDirectDraw
448 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
449 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
450 STDMETHOD_(ULONG,Release) (THIS) PURE;
452 STDMETHOD(Compact)(THIS) PURE;
453 STDMETHOD(CreateClipper)(THIS_
DWORD, LPDIRECTDRAWCLIPPER FAR*,
IUnknown FAR * ) PURE;
454 STDMETHOD(CreatePalette)(THIS_
DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*,
IUnknown FAR * ) PURE;
459 STDMETHOD(FlipToGDISurface)(THIS) PURE;
463 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
464 STDMETHOD(GetMonitorFrequency)(THIS_
LPDWORD) PURE;
465 STDMETHOD(GetScanLine)(THIS_
LPDWORD) PURE;
466 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
467 STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
468 STDMETHOD(RestoreDisplayMode)(THIS) PURE;
469 STDMETHOD(SetCooperativeLevel)(THIS_
HWND,
DWORD) PURE;
471 STDMETHOD(WaitForVerticalBlank)(THIS_
DWORD,
HANDLE ) PURE;
474 #if !defined(__cplusplus) || defined(CINTERFACE)
475 #define IDirectDraw_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
476 #define IDirectDraw_AddRef(p) (p)->lpVtbl->AddRef(p)
477 #define IDirectDraw_Release(p) (p)->lpVtbl->Release(p)
478 #define IDirectDraw_Compact(p) (p)->lpVtbl->Compact(p)
479 #define IDirectDraw_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
480 #define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
481 #define IDirectDraw_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
482 #define IDirectDraw_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
483 #define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
484 #define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
485 #define IDirectDraw_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
486 #define IDirectDraw_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
487 #define IDirectDraw_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
488 #define IDirectDraw_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
489 #define IDirectDraw_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
490 #define IDirectDraw_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
491 #define IDirectDraw_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
492 #define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
493 #define IDirectDraw_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
494 #define IDirectDraw_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
495 #define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
496 #define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->lpVtbl->SetDisplayMode(p, a, b, c)
497 #define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
499 #define IDirectDraw_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
500 #define IDirectDraw_AddRef(p) (p)->AddRef()
501 #define IDirectDraw_Release(p) (p)->Release()
502 #define IDirectDraw_Compact(p) (p)->Compact()
503 #define IDirectDraw_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
504 #define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
505 #define IDirectDraw_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
506 #define IDirectDraw_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
507 #define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
508 #define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
509 #define IDirectDraw_FlipToGDISurface(p) (p)->FlipToGDISurface()
510 #define IDirectDraw_GetCaps(p, a, b) (p)->GetCaps(a, b)
511 #define IDirectDraw_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
512 #define IDirectDraw_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
513 #define IDirectDraw_GetGDISurface(p, a) (p)->GetGDISurface(a)
514 #define IDirectDraw_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
515 #define IDirectDraw_GetScanLine(p, a) (p)->GetScanLine(a)
516 #define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
517 #define IDirectDraw_Initialize(p, a) (p)->Initialize(a)
518 #define IDirectDraw_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
519 #define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
520 #define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->SetDisplayMode(a, b, c)
521 #define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
526 #if defined( _WIN32 ) && !defined( _NO_COM )
528 #define INTERFACE IDirectDraw2
532 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
533 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
534 STDMETHOD_(ULONG,Release) (THIS) PURE;
536 STDMETHOD(Compact)(THIS) PURE;
537 STDMETHOD(CreateClipper)(THIS_
DWORD, LPDIRECTDRAWCLIPPER FAR*,
IUnknown FAR * ) PURE;
538 STDMETHOD(CreatePalette)(THIS_
DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*,
IUnknown FAR * ) PURE;
543 STDMETHOD(FlipToGDISurface)(THIS) PURE;
547 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
548 STDMETHOD(GetMonitorFrequency)(THIS_
LPDWORD) PURE;
549 STDMETHOD(GetScanLine)(THIS_
LPDWORD) PURE;
550 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
551 STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
552 STDMETHOD(RestoreDisplayMode)(THIS) PURE;
553 STDMETHOD(SetCooperativeLevel)(THIS_
HWND,
DWORD) PURE;
555 STDMETHOD(WaitForVerticalBlank)(THIS_
DWORD,
HANDLE ) PURE;
559 #if !defined(__cplusplus) || defined(CINTERFACE)
560 #define IDirectDraw2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
561 #define IDirectDraw2_AddRef(p) (p)->lpVtbl->AddRef(p)
562 #define IDirectDraw2_Release(p) (p)->lpVtbl->Release(p)
563 #define IDirectDraw2_Compact(p) (p)->lpVtbl->Compact(p)
564 #define IDirectDraw2_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c)
565 #define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
566 #define IDirectDraw2_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c)
567 #define IDirectDraw2_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b)
568 #define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)
569 #define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)
570 #define IDirectDraw2_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p)
571 #define IDirectDraw2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b)
572 #define IDirectDraw2_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a)
573 #define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b)
574 #define IDirectDraw2_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a)
575 #define IDirectDraw2_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a)
576 #define IDirectDraw2_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a)
577 #define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a)
578 #define IDirectDraw2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a)
579 #define IDirectDraw2_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p)
580 #define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b)
581 #define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)
582 #define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b)
583 #define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)
585 #define IDirectDraw2_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
586 #define IDirectDraw2_AddRef(p) (p)->AddRef()
587 #define IDirectDraw2_Release(p) (p)->Release()
588 #define IDirectDraw2_Compact(p) (p)->Compact()
589 #define IDirectDraw2_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c)
590 #define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d)
591 #define IDirectDraw2_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c)
592 #define IDirectDraw2_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b)
593 #define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)
594 #define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d)
595 #define IDirectDraw2_FlipToGDISurface(p) (p)->FlipToGDISurface()
596 #define IDirectDraw2_GetCaps(p, a, b) (p)->GetCaps(a, b)
597 #define IDirectDraw2_GetDisplayMode(p, a) (p)->GetDisplayMode(a)
598 #define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b)
599 #define IDirectDraw2_GetGDISurface(p, a) (p)->GetGDISurface(a)
600 #define IDirectDraw2_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a)
601 #define IDirectDraw2_GetScanLine(p, a) (p)->GetScanLine(a)
602 #define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a)
603 #define IDirectDraw2_Initialize(p, a) (p)->Initialize(a)
604 #define IDirectDraw2_RestoreDisplayMode(p) (p)->RestoreDisplayMode()
605 #define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b)
606 #define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)
607 #define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b)
608 #define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c)
616 #if defined( _WIN32 ) && !defined( _NO_COM )
618 #define INTERFACE IDirectDrawPalette
622 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
623 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
624 STDMETHOD_(ULONG,Release) (THIS) PURE;
626 STDMETHOD(GetCaps)(THIS_
LPDWORD) PURE;
632 #if !defined(__cplusplus) || defined(CINTERFACE)
633 #define IDirectDrawPalette_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
634 #define IDirectDrawPalette_AddRef(p) (p)->lpVtbl->AddRef(p)
635 #define IDirectDrawPalette_Release(p) (p)->lpVtbl->Release(p)
636 #define IDirectDrawPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a)
637 #define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d)
638 #define IDirectDrawPalette_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c)
639 #define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d)
641 #define IDirectDrawPalette_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
642 #define IDirectDrawPalette_AddRef(p) (p)->AddRef()
643 #define IDirectDrawPalette_Release(p) (p)->Release()
644 #define IDirectDrawPalette_GetCaps(p, a) (p)->GetCaps(a)
645 #define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->GetEntries(a, b, c, d)
646 #define IDirectDrawPalette_Initialize(p, a, b, c) (p)->Initialize(a, b, c)
647 #define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->SetEntries(a, b, c, d)
655 #if defined( _WIN32 ) && !defined( _NO_COM )
657 #define INTERFACE IDirectDrawClipper
661 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
662 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
663 STDMETHOD_(ULONG,Release) (THIS) PURE;
665 STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA,
LPDWORD) PURE;
666 STDMETHOD(GetHWnd)(THIS_
HWND FAR *) PURE;
668 STDMETHOD(IsClipListChanged)(THIS_
BOOL FAR *) PURE;
669 STDMETHOD(SetClipList)(THIS_ LPRGNDATA,
DWORD) PURE;
670 STDMETHOD(SetHWnd)(THIS_
DWORD,
HWND ) PURE;
673 #if !defined(__cplusplus) || defined(CINTERFACE)
674 #define IDirectDrawClipper_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
675 #define IDirectDrawClipper_AddRef(p) (p)->lpVtbl->AddRef(p)
676 #define IDirectDrawClipper_Release(p) (p)->lpVtbl->Release(p)
677 #define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->lpVtbl->GetClipList(p, a, b, c)
678 #define IDirectDrawClipper_GetHWnd(p, a) (p)->lpVtbl->GetHWnd(p, a)
679 #define IDirectDrawClipper_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b)
680 #define IDirectDrawClipper_IsClipListChanged(p, a) (p)->lpVtbl->IsClipListChanged(p, a)
681 #define IDirectDrawClipper_SetClipList(p, a, b) (p)->lpVtbl->SetClipList(p, a, b)
682 #define IDirectDrawClipper_SetHWnd(p, a, b) (p)->lpVtbl->SetHWnd(p, a, b)
684 #define IDirectDrawClipper_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
685 #define IDirectDrawClipper_AddRef(p) (p)->AddRef()
686 #define IDirectDrawClipper_Release(p) (p)->Release()
687 #define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->GetClipList(a, b, c)
688 #define IDirectDrawClipper_GetHWnd(p, a) (p)->GetHWnd(a)
689 #define IDirectDrawClipper_Initialize(p, a, b) (p)->Initialize(a, b)
690 #define IDirectDrawClipper_IsClipListChanged(p, a) (p)->IsClipListChanged(a)
691 #define IDirectDrawClipper_SetClipList(p, a, b) (p)->SetClipList(a, b)
692 #define IDirectDrawClipper_SetHWnd(p, a, b) (p)->SetHWnd(a, b)
700 #if defined( _WIN32 ) && !defined( _NO_COM )
702 #define INTERFACE IDirectDrawSurface
706 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
707 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
708 STDMETHOD_(ULONG,Release) (THIS) PURE;
711 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
716 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
717 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
719 STDMETHOD(GetAttachedSurface)(THIS_
LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;
720 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
721 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
722 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
724 STDMETHOD(GetDC)(THIS_
HDC FAR *) PURE;
725 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
726 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
727 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
731 STDMETHOD(IsLost)(THIS) PURE;
733 STDMETHOD(ReleaseDC)(THIS_
HDC) PURE;
734 STDMETHOD(Restore)(THIS) PURE;
737 STDMETHOD(SetOverlayPosition)(THIS_
LONG,
LONG ) PURE;
739 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
741 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
745 #if !defined(__cplusplus) || defined(CINTERFACE)
746 #define IDirectDrawSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
747 #define IDirectDrawSurface_AddRef(p) (p)->lpVtbl->AddRef(p)
748 #define IDirectDrawSurface_Release(p) (p)->lpVtbl->Release(p)
749 #define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
750 #define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
751 #define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
752 #define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
753 #define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
754 #define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
755 #define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
756 #define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
757 #define IDirectDrawSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
758 #define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
759 #define IDirectDrawSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
760 #define IDirectDrawSurface_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
761 #define IDirectDrawSurface_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
762 #define IDirectDrawSurface_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
763 #define IDirectDrawSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
764 #define IDirectDrawSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
765 #define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
766 #define IDirectDrawSurface_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
767 #define IDirectDrawSurface_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
768 #define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
769 #define IDirectDrawSurface_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
770 #define IDirectDrawSurface_IsLost(p) (p)->lpVtbl->IsLost(p)
771 #define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
772 #define IDirectDrawSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
773 #define IDirectDrawSurface_Restore(p) (p)->lpVtbl->Restore(p)
774 #define IDirectDrawSurface_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
775 #define IDirectDrawSurface_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
776 #define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
777 #define IDirectDrawSurface_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
778 #define IDirectDrawSurface_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
779 #define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
780 #define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
781 #define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
783 #define IDirectDrawSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
784 #define IDirectDrawSurface_AddRef(p) (p)->AddRef()
785 #define IDirectDrawSurface_Release(p) (p)->Release()
786 #define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
787 #define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
788 #define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
789 #define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
790 #define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
791 #define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
792 #define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
793 #define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
794 #define IDirectDrawSurface_Flip(p,a,b) (p)->Flip(a,b)
795 #define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
796 #define IDirectDrawSurface_GetBltStatus(p,a) (p)->GetBltStatus(a)
797 #define IDirectDrawSurface_GetCaps(p,b) (p)->GetCaps(b)
798 #define IDirectDrawSurface_GetClipper(p,a) (p)->GetClipper(a)
799 #define IDirectDrawSurface_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
800 #define IDirectDrawSurface_GetDC(p,a) (p)->GetDC(a)
801 #define IDirectDrawSurface_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
802 #define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
803 #define IDirectDrawSurface_GetPalette(p,a) (p)->GetPalette(a)
804 #define IDirectDrawSurface_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
805 #define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
806 #define IDirectDrawSurface_Initialize(p,a,b) (p)->Initialize(a,b)
807 #define IDirectDrawSurface_IsLost(p) (p)->IsLost()
808 #define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
809 #define IDirectDrawSurface_ReleaseDC(p,a) (p)->ReleaseDC(a)
810 #define IDirectDrawSurface_Restore(p) (p)->Restore()
811 #define IDirectDrawSurface_SetClipper(p,a) (p)->SetClipper(a)
812 #define IDirectDrawSurface_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
813 #define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
814 #define IDirectDrawSurface_SetPalette(p,a) (p)->SetPalette(a)
815 #define IDirectDrawSurface_Unlock(p,b) (p)->Unlock(b)
816 #define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
817 #define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
818 #define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
825 #define INTERFACE IDirectDrawSurface2
829 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
830 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
831 STDMETHOD_(ULONG,Release) (THIS) PURE;
834 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
839 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
840 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
842 STDMETHOD(GetAttachedSurface)(THIS_
LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;
843 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
844 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
845 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
847 STDMETHOD(GetDC)(THIS_
HDC FAR *) PURE;
848 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
849 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
850 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
854 STDMETHOD(IsLost)(THIS) PURE;
856 STDMETHOD(ReleaseDC)(THIS_
HDC) PURE;
857 STDMETHOD(Restore)(THIS) PURE;
860 STDMETHOD(SetOverlayPosition)(THIS_
LONG,
LONG ) PURE;
862 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
864 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
867 STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
868 STDMETHOD(PageLock)(THIS_
DWORD) PURE;
869 STDMETHOD(PageUnlock)(THIS_
DWORD) PURE;
872 #if !defined(__cplusplus) || defined(CINTERFACE)
873 #define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
874 #define IDirectDrawSurface2_AddRef(p) (p)->lpVtbl->AddRef(p)
875 #define IDirectDrawSurface2_Release(p) (p)->lpVtbl->Release(p)
876 #define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
877 #define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
878 #define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
879 #define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
880 #define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
881 #define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
882 #define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
883 #define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
884 #define IDirectDrawSurface2_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
885 #define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
886 #define IDirectDrawSurface2_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
887 #define IDirectDrawSurface2_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
888 #define IDirectDrawSurface2_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
889 #define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
890 #define IDirectDrawSurface2_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
891 #define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
892 #define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
893 #define IDirectDrawSurface2_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
894 #define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
895 #define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
896 #define IDirectDrawSurface2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
897 #define IDirectDrawSurface2_IsLost(p) (p)->lpVtbl->IsLost(p)
898 #define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
899 #define IDirectDrawSurface2_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
900 #define IDirectDrawSurface2_Restore(p) (p)->lpVtbl->Restore(p)
901 #define IDirectDrawSurface2_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
902 #define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
903 #define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
904 #define IDirectDrawSurface2_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
905 #define IDirectDrawSurface2_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
906 #define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
907 #define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
908 #define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
909 #define IDirectDrawSurface2_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
910 #define IDirectDrawSurface2_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
911 #define IDirectDrawSurface2_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
913 #define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
914 #define IDirectDrawSurface2_AddRef(p) (p)->AddRef()
915 #define IDirectDrawSurface2_Release(p) (p)->Release()
916 #define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
917 #define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
918 #define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
919 #define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
920 #define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
921 #define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
922 #define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
923 #define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
924 #define IDirectDrawSurface2_Flip(p,a,b) (p)->Flip(a,b)
925 #define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
926 #define IDirectDrawSurface2_GetBltStatus(p,a) (p)->GetBltStatus(a)
927 #define IDirectDrawSurface2_GetCaps(p,b) (p)->GetCaps(b)
928 #define IDirectDrawSurface2_GetClipper(p,a) (p)->GetClipper(a)
929 #define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
930 #define IDirectDrawSurface2_GetDC(p,a) (p)->GetDC(a)
931 #define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
932 #define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
933 #define IDirectDrawSurface2_GetPalette(p,a) (p)->GetPalette(a)
934 #define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
935 #define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
936 #define IDirectDrawSurface2_Initialize(p,a,b) (p)->Initialize(a,b)
937 #define IDirectDrawSurface2_IsLost(p) (p)->IsLost()
938 #define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
939 #define IDirectDrawSurface2_ReleaseDC(p,a) (p)->ReleaseDC(a)
940 #define IDirectDrawSurface2_Restore(p) (p)->Restore()
941 #define IDirectDrawSurface2_SetClipper(p,a) (p)->SetClipper(a)
942 #define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
943 #define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
944 #define IDirectDrawSurface2_SetPalette(p,a) (p)->SetPalette(a)
945 #define IDirectDrawSurface2_Unlock(p,b) (p)->Unlock(b)
946 #define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
947 #define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
948 #define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
949 #define IDirectDrawSurface2_GetDDInterface(p,a) (p)->GetDDInterface(a)
950 #define IDirectDrawSurface2_PageLock(p,a) (p)->PageLock(a)
951 #define IDirectDrawSurface2_PageUnlock(p,a) (p)->PageUnlock(a)
958 #define INTERFACE IDirectDrawSurface3
962 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
963 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
964 STDMETHOD_(ULONG,Release) (THIS) PURE;
967 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
972 STDMETHOD(EnumAttachedSurfaces)(THIS_
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
973 STDMETHOD(EnumOverlayZOrders)(THIS_
DWORD,
LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
975 STDMETHOD(GetAttachedSurface)(THIS_
LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
976 STDMETHOD(GetBltStatus)(THIS_
DWORD) PURE;
977 STDMETHOD(GetCaps)(THIS_
LPDDSCAPS) PURE;
978 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
980 STDMETHOD(GetDC)(THIS_
HDC FAR *) PURE;
981 STDMETHOD(GetFlipStatus)(THIS_
DWORD) PURE;
982 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
983 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
987 STDMETHOD(IsLost)(THIS) PURE;
989 STDMETHOD(ReleaseDC)(THIS_
HDC) PURE;
990 STDMETHOD(Restore)(THIS) PURE;
993 STDMETHOD(SetOverlayPosition)(THIS_
LONG,
LONG ) PURE;
995 STDMETHOD(Unlock)(THIS_
LPVOID) PURE;
997 STDMETHOD(UpdateOverlayDisplay)(THIS_
DWORD) PURE;
1000 STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
1001 STDMETHOD(PageLock)(THIS_
DWORD) PURE;
1002 STDMETHOD(PageUnlock)(THIS_
DWORD) PURE;
1007 #if !defined(__cplusplus) || defined(CINTERFACE)
1008 #define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1009 #define IDirectDrawSurface3_AddRef(p) (p)->lpVtbl->AddRef(p)
1010 #define IDirectDrawSurface3_Release(p) (p)->lpVtbl->Release(p)
1011 #define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a)
1012 #define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a)
1013 #define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e)
1014 #define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c)
1015 #define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e)
1016 #define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)
1017 #define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)
1018 #define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)
1019 #define IDirectDrawSurface3_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b)
1020 #define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b)
1021 #define IDirectDrawSurface3_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a)
1022 #define IDirectDrawSurface3_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b)
1023 #define IDirectDrawSurface3_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a)
1024 #define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b)
1025 #define IDirectDrawSurface3_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
1026 #define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a)
1027 #define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b)
1028 #define IDirectDrawSurface3_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a)
1029 #define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a)
1030 #define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
1031 #define IDirectDrawSurface3_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
1032 #define IDirectDrawSurface3_IsLost(p) (p)->lpVtbl->IsLost(p)
1033 #define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
1034 #define IDirectDrawSurface3_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
1035 #define IDirectDrawSurface3_Restore(p) (p)->lpVtbl->Restore(p)
1036 #define IDirectDrawSurface3_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a)
1037 #define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b)
1038 #define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b)
1039 #define IDirectDrawSurface3_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a)
1040 #define IDirectDrawSurface3_Unlock(p,b) (p)->lpVtbl->Unlock(p,b)
1041 #define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)
1042 #define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a)
1043 #define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)
1044 #define IDirectDrawSurface3_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a)
1045 #define IDirectDrawSurface3_PageLock(p,a) (p)->lpVtbl->PageLock(p,a)
1046 #define IDirectDrawSurface3_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a)
1047 #define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b)
1049 #define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1050 #define IDirectDrawSurface3_AddRef(p) (p)->AddRef()
1051 #define IDirectDrawSurface3_Release(p) (p)->Release()
1052 #define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a)
1053 #define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a)
1054 #define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e)
1055 #define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c)
1056 #define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e)
1057 #define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)
1058 #define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b)
1059 #define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c)
1060 #define IDirectDrawSurface3_Flip(p,a,b) (p)->Flip(a,b)
1061 #define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b)
1062 #define IDirectDrawSurface3_GetBltStatus(p,a) (p)->GetBltStatus(a)
1063 #define IDirectDrawSurface3_GetCaps(p,b) (p)->GetCaps(b)
1064 #define IDirectDrawSurface3_GetClipper(p,a) (p)->GetClipper(a)
1065 #define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->GetColorKey(a,b)
1066 #define IDirectDrawSurface3_GetDC(p,a) (p)->GetDC(a)
1067 #define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->GetFlipStatus(a)
1068 #define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b)
1069 #define IDirectDrawSurface3_GetPalette(p,a) (p)->GetPalette(a)
1070 #define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->GetPixelFormat(a)
1071 #define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a)
1072 #define IDirectDrawSurface3_Initialize(p,a,b) (p)->Initialize(a,b)
1073 #define IDirectDrawSurface3_IsLost(p) (p)->IsLost()
1074 #define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
1075 #define IDirectDrawSurface3_ReleaseDC(p,a) (p)->ReleaseDC(a)
1076 #define IDirectDrawSurface3_Restore(p) (p)->Restore()
1077 #define IDirectDrawSurface3_SetClipper(p,a) (p)->SetClipper(a)
1078 #define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->SetColorKey(a,b)
1079 #define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b)
1080 #define IDirectDrawSurface3_SetPalette(p,a) (p)->SetPalette(a)
1081 #define IDirectDrawSurface3_Unlock(p,b) (p)->Unlock(b)
1082 #define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e)
1083 #define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a)
1084 #define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b)
1085 #define IDirectDrawSurface3_GetDDInterface(p,a) (p)->GetDDInterface(a)
1086 #define IDirectDrawSurface3_PageLock(p,a) (p)->PageLock(a)
1087 #define IDirectDrawSurface3_PageUnlock(p,a) (p)->PageUnlock(a)
1088 #define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b)
1094 #if defined( _WIN32 ) && !defined( _NO_COM )
1096 #define INTERFACE IDirectDrawColorControl
1100 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID FAR * ppvObj) PURE;
1101 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
1102 STDMETHOD_(ULONG,Release) (THIS) PURE;
1108 #if !defined(__cplusplus) || defined(CINTERFACE)
1109 #define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b)
1110 #define IDirectDrawColorControl_AddRef(p) (p)->lpVtbl->AddRef(p)
1111 #define IDirectDrawColorControl_Release(p) (p)->lpVtbl->Release(p)
1112 #define IDirectDrawColorControl_GetColorControls(p, a) (p)->lpVtbl->GetColorControls(p, a)
1113 #define IDirectDrawColorControl_SetColorControls(p, a) (p)->lpVtbl->SetColorControls(p, a)
1115 #define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b)
1116 #define IDirectDrawColorControl_AddRef(p) (p)->AddRef()
1117 #define IDirectDrawColorControl_Release(p) (p)->Release()
1118 #define IDirectDrawColorControl_GetColorControls(p, a) (p)->GetColorControls(a)
1119 #define IDirectDrawColorControl_SetColorControls(p, a) (p)->SetColorControls(a)
1164 #define DDSD_CAPS 0x00000001l // default
1169 #define DDSD_HEIGHT 0x00000002l
1174 #define DDSD_WIDTH 0x00000004l
1179 #define DDSD_PITCH 0x00000008l
1184 #define DDSD_BACKBUFFERCOUNT 0x00000020l
1189 #define DDSD_ZBUFFERBITDEPTH 0x00000040l
1194 #define DDSD_ALPHABITDEPTH 0x00000080l
1200 #define DDSD_LPSURFACE 0x00000800l
1205 #define DDSD_PIXELFORMAT 0x00001000l
1210 #define DDSD_CKDESTOVERLAY 0x00002000l
1215 #define DDSD_CKDESTBLT 0x00004000l
1220 #define DDSD_CKSRCOVERLAY 0x00008000l
1225 #define DDSD_CKSRCBLT 0x00010000l
1230 #define DDSD_MIPMAPCOUNT 0x00020000l
1235 #define DDSD_REFRESHRATE 0x00040000l
1240 #define DDSD_LINEARSIZE 0x00080000l
1245 #define DDSD_ALL 0x000ff9eel
1269 #define DDCOLOR_BRIGHTNESS 0x00000001l
1274 #define DDCOLOR_CONTRAST 0x00000002l
1279 #define DDCOLOR_HUE 0x00000004l
1284 #define DDCOLOR_SATURATION 0x00000008l
1289 #define DDCOLOR_SHARPNESS 0x00000010l
1294 #define DDCOLOR_GAMMA 0x00000020l
1299 #define DDCOLOR_COLORENABLE 0x00000040l
1321 #define DDSCAPS_RESERVED1 0x00000001l
1328 #define DDSCAPS_ALPHA 0x00000002l
1346 #define DDSCAPS_BACKBUFFER 0x00000004l
1355 #define DDSCAPS_COMPLEX 0x00000008l
1366 #define DDSCAPS_FLIP 0x00000010l
1378 #define DDSCAPS_FRONTBUFFER 0x00000020l
1385 #define DDSCAPS_OFFSCREENPLAIN 0x00000040l
1393 #define DDSCAPS_OVERLAY 0x00000080l
1399 #define DDSCAPS_PALETTE 0x00000100l
1405 #define DDSCAPS_PRIMARYSURFACE 0x00000200l
1414 #define DDSCAPS_PRIMARYSURFACELEFT 0x00000400l
1419 #define DDSCAPS_SYSTEMMEMORY 0x00000800l
1425 #define DDSCAPS_TEXTURE 0x00001000l
1432 #define DDSCAPS_3DDEVICE 0x00002000l
1437 #define DDSCAPS_VIDEOMEMORY 0x00004000l
1444 #define DDSCAPS_VISIBLE 0x00008000l
1451 #define DDSCAPS_WRITEONLY 0x00010000l
1458 #define DDSCAPS_ZBUFFER 0x00020000l
1463 #define DDSCAPS_OWNDC 0x00040000l
1468 #define DDSCAPS_LIVEVIDEO 0x00080000l
1474 #define DDSCAPS_HWCODEC 0x00100000l
1480 #define DDSCAPS_MODEX 0x00200000l
1489 #define DDSCAPS_MIPMAP 0x00400000l
1494 #define DDSCAPS_RESERVED2 0x00800000l
1501 #define DDSCAPS_ALLOCONLOAD 0x04000000l
1506 #define DDSCAPS_VIDEOPORT 0x08000000l
1514 #define DDSCAPS_LOCALVIDMEM 0x10000000l
1522 #define DDSCAPS_NONLOCALVIDMEM 0x20000000l
1529 #define DDSCAPS_STANDARDVGAMODE 0x40000000l
1536 #define DDSCAPS_OPTIMIZED 0x80000000l
1549 #define DDCAPS_3D 0x00000001l
1556 #define DDCAPS_ALIGNBOUNDARYDEST 0x00000002l
1562 #define DDCAPS_ALIGNSIZEDEST 0x00000004l
1568 #define DDCAPS_ALIGNBOUNDARYSRC 0x00000008l
1574 #define DDCAPS_ALIGNSIZESRC 0x00000010l
1580 #define DDCAPS_ALIGNSTRIDE 0x00000020l
1585 #define DDCAPS_BLT 0x00000040l
1590 #define DDCAPS_BLTQUEUE 0x00000080l
1595 #define DDCAPS_BLTFOURCC 0x00000100l
1600 #define DDCAPS_BLTSTRETCH 0x00000200l
1605 #define DDCAPS_GDI 0x00000400l
1610 #define DDCAPS_OVERLAY 0x00000800l
1615 #define DDCAPS_OVERLAYCANTCLIP 0x00001000l
1621 #define DDCAPS_OVERLAYFOURCC 0x00002000l
1626 #define DDCAPS_OVERLAYSTRETCH 0x00004000l
1632 #define DDCAPS_PALETTE 0x00008000l
1637 #define DDCAPS_PALETTEVSYNC 0x00010000l
1642 #define DDCAPS_READSCANLINE 0x00020000l
1648 #define DDCAPS_STEREOVIEW 0x00040000l
1653 #define DDCAPS_VBI 0x00080000l
1658 #define DDCAPS_ZBLTS 0x00100000l
1663 #define DDCAPS_ZOVERLAYS 0x00200000l
1668 #define DDCAPS_COLORKEY 0x00400000l
1673 #define DDCAPS_ALPHA 0x00800000l
1678 #define DDCAPS_COLORKEYHWASSIST 0x01000000l
1683 #define DDCAPS_NOHARDWARE 0x02000000l
1688 #define DDCAPS_BLTCOLORFILL 0x04000000l
1694 #define DDCAPS_BANKSWITCHED 0x08000000l
1699 #define DDCAPS_BLTDEPTHFILL 0x10000000l
1704 #define DDCAPS_CANCLIP 0x20000000l
1709 #define DDCAPS_CANCLIPSTRETCHED 0x40000000l
1714 #define DDCAPS_CANBLTSYSMEM 0x80000000l
1726 #define DDCAPS2_CERTIFIED 0x00000001l
1732 #define DDCAPS2_NO2DDURING3DSCENE 0x00000002l
1737 #define DDCAPS2_VIDEOPORT 0x00000004l
1744 #define DDCAPS2_AUTOFLIPOVERLAY 0x00000008l
1750 #define DDCAPS2_CANBOBINTERLEAVED 0x00000010l
1756 #define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020l
1761 #define DDCAPS2_COLORCONTROLOVERLAY 0x00000040l
1766 #define DDCAPS2_COLORCONTROLPRIMARY 0x00000080l
1771 #define DDCAPS2_CANDROPZ16BIT 0x00000100l
1776 #define DDCAPS2_NONLOCALVIDMEM 0x00000200l
1783 #define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400l
1789 #define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800l
1794 #define DDCAPS2_WIDESURFACES 0x00001000l
1799 #define DDCAPS2_CANFLIPODDEVEN 0x00002000l
1811 #define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001l
1819 #define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002l
1828 #define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004l
1836 #define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008l
1845 #define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010l
1851 #define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020l
1859 #define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040l
1868 #define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080l
1876 #define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100l
1885 #define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200l
1897 #define DDFXCAPS_BLTARITHSTRETCHY 0x00000020l
1904 #define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010l
1909 #define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040l
1914 #define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080l
1919 #define DDFXCAPS_BLTROTATION 0x00000100l
1924 #define DDFXCAPS_BLTROTATION90 0x00000200l
1930 #define DDFXCAPS_BLTSHRINKX 0x00000400l
1936 #define DDFXCAPS_BLTSHRINKXN 0x00000800l
1942 #define DDFXCAPS_BLTSHRINKY 0x00001000l
1948 #define DDFXCAPS_BLTSHRINKYN 0x00002000l
1954 #define DDFXCAPS_BLTSTRETCHX 0x00004000l
1960 #define DDFXCAPS_BLTSTRETCHXN 0x00008000l
1966 #define DDFXCAPS_BLTSTRETCHY 0x00010000l
1972 #define DDFXCAPS_BLTSTRETCHYN 0x00020000l
1979 #define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000l
1986 #define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008l
1992 #define DDFXCAPS_OVERLAYSHRINKX 0x00080000l
1998 #define DDFXCAPS_OVERLAYSHRINKXN 0x00100000l
2004 #define DDFXCAPS_OVERLAYSHRINKY 0x00200000l
2010 #define DDFXCAPS_OVERLAYSHRINKYN 0x00400000l
2016 #define DDFXCAPS_OVERLAYSTRETCHX 0x00800000l
2022 #define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000l
2028 #define DDFXCAPS_OVERLAYSTRETCHY 0x02000000l
2034 #define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000l
2039 #define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l
2044 #define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000l
2055 #define DDSVCAPS_ENIGMA 0x00000001l
2060 #define DDSVCAPS_FLICKER 0x00000002l
2067 #define DDSVCAPS_REDBLUE 0x00000004l
2072 #define DDSVCAPS_SPLIT 0x00000008l
2083 #define DDPCAPS_4BIT 0x00000001l
2091 #define DDPCAPS_8BITENTRIES 0x00000002l
2096 #define DDPCAPS_8BIT 0x00000004l
2103 #define DDPCAPS_INITIALIZE 0x00000008l
2110 #define DDPCAPS_PRIMARYSURFACE 0x00000010l
2117 #define DDPCAPS_PRIMARYSURFACELEFT 0x00000020l
2122 #define DDPCAPS_ALLOW256 0x00000040l
2128 #define DDPCAPS_VSYNC 0x00000080l
2133 #define DDPCAPS_1BIT 0x00000100l
2138 #define DDPCAPS_2BIT 0x00000200l
2177 #define DDBD_1 0x00004000l
2182 #define DDBD_2 0x00002000l
2187 #define DDBD_4 0x00001000l
2192 #define DDBD_8 0x00000800l
2197 #define DDBD_16 0x00000400l
2202 #define DDBD_24 0X00000200l
2207 #define DDBD_32 0x00000100l
2219 #define DDCKEY_COLORSPACE 0x00000001l
2225 #define DDCKEY_DESTBLT 0x00000002l
2231 #define DDCKEY_DESTOVERLAY 0x00000004l
2237 #define DDCKEY_SRCBLT 0x00000008l
2243 #define DDCKEY_SRCOVERLAY 0x00000010l
2256 #define DDCKEYCAPS_DESTBLT 0x00000001l
2262 #define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002l
2268 #define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004l
2274 #define DDCKEYCAPS_DESTBLTYUV 0x00000008l
2280 #define DDCKEYCAPS_DESTOVERLAY 0x00000010l
2285 #define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020l
2290 #define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040l
2296 #define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080l
2302 #define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100l
2308 #define DDCKEYCAPS_SRCBLT 0x00000200l
2314 #define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400l
2320 #define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800l
2326 #define DDCKEYCAPS_SRCBLTYUV 0x00001000l
2332 #define DDCKEYCAPS_SRCOVERLAY 0x00002000l
2338 #define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000l
2344 #define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000l
2350 #define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000l
2356 #define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000l
2361 #define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000l
2373 #define DDPF_ALPHAPIXELS 0x00000001l
2378 #define DDPF_ALPHA 0x00000002l
2383 #define DDPF_FOURCC 0x00000004l
2388 #define DDPF_PALETTEINDEXED4 0x00000008l
2394 #define DDPF_PALETTEINDEXEDTO8 0x00000010l
2399 #define DDPF_PALETTEINDEXED8 0x00000020l
2404 #define DDPF_RGB 0x00000040l
2410 #define DDPF_COMPRESSED 0x00000080l
2418 #define DDPF_RGBTOYUV 0x00000100l
2423 #define DDPF_YUV 0x00000200l
2428 #define DDPF_ZBUFFER 0x00000400l
2433 #define DDPF_PALETTEINDEXED1 0x00000800l
2438 #define DDPF_PALETTEINDEXED2 0x00001000l
2443 #define DDPF_ZPIXELS 0x00002000l
2462 #define DDENUMSURFACES_ALL 0x00000001l
2467 #define DDENUMSURFACES_MATCH 0x00000002l
2472 #define DDENUMSURFACES_NOMATCH 0x00000004l
2477 #define DDENUMSURFACES_CANBECREATED 0x00000008l
2482 #define DDENUMSURFACES_DOESEXIST 0x00000010l
2494 #define DDSDM_STANDARDVGAMODE 0x00000001l
2509 #define DDEDM_REFRESHRATES 0x00000001l
2517 #define DDEDM_STANDARDVGAMODES 0x00000002L
2530 #define DDSCL_FULLSCREEN 0x00000001l
2535 #define DDSCL_ALLOWREBOOT 0x00000002l
2541 #define DDSCL_NOWINDOWCHANGES 0x00000004l
2546 #define DDSCL_NORMAL 0x00000008l
2551 #define DDSCL_EXCLUSIVE 0x00000010l
2557 #define DDSCL_ALLOWMODEX 0x00000040l
2570 #define DDBLT_ALPHADEST 0x00000001l
2576 #define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002l
2582 #define DDBLT_ALPHADESTNEG 0x00000004l
2588 #define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008l
2594 #define DDBLT_ALPHAEDGEBLEND 0x00000010l
2600 #define DDBLT_ALPHASRC 0x00000020l
2606 #define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040l
2612 #define DDBLT_ALPHASRCNEG 0x00000080l
2618 #define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100l
2624 #define DDBLT_ASYNC 0x00000200l
2630 #define DDBLT_COLORFILL 0x00000400l
2636 #define DDBLT_DDFX 0x00000800l
2642 #define DDBLT_DDROPS 0x00001000l
2647 #define DDBLT_KEYDEST 0x00002000l
2653 #define DDBLT_KEYDESTOVERRIDE 0x00004000l
2658 #define DDBLT_KEYSRC 0x00008000l
2664 #define DDBLT_KEYSRCOVERRIDE 0x00010000l
2670 #define DDBLT_ROP 0x00020000l
2676 #define DDBLT_ROTATIONANGLE 0x00040000l
2683 #define DDBLT_ZBUFFER 0x00080000l
2690 #define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000l
2697 #define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000l
2704 #define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000l
2711 #define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000l
2717 #define DDBLT_WAIT 0x01000000l
2724 #define DDBLT_DEPTHFILL 0x02000000l
2734 #define DDBLTFAST_NOCOLORKEY 0x00000000
2735 #define DDBLTFAST_SRCCOLORKEY 0x00000001
2736 #define DDBLTFAST_DESTCOLORKEY 0x00000002
2737 #define DDBLTFAST_WAIT 0x00000010
2745 #define DDFLIP_WAIT 0x00000001l
2751 #define DDFLIP_EVEN 0x00000002l
2757 #define DDFLIP_ODD 0x00000004l
2772 #define DDOVER_ALPHADEST 0x00000001l
2778 #define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002l
2784 #define DDOVER_ALPHADESTNEG 0x00000004l
2790 #define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008l
2796 #define DDOVER_ALPHAEDGEBLEND 0x00000010l
2802 #define DDOVER_ALPHASRC 0x00000020l
2808 #define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040l
2814 #define DDOVER_ALPHASRCNEG 0x00000080l
2820 #define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100l
2825 #define DDOVER_HIDE 0x00000200l
2830 #define DDOVER_KEYDEST 0x00000400l
2836 #define DDOVER_KEYDESTOVERRIDE 0x00000800l
2841 #define DDOVER_KEYSRC 0x00001000l
2847 #define DDOVER_KEYSRCOVERRIDE 0x00002000l
2852 #define DDOVER_SHOW 0x00004000l
2857 #define DDOVER_ADDDIRTYRECT 0x00008000l
2862 #define DDOVER_REFRESHDIRTYRECTS 0x00010000l
2867 #define DDOVER_REFRESHALL 0x00020000l
2873 #define DDOVER_DDFX 0x00080000l
2878 #define DDOVER_AUTOFLIP 0x00100000l
2884 #define DDOVER_BOB 0x00200000l
2890 #define DDOVER_OVERRIDEBOBWEAVE 0x00400000l
2895 #define DDOVER_INTERLEAVED 0x00800000l
2909 #define DDLOCK_SURFACEMEMORYPTR 0x00000000L // default
2916 #define DDLOCK_WAIT 0x00000001L
2922 #define DDLOCK_EVENT 0x00000002L
2927 #define DDLOCK_READONLY 0x00000010L
2932 #define DDLOCK_WRITEONLY 0x00000020L
2943 #define DDLOCK_NOSYSLOCK 0x00000800L
2977 #define DDBLTFX_ARITHSTRETCHY 0x00000001l
2983 #define DDBLTFX_MIRRORLEFTRIGHT 0x00000002l
2989 #define DDBLTFX_MIRRORUPDOWN 0x00000004l
2994 #define DDBLTFX_NOTEARING 0x00000008l
2999 #define DDBLTFX_ROTATE180 0x00000010l
3004 #define DDBLTFX_ROTATE270 0x00000020l
3009 #define DDBLTFX_ROTATE90 0x00000040l
3015 #define DDBLTFX_ZBUFFERRANGE 0x00000080l
3021 #define DDBLTFX_ZBUFFERBASEDEST 0x00000100l
3032 #define DDOVERFX_ARITHSTRETCHY 0x00000001l
3037 #define DDOVERFX_MIRRORLEFTRIGHT 0x00000002l
3042 #define DDOVERFX_MIRRORUPDOWN 0x00000004l
3053 #define DDWAITVB_BLOCKBEGIN 0x00000001l
3058 #define DDWAITVB_BLOCKBEGINEVENT 0x00000002l
3063 #define DDWAITVB_BLOCKEND 0x00000004l
3074 #define DDGFS_CANFLIP 0x00000001l
3079 #define DDGFS_ISFLIPDONE 0x00000002l
3090 #define DDGBS_CANBLT 0x00000001l
3095 #define DDGBS_ISBLTDONE 0x00000002l
3107 #define DDENUMOVERLAYZ_BACKTOFRONT 0x00000000l
3112 #define DDENUMOVERLAYZ_FRONTTOBACK 0x00000001l
3123 #define DDOVERZ_SENDTOFRONT 0x00000000l
3128 #define DDOVERZ_SENDTOBACK 0x00000001l
3133 #define DDOVERZ_MOVEFORWARD 0x00000002l
3138 #define DDOVERZ_MOVEBACKWARD 0x00000003l
3143 #define DDOVERZ_INSERTINFRONTOF 0x00000004l
3148 #define DDOVERZ_INSERTINBACKOF 0x00000005l
3181 #define DDENUMRET_CANCEL 0
3186 #define DDENUMRET_OK 1
3199 #define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5 )
3204 #define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT( 10 )
3209 #define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT( 20 )
3214 #define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT( 40 )
3219 #define DDERR_EXCEPTION MAKE_DDHRESULT( 55 )
3224 #define DDERR_GENERIC E_FAIL
3229 #define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90 )
3235 #define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95 )
3240 #define DDERR_INVALIDCAPS MAKE_DDHRESULT( 100 )
3245 #define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT( 110 )
3250 #define DDERR_INVALIDMODE MAKE_DDHRESULT( 120 )
3255 #define DDERR_INVALIDOBJECT MAKE_DDHRESULT( 130 )
3261 #define DDERR_INVALIDPARAMS E_INVALIDARG
3266 #define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT( 145 )
3271 #define DDERR_INVALIDRECT MAKE_DDHRESULT( 150 )
3276 #define DDERR_LOCKEDSURFACES MAKE_DDHRESULT( 160 )
3281 #define DDERR_NO3D MAKE_DDHRESULT( 170 )
3287 #define DDERR_NOALPHAHW MAKE_DDHRESULT( 180 )
3293 #define DDERR_NOCLIPLIST MAKE_DDHRESULT( 205 )
3299 #define DDERR_NOCOLORCONVHW MAKE_DDHRESULT( 210 )
3305 #define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT( 212 )
3310 #define DDERR_NOCOLORKEY MAKE_DDHRESULT( 215 )
3316 #define DDERR_NOCOLORKEYHW MAKE_DDHRESULT( 220 )
3321 #define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT( 222 )
3327 #define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT( 225 )
3332 #define DDERR_NOFLIPHW MAKE_DDHRESULT( 230 )
3337 #define DDERR_NOGDI MAKE_DDHRESULT( 240 )
3343 #define DDERR_NOMIRRORHW MAKE_DDHRESULT( 250 )
3348 #define DDERR_NOTFOUND MAKE_DDHRESULT( 255 )
3354 #define DDERR_NOOVERLAYHW MAKE_DDHRESULT( 260 )
3360 #define DDERR_NORASTEROPHW MAKE_DDHRESULT( 280 )
3366 #define DDERR_NOROTATIONHW MAKE_DDHRESULT( 290 )
3372 #define DDERR_NOSTRETCHHW MAKE_DDHRESULT( 310 )
3378 #define DDERR_NOT4BITCOLOR MAKE_DDHRESULT( 316 )
3384 #define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT( 317 )
3390 #define DDERR_NOT8BITCOLOR MAKE_DDHRESULT( 320 )
3396 #define DDERR_NOTEXTUREHW MAKE_DDHRESULT( 330 )
3402 #define DDERR_NOVSYNCHW MAKE_DDHRESULT( 335 )
3408 #define DDERR_NOZBUFFERHW MAKE_DDHRESULT( 340 )
3414 #define DDERR_NOZOVERLAYHW MAKE_DDHRESULT( 350 )
3420 #define DDERR_OUTOFCAPS MAKE_DDHRESULT( 360 )
3425 #define DDERR_OUTOFMEMORY E_OUTOFMEMORY
3430 #define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT( 380 )
3435 #define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT( 382 )
3440 #define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT( 384 )
3446 #define DDERR_PALETTEBUSY MAKE_DDHRESULT( 387 )
3451 #define DDERR_COLORKEYNOTSET MAKE_DDHRESULT( 400 )
3456 #define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT( 410 )
3462 #define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT( 420 )
3468 #define DDERR_SURFACEBUSY MAKE_DDHRESULT( 430 )
3477 #define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT( 435 )
3482 #define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT( 440 )
3489 #define DDERR_SURFACELOST MAKE_DDHRESULT( 450 )
3494 #define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT( 460 )
3499 #define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT( 470 )
3505 #define DDERR_TOOBIGSIZE MAKE_DDHRESULT( 480 )
3510 #define DDERR_TOOBIGWIDTH MAKE_DDHRESULT( 490 )
3515 #define DDERR_UNSUPPORTED E_NOTIMPL
3520 #define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT( 510 )
3525 #define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT( 520 )
3530 #define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT( 537 )
3536 #define DDERR_WASSTILLDRAWING MAKE_DDHRESULT( 540 )
3542 #define DDERR_XALIGN MAKE_DDHRESULT( 560 )
3548 #define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
3554 #define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT( 562 )
3560 #define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT( 563 )
3565 #define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT( 564 )
3570 #define DDERR_NOEMULATION MAKE_DDHRESULT( 565 )
3575 #define DDERR_REGIONTOOSMALL MAKE_DDHRESULT( 566 )
3581 #define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT( 567 )
3586 #define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT( 568 )
3592 #define DDERR_NOHWND MAKE_DDHRESULT( 569 )
3598 #define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT( 570 )
3604 #define DDERR_HWNDALREADYSET MAKE_DDHRESULT( 571 )
3609 #define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT( 572 )
3614 #define DDERR_NOPALETTEHW MAKE_DDHRESULT( 573 )
3620 #define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT( 574 )
3625 #define DDERR_NOBLTHW MAKE_DDHRESULT( 575 )
3630 #define DDERR_NODDROPSHW MAKE_DDHRESULT( 576 )
3635 #define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT( 577 )
3641 #define DDERR_NOOVERLAYDEST MAKE_DDHRESULT( 578 )
3647 #define DDERR_INVALIDPOSITION MAKE_DDHRESULT( 579 )
3652 #define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT( 580 )
3658 #define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT( 581 )
3663 #define DDERR_NOTFLIPPABLE MAKE_DDHRESULT( 582 )
3669 #define DDERR_CANTDUPLICATE MAKE_DDHRESULT( 583 )
3675 #define DDERR_NOTLOCKED MAKE_DDHRESULT( 584 )
3680 #define DDERR_CANTCREATEDC MAKE_DDHRESULT( 585 )
3685 #define DDERR_NODC MAKE_DDHRESULT( 586 )
3691 #define DDERR_WRONGMODE MAKE_DDHRESULT( 587 )
3697 #define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT( 588 )
3702 #define DDERR_NOTPALETTIZED MAKE_DDHRESULT( 589 )
3708 #define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT( 590 )
3714 #define DDERR_NOMIPMAPHW MAKE_DDHRESULT( 591 )
3720 #define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT( 592 )
3727 #define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT( 600 )
3732 #define DDERR_NOTLOADED MAKE_DDHRESULT( 601 )
3738 #define DDERR_DCALREADYCREATED MAKE_DDHRESULT( 620 )
3744 #define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT( 630 )
3749 #define DDERR_CANTPAGELOCK MAKE_DDHRESULT( 640 )
3754 #define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT( 660 )
3759 #define DDERR_NOTPAGELOCKED MAKE_DDHRESULT( 680 )
3764 #define DDERR_MOREDATA MAKE_DDHRESULT( 690 )
3769 #define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT( 695 )
3775 #define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT( 699 )
3782 #define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED
struct _DDBLTBATCH DDBLTBATCH
DDCOLORKEY dckDestColorkey
DWORD dwRops[DD_ROP_SPACE]
DWORD dwMaxHwCodecStretch
struct _DDOVERLAYFX DDOVERLAYFX
DWORD dwMinLiveVideoStretch
LPDIRECTDRAWSURFACE lpDDSAlphaDest
DWORD dwZSrcConstBitDepth
DWORD dwAlphaBltSurfaceBitDepths
DWORD dwAlphaEdgeBlendBitDepth
DWORD dwMaxHwCodecStretch
LPDIRECTDRAWSURFACE lpDDSAlphaDest
DDCOLORKEY ddckSrcColorkey
DWORD dwMinLiveVideoStretch
DWORD dwMaxLiveVideoStretch
DDPIXELFORMAT FAR * LPDDPIXELFORMAT
DWORD dwVSBRops[DD_ROP_SPACE]
DWORD dwAlphaOverlaySurfaceBitDepths
DWORD dwZDestConstBitDepth
DWORD dwAlphaSrcConstBitDepth
DDCOLORKEY ddckCKDestOverlay
DWORD dwCurrVisibleOverlays
DDBLTBATCH FAR * LPDDBLTBATCH
DWORD dwAlphaDestConstBitDepth
DDPIXELFORMAT ddpfPixelFormat
struct IDirectDraw2 FAR * LPDIRECTDRAW2
DWORD dwAlphaOverlayPixelBitDepths
DECLARE_INTERFACE_(IDPAsyncData, IUnknown)
struct IDirectDrawSurface2 FAR * LPDIRECTDRAWSURFACE2
DWORD dwMaxVisibleOverlays
DWORD dwSSBRops[DD_ROP_SPACE]
DWORD dwMinOverlayStretch
struct _DDFXROP FAR * LPDDFXROP
DWORD dwColorSpaceLowValue
DWORD dwAlphaBltPixelBitDepths
DWORD dwMaxVisibleOverlays
DWORD dwAlphaOverlayPixelBitDepths
DWORD dwSVBRops[DD_ROP_SPACE]
struct _DDSURFACEDESC DDSURFACEDESC
HWND DWORD LPVOID lpContext
DDCOLORKEY dckSrcColorkey
struct _DDCOLORCONTROL DDCOLORCONTROL
DWORD dwRops[DD_ROP_SPACE]
DWORD dwMinOverlayStretch
DWORD dwAlphaOverlaySurfaceBitDepths
struct IDirectDrawSurface3 FAR * LPDIRECTDRAWSURFACE3
struct IDirectDrawColorControl FAR * LPDIRECTDRAWCOLORCONTROL
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
DWORD dwSSBRops[DD_ROP_SPACE]
DWORD dwAlphaBltConstBitDepths
DWORD dwAlphaBltPixelBitDepths
LPDIRECTDRAWSURFACE lpDDSPattern
DWORD dwAlphaOverlayConstBitDepths
DWORD dwSVBRops[DD_ROP_SPACE]
DWORD dwNLVBRops[DD_ROP_SPACE]
DDCOLORKEY ddckCKSrcOverlay
typedef HDC(WINAPI *PFNWGLGETCURRENTREADDCARBPROC)(void)
LPDIRECTDRAWSURFACE lpDDSAlphaSrc
DWORD dwVSBRops[DD_ROP_SPACE]
struct IDirectDrawPalette FAR * LPDIRECTDRAWPALETTE
DWORD dwAlphaOverlayConstBitDepths
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
DDOVERLAYFX FAR * LPDDOVERLAYFX
LPDIRECTDRAWSURFACE lpDDSAlphaSrc
LPDIRECTDRAWSURFACE lpDDSZBufferDest
DWORD dwMaxLiveVideoStretch
DWORD dwMaxOverlayStretch
DWORD dwMaxOverlayStretch
struct _DDSURFACEDESC FAR * LPDDSURFACEDESC
DWORD dwAlphaBltConstBitDepths
DWORD dwAlignBoundaryDest
DDCAPS_DX3 FAR * LPDDCAPS_DX3
DWORD dwMinHwCodecStretch
DWORD dwColorSpaceHighValue
struct _DDCOLORCONTROL FAR * LPDDCOLORCONTROL
DWORD dwMinHwCodecStretch
struct IDirectDrawClipper FAR * LPDIRECTDRAWCLIPPER
struct _DDPIXELFORMAT DDPIXELFORMAT
struct _DDCAPS_DX3 DDCAPS_DX3
DEFINE_GUID(IID_IDPAsyncData, 0x47bcd7e0, 0x2e89, 0x11d0, 0xa8, 0x89, 0x0, 0xa0, 0xc9, 0x5, 0x43, 0x3c)
DWORD dwAlphaSrcConstBitDepth
DWORD dwCurrVisibleOverlays
DWORD dwAlphaEdgeBlendBitDepth
DDCOLORKEY FAR * LPDDCOLORKEY
LPDIRECTDRAWSURFACE lpDDSZBufferSrc
LPDIRECTDRAWSURFACE lpDDSSrc
struct _DDCOLORKEY DDCOLORKEY
struct IDirectDraw FAR * LPDIRECTDRAW
DWORD dwAlphaBltSurfaceBitDepths
DWORD dwAlphaDestConstBitDepth
DWORD dwAlignBoundaryDest
DDCOLORKEY ddckDestColorkey