Ada计算机图形DirectX之dvp

xiaoxiao2025-04-16  7

---------------------------------------- -- File : dvp.ads -- -- Translator:Dongfeng.Gu,2018/10/29 -- -- Mail: 515639@qq.com -- -- Progress:100% -- ---------------------------------------- with win32; use win32; with win32.Winreg; use win32.Winreg; with win32.winnt; use win32.winnt; with win32.windef; use win32.windef; with win32.rpcdce; use win32.rpcdce; with win32.Objbase; use win32.Objbase; with ddraw; use ddraw; package dvp is type LPIUNKNOWN is access all IUnknown; IID_IDDVideoPortContainer:constant win32.rpcdce.GUID:=(16#6C142760#,16#A733#,16#11CE#,(16#A5#,16#21#,16#00#,16#20#,16#AF#,16#0B#,16#E5#,16#60#)); IID_IDirectDrawVideoPort:constant win32.rpcdce.GUID:=(16#B36D93E0#,16#2B43#,16#11CF#,(16#A2#,16#DE#,16#00#,16#AA#,16#00#,16#B9#,16#33#,16#56#)); IID_IDirectDrawVideoPortNotify:constant win32.rpcdce.GUID:=(16#A655FB94#,16#0589#,16#4E57#,(16#B3#,16#33#,16#56#,16#7A#,16#89#,16#46#,16#8C#,16#88#)); DDVPTYPE_E_HREFH_VREFH:constant win32.rpcdce.GUID:=(16#54F39980#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_E_HREFH_VREFL:constant win32.rpcdce.GUID:=(16#92783220#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_E_HREFL_VREFH:constant win32.rpcdce.GUID:=(16#A07A02E0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_E_HREFL_VREFL:constant win32.rpcdce.GUID:=(16#E09C77E0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_CCIR656:constant win32.rpcdce.GUID:=(16#FCA326A0#,16#DA60#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_BROOKTREE:constant win32.rpcdce.GUID:=(16#1352A560#,16#DA61#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); DDVPTYPE_PHILIPS:constant win32.rpcdce.GUID:=(16#332CF160#,16#DA61#,16#11CF#,(16#9B#,16#06#,16#00#,16#A0#,16#C9#,16#03#,16#A3#,16#B8#)); subtype ULONG_PTR is DWORD; type tagDDVIDEOPORTCONNECT; type LPDDVIDEOPORTCONNECT is access all tagDDVIDEOPORTCONNECT; type tagDDVIDEOPORTCAPS; type LPDDVIDEOPORTCAPS is access all tagDDVIDEOPORTCAPS; type tagDDVIDEOPORTDESC; type LPDDVIDEOPORTDESC is access all tagDDVIDEOPORTDESC; type tagDDVIDEOPORTINFO; type LPDDVIDEOPORTINFO is access all tagDDVIDEOPORTINFO; type tagDDVIDEOPORTBANDWIDTH; type LPDDVIDEOPORTBANDWIDTH is access all tagDDVIDEOPORTBANDWIDTH; type tagDDVIDEOPORTSTATUS; type LPDDVIDEOPORTSTATUS is access all tagDDVIDEOPORTSTATUS; type tagDDVIDEOPORTNOTIFY; type LPDDVIDEOPORTNOTIFY is access all tagDDVIDEOPORTNOTIFY; type LPDDENUMVIDEOCALLBACK is access function(Arg_1:LPDDVIDEOPORTCAPS;Arg_2:LPVOID) return HRESULT with Convention=>Stdcall; type IDDVideoPortContainer; type LPIDDVideoPortContainer is access all IDDVideoPortContainer; type LPLPIDDVideoPortContainer is access all LPIDDVideoPortContainer; subtype LPDDVideoPortContainer is LPIDDVideoPortContainer; subtype LPLPDDVideoPortContainer is LPLPIDDVideoPortContainer; type IDirectDrawVideoPort; type LPIDirectDrawVideoPort is access all IDirectDrawVideoPort; type LPLPIDirectDrawVideoPort is access all LPIDirectDrawVideoPort; subtype LPDirectDrawVideoPort is LPIDirectDrawVideoPort; subtype LPLPDirectDrawVideoPort is LPLPIDirectDrawVideoPort; type IDirectDrawVideoPortNotify; type LPIDirectDrawVideoPortNotify is access all IDirectDrawVideoPortNotify; type LPLPIDirectDrawVideoPortNotify is access all LPIDirectDrawVideoPortNotify; subtype LPDirectDrawVideoPortNotify is LPIDirectDrawVideoPortNotify; subtype LPLPDirectDrawVideoPortNotify is LPLPIDirectDrawVideoPortNotify; type IDDVideoPortContainer is record QueryInterface:access procedure(THIS:LPIDDVideoPortContainer;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall; AddRef:access function(THIS:LPIDDVideoPortContainer) return ULONG with Convention=>Stdcall; Release:access function(THIS:LPIDDVideoPortContainer) return ULONG with Convention=>Stdcall; CreateVideoPort:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTDESC;Arg4:LPLPDIRECTDRAWVIDEOPORT;Arg5:LPIUnknown) with Convention=>Stdcall; EnumVideoPorts:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTCAPS;Arg4:LPVOID;Arg5:LPDDENUMVIDEOCALLBACK) with Convention=>Stdcall; GetVideoPortConnectInfo:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;pcInfo:LPDWORD;Arg4:LPDDVIDEOPORTCONNECT) with Convention=>Stdcall; QueryVideoPortStatus:access procedure(THIS:LPIDDVideoPortContainer;Arg2:DWORD;Arg3:LPDDVIDEOPORTSTATUS) with Convention=>Stdcall; end record; type IDirectDrawVideoPort is record QueryInterface:access procedure(THIS:LPIDirectDrawVideoPort;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall; AddRef:access function(THIS:LPIDirectDrawVideoPort) return ULONG with Convention=>Stdcall; Release:access function(THIS:LPIDirectDrawVideoPort) return ULONG with Convention=>Stdcall; Flip:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDIRECTDRAWSURFACE;Arg3:DWORD) with Convention=>Stdcall; GetBandwidthInfo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDPIXELFORMAT;Arg3:DWORD;Arg4:DWORD;Arg5:DWORD;Arg6:LPDDVIDEOPORTBANDWIDTH) with Convention=>Stdcall; GetColorControls:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall; GetInputFormats:access procedure(THIS:LPIDirectDrawVideoPort;lpNumFormats:LPDWORD;Arg3:LPDDPIXELFORMAT;Arg4:DWORD) with Convention=>Stdcall; GetOutputFormats:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDPIXELFORMAT;lpNumFormats:LPDWORD;Arg4:LPDDPIXELFORMAT;Arg5:DWORD) with Convention=>Stdcall; GetFieldPolarity:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPBOOL) with Convention=>Stdcall; GetVideoLine:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDWORD) with Convention=>Stdcall; GetVideoSignalStatus:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDWORD) with Convention=>Stdcall; SetColorControls:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDCOLORCONTROL) with Convention=>Stdcall; SetTargetSurface:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDIRECTDRAWSURFACE;Arg3:DWORD) with Convention=>Stdcall; StartVideo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDVIDEOPORTINFO) with Convention=>Stdcall; StopVideo:access procedure(THIS:LPIDirectDrawVideoPort) with Convention=>Stdcall; UpdateVideo:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:LPDDVIDEOPORTINFO) with Convention=>Stdcall; WaitForSync:access procedure(THIS:LPIDirectDrawVideoPort;Arg2:DWORD;Arg3:DWORD;Arg4:DWORD) with Convention=>Stdcall; end record; type IDirectDrawVideoPortNotify is record QueryInterface:access procedure(THIS:LPIDirectDrawVideoPortNotify;riid:REFIID;ppvObj:LPLPVOID) with Convention=>Stdcall; AddRef:access function(THIS:LPIDirectDrawVideoPortNotify) return ULONG with Convention=>Stdcall; Release:access function(THIS:LPIDirectDrawVideoPortNotify) return ULONG with Convention=>Stdcall; AcquireNotification:access procedure(THIS:LPIDirectDrawVideoPortNotify;Arg2:LPHANDLE;Arg3:LPDDVIDEOPORTNOTIFY) with Convention=>Stdcall; ReleaseNotification:access procedure(THIS:LPIDirectDrawVideoPortNotify;Arg2:HANDLE) with Convention=>Stdcall; end record; type tagDDVIDEOPORTCONNECT is record dwSize: DWORD; dwPortWidth: DWORD; guidTypeID: GUID; dwFlags: DWORD; dwReserved1: ULONG_PTR; end record; subtype DDVIDEOPORTCONNECT is tagDDVIDEOPORTCONNECT; type tagDDVIDEOPORTCAPS is record dwSize: DWORD; dwFlags: DWORD; dwMaxWidth: DWORD; dwMaxVBIWidth: DWORD; dwMaxHeight: DWORD; dwVideoPortID: DWORD; dwCaps: DWORD; dwFX: DWORD; dwNumAutoFlipSurfaces: DWORD; dwAlignVideoPortBoundary: DWORD; dwAlignVideoPortPrescaleWidth: DWORD; dwAlignVideoPortCropBoundary: DWORD; dwAlignVideoPortCropWidth: DWORD; dwPreshrinkXStep: DWORD; dwPreshrinkYStep: DWORD; dwNumVBIAutoFlipSurfaces: DWORD; dwNumPreferredAutoflip: DWORD; wNumFilterTapsX: WORD; wNumFilterTapsY: WORD; end record; subtype DDVIDEOPORTCAPS is tagDDVIDEOPORTCAPS; DDVPD_WIDTH : constant := 16#00000001#; DDVPD_HEIGHT : constant := 16#00000002#; DDVPD_ID : constant := 16#00000004#; DDVPD_CAPS : constant := 16#00000008#; DDVPD_FX : constant := 16#00000010#; DDVPD_AUTOFLIP : constant := 16#00000020#; DDVPD_ALIGN : constant := 16#00000040#; DDVPD_PREFERREDAUTOFLIP : constant := 16#00000080#; DDVPD_FILTERQUALITY : constant := 16#00000100#; type tagDDVIDEOPORTDESC is record dwSize: DWORD; dwFieldWidth: DWORD; dwVBIWidth: DWORD; dwFieldHeight: DWORD; dwMicrosecondsPerField: DWORD; dwMaxPixelsPerSecond: DWORD; dwVideoPortID: DWORD; dwReserved1: DWORD; VideoPortType: DDVIDEOPORTCONNECT; dwReserved2: ULONG_PTR; dwReserved3: ULONG_PTR; end record; subtype DDVIDEOPORTDESC is tagDDVIDEOPORTDESC; type tagDDVIDEOPORTINFO is record dwSize: DWORD; dwOriginX: DWORD; dwOriginY: DWORD; dwVPFlags: DWORD; rCrop: RECT; dwPrescaleWidth: DWORD; dwPrescaleHeight: DWORD; lpddpfInputFormat: LPDDPIXELFORMAT; lpddpfVBIInputFormat: LPDDPIXELFORMAT; lpddpfVBIOutputFormat: LPDDPIXELFORMAT; dwVBIHeight: DWORD; dwReserved1: ULONG_PTR; dwReserved2: ULONG_PTR; end record; subtype DDVIDEOPORTINFO is tagDDVIDEOPORTINFO; type tagDDVIDEOPORTBANDWIDTH is record dwSize: DWORD; dwCaps: DWORD; dwOverlay: DWORD; dwColorkey: DWORD; dwYInterpolate: DWORD; dwYInterpAndColorkey: DWORD; dwReserved1: ULONG_PTR; dwReserved2: ULONG_PTR; end record; subtype DDVIDEOPORTBANDWIDTH is tagDDVIDEOPORTBANDWIDTH; type tagDDVIDEOPORTSTATUS is record dwSize: DWORD; bInUse: BOOL; dwFlags: DWORD; dwReserved1: DWORD; VideoPortType: DDVIDEOPORTCONNECT; dwReserved2: ULONG_PTR; dwReserved3: ULONG_PTR; end record; subtype DDVIDEOPORTSTATUS is tagDDVIDEOPORTSTATUS; type tagDDVIDEOPORTNOTIFY is record ApproximateTimeStamp: LARGE_INTEGER; lField: LONG; dwSurfaceIndex: UINT; lDone: LONG; end record; subtype DDVIDEOPORTNOTIFY is tagDDVIDEOPORTNOTIFY; DDVPCONNECT_DOUBLECLOCK : constant := 16#00000001#; DDVPCONNECT_VACT : constant := 16#00000002#; DDVPCONNECT_INVERTPOLARITY : constant := 16#00000004#; DDVPCONNECT_DISCARDSVREFDATA : constant := 16#00000008#; DDVPCONNECT_HALFLINE : constant := 16#00000010#; DDVPCONNECT_INTERLACED : constant := 16#00000020#; DDVPCONNECT_SHAREEVEN : constant := 16#00000040#; DDVPCONNECT_SHAREODD : constant := 16#00000080#; DDVPCAPS_AUTOFLIP : constant := 16#00000001#; DDVPCAPS_INTERLACED : constant := 16#00000002#; DDVPCAPS_NONINTERLACED : constant := 16#00000004#; DDVPCAPS_READBACKFIELD : constant := 16#00000008#; DDVPCAPS_READBACKLINE : constant := 16#00000010#; DDVPCAPS_SHAREABLE : constant := 16#00000020#; DDVPCAPS_SKIPEVENFIELDS : constant := 16#00000040#; DDVPCAPS_SKIPODDFIELDS : constant := 16#00000080#; DDVPCAPS_SYNCMASTER : constant := 16#00000100#; DDVPCAPS_VBISURFACE : constant := 16#00000200#; DDVPCAPS_COLORCONTROL : constant := 16#00000400#; DDVPCAPS_OVERSAMPLEDVBI : constant := 16#00000800#; DDVPCAPS_SYSTEMMEMORY : constant := 16#00001000#; DDVPCAPS_VBIANDVIDEOINDEPENDENT : constant := 16#00002000#; DDVPCAPS_HARDWAREDEINTERLACE : constant := 16#00004000#; DDVPFX_CROPTOPDATA : constant := 16#00000001#; DDVPFX_CROPX : constant := 16#00000002#; DDVPFX_CROPY : constant := 16#00000004#; DDVPFX_INTERLEAVE : constant := 16#00000008#; DDVPFX_MIRRORLEFTRIGHT : constant := 16#00000010#; DDVPFX_MIRRORUPDOWN : constant := 16#00000020#; DDVPFX_PRESHRINKX : constant := 16#00000040#; DDVPFX_PRESHRINKY : constant := 16#00000080#; DDVPFX_PRESHRINKXB : constant := 16#00000100#; DDVPFX_PRESHRINKYB : constant := 16#00000200#; DDVPFX_PRESHRINKXS : constant := 16#00000400#; DDVPFX_PRESHRINKYS : constant := 16#00000800#; DDVPFX_PRESTRETCHX : constant := 16#00001000#; DDVPFX_PRESTRETCHY : constant := 16#00002000#; DDVPFX_PRESTRETCHXN : constant := 16#00004000#; DDVPFX_PRESTRETCHYN : constant := 16#00008000#; DDVPFX_VBICONVERT : constant := 16#00010000#; DDVPFX_VBINOSCALE : constant := 16#00020000#; DDVPFX_IGNOREVBIXCROP : constant := 16#00040000#; DDVPFX_VBINOINTERLEAVE : constant := 16#00080000#; DDVP_AUTOFLIP : constant := 16#00000001#; DDVP_CONVERT : constant := 16#00000002#; DDVP_CROP : constant := 16#00000004#; DDVP_INTERLEAVE : constant := 16#00000008#; DDVP_MIRRORLEFTRIGHT : constant := 16#00000010#; DDVP_MIRRORUPDOWN : constant := 16#00000020#; DDVP_PRESCALE : constant := 16#00000040#; DDVP_SKIPEVENFIELDS : constant := 16#00000080#; DDVP_SKIPODDFIELDS : constant := 16#00000100#; DDVP_SYNCMASTER : constant := 16#00000200#; DDVP_VBICONVERT : constant := 16#00000400#; DDVP_VBINOSCALE : constant := 16#00000800#; DDVP_OVERRIDEBOBWEAVE : constant := 16#00001000#; DDVP_IGNOREVBIXCROP : constant := 16#00002000#; DDVP_VBINOINTERLEAVE : constant := 16#00004000#; DDVP_HARDWAREDEINTERLACE : constant := 16#00008000#; DDVPFORMAT_VIDEO : constant := 16#00000001#; DDVPFORMAT_VBI : constant := 16#00000002#; DDVPTARGET_VIDEO : constant := 16#00000001#; DDVPTARGET_VBI : constant := 16#00000002#; DDVPWAIT_BEGIN : constant := 16#00000001#; DDVPWAIT_END : constant := 16#00000002#; DDVPWAIT_LINE : constant := 16#00000003#; DDVPFLIP_VIDEO : constant := 16#00000001#; DDVPFLIP_VBI : constant := 16#00000002#; DDVPSQ_NOSIGNAL : constant := 16#00000001#; DDVPSQ_SIGNALOK : constant := 16#00000002#; DDVPB_VIDEOPORT : constant := 16#00000001#; DDVPB_OVERLAY : constant := 16#00000002#; DDVPB_TYPE : constant := 16#00000004#; DDVPBCAPS_SOURCE : constant := 16#00000001#; DDVPBCAPS_DESTINATION : constant := 16#00000002#; DDVPCREATE_VBIONLY : constant := 16#00000001#; DDVPCREATE_VIDEOONLY : constant := 16#00000002#; DDVPSTATUS_VBIONLY : constant := 16#00000001#; DDVPSTATUS_VIDEOONLY : constant := 16#00000002#; -- -- THE END. -- end dvp;

 

转载请注明原文地址: https://www.6miu.com/read-5028372.html

最新回复(0)