⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddraw.h

📁 wince (windows mobile)绘制的很好实例,可以作为视频开发的参考
💻 H
📖 第 1 页 / 共 3 页
字号:
#define DDOVERLAYCAPS_FOURCC                0x00000004
#define DDOVERLAYCAPS_ZORDER                0x00000008
#define DDOVERLAYCAPS_MIRRORLEFTRIGHT       0x00000010
#define DDOVERLAYCAPS_MIRRORUPDOWN          0x00000020
#define DDOVERLAYCAPS_CKEYSRC               0x00000040
#define DDOVERLAYCAPS_CKEYSRCCLRSPACE       0x00000080
#define DDOVERLAYCAPS_CKEYSRCCLRSPACEYUV    0x00000100
#define DDOVERLAYCAPS_CKEYDEST              0x00000200
#define DDOVERLAYCAPS_CKEYDESTCLRSPACE      0x00000400
#define DDOVERLAYCAPS_CKEYDESTCLRSPACEYUV   0x00000800
#define DDOVERLAYCAPS_CKEYBOTH              0x00001000
#define DDOVERLAYCAPS_ALPHADEST             0x00002000
#define DDOVERLAYCAPS_ALPHASRC              0x00008000
#define DDOVERLAYCAPS_ALPHADESTNEG          0x00002000
#define DDOVERLAYCAPS_ALPHASRCNEG           0x00008000
#define DDOVERLAYCAPS_ALPHACONSTANT         0x00010000
#define DDOVERLAYCAPS_ALPHAPREMULT          0x00040000
#define DDOVERLAYCAPS_ALPHANONPREMULT       0x00080000
#define DDOVERLAYCAPS_ALPHAANDKEYDEST       0x00100000
#define DDOVERLAYCAPS_OVERLAYSUPPORT        0x80000000

#define DDOVERLAYCAPS_VALID                 (DDOVERLAYCAPS_FLIP                | \
                                             DDOVERLAYCAPS_FOURCC              | \
                                             DDOVERLAYCAPS_ZORDER              | \
                                             DDOVERLAYCAPS_MIRRORLEFTRIGHT     | \
                                             DDOVERLAYCAPS_MIRRORUPDOWN        | \
                                             DDOVERLAYCAPS_CKEYSRC             | \
                                             DDOVERLAYCAPS_CKEYSRCCLRSPACE     | \
                                             DDOVERLAYCAPS_CKEYSRCCLRSPACEYUV  | \
                                             DDOVERLAYCAPS_CKEYDEST            | \
                                             DDOVERLAYCAPS_CKEYDESTCLRSPACE    | \
                                             DDOVERLAYCAPS_CKEYDESTCLRSPACEYUV | \
                                             DDOVERLAYCAPS_CKEYBOTH            | \
                                             DDOVERLAYCAPS_ALPHADEST           | \
                                             DDOVERLAYCAPS_ALPHASRC            | \
                                             DDOVERLAYCAPS_ALPHADESTNEG        | \
                                             DDOVERLAYCAPS_ALPHASRCNEG         | \
                                             DDOVERLAYCAPS_ALPHACONSTANT       | \
                                             DDOVERLAYCAPS_ALPHAPREMULT        | \
                                             DDOVERLAYCAPS_ALPHANONPREMULT     | \
                                             DDOVERLAYCAPS_ALPHAANDKEYDEST     | \
                                             DDOVERLAYCAPS_OVERLAYSUPPORT)

/*
 * Miscellaneous Capability Flags (For DDCAPS dwMiscCaps member)
 */

#define DDMISCCAPS_READSCANLINE         0x00000001
#define DDMISCCAPS_READMONITORFREQ      0x00000002
#define DDMISCCAPS_READVBLANKSTATUS     0x00000004
#define DDMISCCAPS_FLIPINTERVAL         0x00000008
#define DDMISCCAPS_FLIPODDEVEN          0x00000010
#define DDMISCCAPS_FLIPVSYNCWITHVBI     0x00000020
#define DDMISCCAPS_COLORCONTROLOVERLAY  0x00000040
#define DDMISCCAPS_COLORCONTROLPRIMARY  0x00000080
#define DDMISCCAPS_GAMMACONTROLOVERLAY  0x00000100
#define DDMISCCAPS_GAMMACONTROLPRIMARY  0x00000200

#define DDMISCCAPS_VALID                (DDMISCCAPS_READSCANLINE        | \
                                         DDMISCCAPS_READMONITORFREQ     | \
                                         DDMISCCAPS_READVBLANKSTATUS    | \
                                         DDMISCCAPS_FLIPINTERVAL        | \
                                         DDMISCCAPS_FLIPODDEVEN         | \
                                         DDMISCCAPS_FLIPVSYNCWITHVBI    | \
                                         DDMISCCAPS_COLORCONTROLOVERLAY | \
                                         DDMISCCAPS_COLORCONTROLPRIMARY | \
                                         DDMISCCAPS_GAMMACONTROLOVERLAY | \
                                         DDMISCCAPS_GAMMACONTROLPRIMARY)

/*
 * DirectDraw method flags
 */

/*
 * Flags for IDirectDraw::EnumSurfaces
 */

#define DDENUMSURFACES_ALL			    0x00000001
#define DDENUMSURFACES_MATCH			0x00000002
#define DDENUMSURFACES_NOMATCH			0x00000004
#define DDENUMSURFACES_CANBECREATED		0x00000008
#define DDENUMSURFACES_DOESEXIST		0x00000010

#define DDENUMSURFACES_VALID			(DDENUMSURFACES_ALL			 | \
                                         DDENUMSURFACES_MATCH		 | \
                                         DDENUMSURFACES_NOMATCH		 | \
                                         DDENUMSURFACES_CANBECREATED | \
                                         DDENUMSURFACES_DOESEXIST)

/*
 * Flags for IDirectDraw::SetCooperativeLevel
 */

#define DDSCL_NORMAL				0x00000000
#define DDSCL_FULLSCREEN			0x00000001

#define DDSCL_VALID                 (DDSCL_FULLSCREEN | \
                                     DDSCL_NORMAL)

/*
 * Flags for IDirectDraw::WaitForVerticalBlank
 */

#define DDWAITVB_BLOCKBEGIN			0x00000001
#define DDWAITVB_BLOCKEND			0x00000004

#define DDWAITVB_VALID              (DDWAITVB_BLOCKBEGIN | \
                                     DDWAITVB_BLOCKEND)

/*
 * Flags for IDirectDrawSurface::GetColorKey and IDirectDrawSurface::SetColorKey
 */

#define DDCKEY_COLORSPACE	0x00000001
#define DDCKEY_DESTBLT		0x00000002
#define DDCKEY_DESTOVERLAY	0x00000004
#define DDCKEY_SRCBLT		0x00000008
#define DDCKEY_SRCOVERLAY	0x00000010

#define DDCKEY_VALID		(DDCKEY_DESTBLT		| \
                             DDCKEY_DESTOVERLAY	| \
                             DDCKEY_SRCBLT		| \
                             DDCKEY_SRCOVERLAY)

/*
 * Flags for IDirectDrawSurface::Blt
 */

#define DDBLT_COLORFILL         0x00000400
#define DDBLT_KEYDEST			0x00002000
#define DDBLT_KEYDESTOVERRIDE	0x00004000
#define DDBLT_KEYSRC			0x00008000
#define DDBLT_KEYSRCOVERRIDE	0x00010000
#define DDBLT_ROP				0x00020000
#define DDBLT_WAITNOTBUSY       0x01000000
#define DDBLT_WAITVSYNC         0x00000001

#define DDBLT_VALID             (DDBLT_COLORFILL       | \
                                 DDBLT_KEYDEST		   | \
                                 DDBLT_KEYDESTOVERRIDE | \
                                 DDBLT_KEYSRC		   | \
                                 DDBLT_KEYSRCOVERRIDE  | \
                                 DDBLT_ROP			   | \
                                 DDBLT_WAITNOTBUSY     | \
                                 DDBLT_WAITVSYNC)

/*
 * Flags for IDirectDrawSurface::AlphaBlt
 */

#define DDABLT_NOBLEND 				0x02000000
#define DDABLT_COLORFILL			0x00100000
#define DDABLT_ALPHADESTNEG			0x00000004
#define DDABLT_ALPHASRCNEG			0x00000080
#define DDABLT_WAITNOTBUSY          0x01000000
#define DDABLT_WAITVSYNC            0x00000001

#define DDABLT_VALID			    (DDABLT_NOBLEND 		| \
                                     DDABLT_COLORFILL		| \
                                     DDABLT_ALPHADESTNEG	| \
                                     DDABLT_ALPHASRCNEG		| \
                                     DDABLT_WAITNOTBUSY     | \
                                     DDABLT_WAITVSYNC)

/*
 * Flags for IDirectDrawSurface::Flip
 */

#define DDFLIP_EVEN                          0x00000002
#define DDFLIP_ODD                           0x00000004
#define DDFLIP_INTERVAL1                     0x01000000
#define DDFLIP_INTERVAL2                     0x02000000
#define DDFLIP_INTERVAL4                     0x04000000
#define DDFLIP_WAITNOTBUSY                   0x00000008
#define DDFLIP_WAITVSYNC                     0x00000001

#define DDFLIP_VALID                         (DDFLIP_EVEN         | \
                                              DDFLIP_ODD          | \
                                              DDFLIP_INTERVAL1    | \
                                              DDFLIP_INTERVAL2    | \
                                              DDFLIP_INTERVAL4    | \
                                              DDFLIP_WAITNOTBUSY  | \
                                              DDFLIP_WAITVSYNC)

#define DDFLIP_INTERVAL3                     (DDFLIP_INTERVAL1 | \
                                              DDFLIP_INTERVAL2)

#define DDFLIP_INTERVALMASK                  (DDFLIP_INTERVAL1 | \
                                              DDFLIP_INTERVAL2 | \
                                              DDFLIP_INTERVAL4)

/*
 * Flag values for IDirectDrawSurface::UpdateOverlay
 */

#define DDOVER_ALPHADEST			    0x00000001
#define DDOVER_ALPHADESTNEG			    0x00000002
#define DDOVER_ALPHASRC				    0x00000004
#define DDOVER_ALPHASRCNEG			    0x00000008
#define DDOVER_ALPHACONSTOVERRIDE	    0x00000010
#define DDOVER_HIDE				        0x00000020
#define DDOVER_KEYDEST				    0x00000040
#define DDOVER_KEYDESTOVERRIDE			0x00000080
#define DDOVER_KEYSRC				    0x00000100
#define DDOVER_KEYSRCOVERRIDE			0x00000200
#define DDOVER_SHOW				        0x00000400
#define DDOVER_MIRRORLEFTRIGHT		    0x00001000
#define DDOVER_MIRRORUPDOWN			    0x00002000
#define DDOVER_WAITNOTBUSY              0x00004000
#define DDOVER_WAITVSYNC                0x00008000

#define DDOVER_VALID                    (DDOVER_ALPHADEST          | \
                                         DDOVER_ALPHADESTNEG       | \
                                         DDOVER_ALPHASRC           | \
                                         DDOVER_ALPHASRCNEG        | \
                                         DDOVER_ALPHACONSTOVERRIDE | \
                                         DDOVER_HIDE               | \
                                         DDOVER_KEYDEST            | \
                                         DDOVER_KEYDESTOVERRIDE    | \
                                         DDOVER_KEYSRC             | \
                                         DDOVER_KEYSRCOVERRIDE     | \
                                         DDOVER_SHOW               | \
                                         DDOVER_MIRRORLEFTRIGHT    | \
                                         DDOVER_MIRRORUPDOWN       | \
                                         DDOVER_WAITNOTBUSY        | \
                                         DDOVER_WAITVSYNC)

/*
 * Flags for IDirectDrawSurface::Lock
 */

#define DDLOCK_READONLY             0x00000001
#define DDLOCK_WRITEONLY            0x00000002
#define DDLOCK_DISCARD              0x00000004
#define DDLOCK_WAITNOTBUSY          0x00000008

#define DDLOCK_VALID				(DDLOCK_READONLY    | \
                                     DDLOCK_WRITEONLY   | \
                                     DDLOCK_DISCARD     | \
                                     DDLOCK_WAITNOTBUSY)

/*
 * Flags for IDirectDrawSurface::GetFlipStatus
 */

#define DDGFS_CANFLIP			0x00000001
#define DDGFS_ISFLIPDONE		0x00000002

#define DDGFS_VALID             (DDGFS_CANFLIP | \
                                 DDGFS_ISFLIPDONE)


/*
 * Flags for IDirectDrawSurface::GetBltStatus
 */

#define DDGBS_CANBLT			0x00000001
#define DDGBS_ISBLTDONE			0x00000002

#define DDGBS_VALID             (DDGBS_CANBLT | \
                                 DDGBS_ISBLTDONE)

/*
 * Flags for IDirectDrawSurface::EnumOverlayZOrders
 */

#define DDENUMOVERLAYZ_FRONTTOBACK	0x00000001

#define DDENUMOVERLAYZ_VALID        DDENUMOVERLAYZ_FRONTTOBACK

/*
 * Flags for IDirectDrawSurface::UpdateOverlayZOrder
 */

#define DDOVERZ_SENDTOFRONT		    0x00000000
#define DDOVERZ_SENDTOBACK		    0x00000001
#define DDOVERZ_MOVEFORWARD		    0x00000002
#define DDOVERZ_MOVEBACKWARD		0x00000003
#define DDOVERZ_INSERTINFRONTOF		0x00000004
#define DDOVERZ_INSERTINBACKOF		0x00000005

/*
 * DirectDraw Return Codes
 */

/*
 * Enumeration function return values.
 */

#define DDENUMRET_CANCEL			((HRESULT)(0))
#define DDENUMRET_OK				((HRESULT)(1))

/*
 * DirectDraw error codes.
 */

#define _FACDD	0x876
#define MAKE_DDHRESULT( code )	MAKE_HRESULT( 1, _FACDD, code )

#define DD_OK                               NOERROR

#define DDERR_CURRENTLYNOTAVAIL		        MAKE_DDHRESULT( 40 )
#define DDERR_GENERIC				        E_FAIL
#define DDERR_HEIGHTALIGN			        MAKE_DDHRESULT( 90 )
#define DDERR_INCOMPATIBLEPRIMARY		    MAKE_DDHRESULT( 95 )
#define DDERR_INVALIDCAPS			        MAKE_DDHRESULT( 100 )
#define DDERR_INVALIDCLIPLIST			    MAKE_DDHRESULT( 110 )
#define DDERR_INVALIDMODE			        MAKE_DDHRESULT( 120 )
#define DDERR_INVALIDOBJECT			        MAKE_DDHRESULT( 130 )
#define DDERR_INVALIDPARAMS			        E_INVALIDARG
#define DDERR_INVALIDPIXELFORMAT		    MAKE_DDHRESULT( 145 )
#define DDERR_INVALIDRECT			        MAKE_DDHRESULT( 150 )
#define DDERR_LOCKEDSURFACES			    MAKE_DDHRESULT( 160 )
#define DDERR_NOCLIPLIST			        MAKE_DDHRESULT( 205 )
#define DDERR_NOALPHAHW				        MAKE_DDHRESULT( 180 )
#define DDERR_NOCOLORCONVHW			        MAKE_DDHRESULT( 210 )
#define DDERR_NOCOOPERATIVELEVELSET		    MAKE_DDHRESULT( 212 )
#define DDERR_NOCOLORKEYHW			        MAKE_DDHRESULT( 215 )
#define DDERR_NOFLIPHW				        MAKE_DDHRESULT( 230 )
#define DDERR_NOTFOUND				        MAKE_DDHRESULT( 255 )
#define DDERR_NOOVERLAYHW			        MAKE_DDHRESULT( 260 )
#define DDERR_OVERLAPPINGRECTS			    MAKE_DDHRESULT( 270 )
#define DDERR_NORASTEROPHW			        MAKE_DDHRESULT( 280 )
#define DDERR_NOSTRETCHHW			        MAKE_DDHRESULT( 310 )
#define DDERR_NOVSYNCHW				        MAKE_DDHRESULT( 335 )
#define DDERR_NOZOVERLAYHW			        MAKE_DDHRESULT( 350 )
#define DDERR_OUTOFCAPS				        MAKE_DDHRESULT( 360 )
#define DDERR_OUTOFMEMORY			        E_OUTOFMEMORY
#define DDERR_OUTOFVIDEOMEMORY			    MAKE_DDHRESULT( 380 )
#define DDERR_PALETTEBUSY			        MAKE_DDHRESULT( 387 )
#define DDERR_COLORKEYNOTSET			    MAKE_DDHRESULT( 400 )
#define DDERR_SURFACEBUSY			        MAKE_DDHRESULT( 430 )
#define DDERR_CANTLOCKSURFACE               MAKE_DDHRESULT( 435 )
#define DDERR_SURFACELOST			        MAKE_DDHRESULT( 450 )
#define DDERR_TOOBIGHEIGHT			        MAKE_DDHRESULT( 470 )
#define DDERR_TOOBIGSIZE			        MAKE_DDHRESULT( 480 )
#define DDERR_TOOBIGWIDTH			        MAKE_DDHRESULT( 490 )
#define DDERR_UNSUPPORTED			        E_NOTIMPL
#define DDERR_UNSUPPORTEDFORMAT             MAKE_DDHRESULT( 536 )
#define DDERR_VERTICALBLANKINPROGRESS		MAKE_DDHRESULT( 537 )
#define DDERR_WASSTILLDRAWING			    MAKE_DDHRESULT( 540 )
#define DDERR_DIRECTDRAWALREADYCREATED		MAKE_DDHRESULT( 562 )
#define DDERR_PRIMARYSURFACEALREADYEXISTS	MAKE_DDHRESULT( 564 )
#define DDERR_REGIONTOOSMALL			    MAKE_DDHRESULT( 566 )
#define DDERR_CLIPPERISUSINGHWND		    MAKE_DDHRESULT( 567 )
#define DDERR_NOCLIPPERATTACHED			    MAKE_DDHRESULT( 568 )
#define DDERR_NOPALETTEATTACHED			    MAKE_DDHRESULT( 572 )
#define DDERR_NOPALETTEHW			        MAKE_DDHRESULT( 573 )
#define DDERR_NOBLTHW				        MAKE_DDHRESULT( 575 )
#define DDERR_OVERLAYNOTVISIBLE			    MAKE_DDHRESULT( 577 )
#define DDERR_NOOVERLAYDEST			        MAKE_DDHRESULT( 578 )
#define DDERR_INVALIDPOSITION			    MAKE_DDHRESULT( 579 )
#define DDERR_NOTAOVERLAYSURFACE		    MAKE_DDHRESULT( 580 )
#define DDERR_EXCLUSIVEMODEALREADYSET		MAKE_DDHRESULT( 581 )
#define DDERR_NOTFLIPPABLE			        MAKE_DDHRESULT( 582 )
#define DDERR_NOTLOCKED				        MAKE_DDHRESULT( 584 )
#define DDERR_CANTCREATEDC			        MAKE_DDHRESULT( 585 )
#define DDERR_NODC				            MAKE_DDHRESULT( 586 )
#define DDERR_WRONGMODE				        MAKE_DDHRESULT( 587 )
#define DDERR_IMPLICITLYCREATED			    MAKE_DDHRESULT( 588 )
#define DDERR_NOTPALETTIZED			        MAKE_DDHRESULT( 589 )
#define DDERR_DCALREADYCREATED			    MAKE_DDHRESULT( 620 )
#define DDERR_MOREDATA         			    MAKE_DDHRESULT( 690 )
#define DDERR_VIDEONOTACTIVE   		    	MAKE_DDHRESULT( 695 )
#define DDERR_DEVICEDOESNTOWNSURFACE   		MAKE_DDHRESULT( 699 )

#ifdef __cplusplus
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -