"Fossies" - the Fresh Open Source Software Archive

Member "FreeBASIC-1.09.0-win64/inc/win/amvideo.bi" (1 Jan 2022, 37434 Bytes) of package /windows/misc/FreeBASIC-1.09.0-win64.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Visual Basic source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 '' FreeBASIC binding for mingw-w64-v4.0.4
    2 ''
    3 '' based on the C header files:
    4 ''   Copyright (C) 2003 Robert Shearman
    5 ''
    6 ''   This library is free software; you can redistribute it and/or
    7 ''   modify it under the terms of the GNU Lesser General Public
    8 ''   License as published by the Free Software Foundation; either
    9 ''   version 2.1 of the License, or (at your option) any later version.
   10 ''
   11 ''   This library is distributed in the hope that it will be useful,
   12 ''   but WITHOUT ANY WARRANTY; without even the implied warranty of
   13 ''   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   14 ''   Lesser General Public License for more details.
   15 ''
   16 ''   You should have received a copy of the GNU Lesser General Public
   17 ''   License along with this library; if not, write to the Free Software
   18 ''   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
   19 ''
   20 '' translated to FreeBASIC by:
   21 ''   Copyright © 2015 FreeBASIC development team
   22 
   23 #pragma once
   24 
   25 #include once "rpc.bi"
   26 #include once "rpcndr.bi"
   27 #include once "objidl.bi"
   28 #include once "ddraw.bi"
   29 
   30 extern "Windows"
   31 
   32 #define __amvideo_h__
   33 #define __IDirectDrawVideo_FWD_DEFINED__
   34 #define __IQualProp_FWD_DEFINED__
   35 #define __IFullScreenVideo_FWD_DEFINED__
   36 #define __IFullScreenVideoEx_FWD_DEFINED__
   37 #define __IBaseVideoMixer_FWD_DEFINED__
   38 const AMDDS_NONE = &h00
   39 const AMDDS_DCIPS = &h01
   40 const AMDDS_PS = &h02
   41 const AMDDS_RGBOVR = &h04
   42 const AMDDS_YUVOVR = &h08
   43 const AMDDS_RGBOFF = &h10
   44 const AMDDS_YUVOFF = &h20
   45 const AMDDS_RGBFLP = &h40
   46 const AMDDS_YUVFLP = &h80
   47 const AMDDS_ALL = &hFF
   48 const AMDDS_DEFAULT = AMDDS_ALL
   49 const AMDDS_YUV = (AMDDS_YUVOFF or AMDDS_YUVOVR) or AMDDS_YUVFLP
   50 const AMDDS_RGB = (AMDDS_RGBOFF or AMDDS_RGBOVR) or AMDDS_RGBFLP
   51 const AMDSS_PRIMARY = AMDDS_DCIPS or AMDDS_PS
   52 #define __IDirectDrawVideo_INTERFACE_DEFINED__
   53 type IDirectDrawVideo as IDirectDrawVideo_
   54 
   55 type IDirectDrawVideoVtbl
   56     QueryInterface as function(byval This as IDirectDrawVideo ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
   57     AddRef as function(byval This as IDirectDrawVideo ptr) as ULONG
   58     Release as function(byval This as IDirectDrawVideo ptr) as ULONG
   59     GetSwitches as function(byval This as IDirectDrawVideo ptr, byval pSwitches as DWORD ptr) as HRESULT
   60     SetSwitches as function(byval This as IDirectDrawVideo ptr, byval Switches as DWORD) as HRESULT
   61     GetCaps as function(byval This as IDirectDrawVideo ptr, byval pCaps as DDCAPS ptr) as HRESULT
   62     GetEmulatedCaps as function(byval This as IDirectDrawVideo ptr, byval pCaps as DDCAPS ptr) as HRESULT
   63     GetSurfaceDesc as function(byval This as IDirectDrawVideo ptr, byval pSurfaceDesc as DDSURFACEDESC ptr) as HRESULT
   64     GetFourCCCodes as function(byval This as IDirectDrawVideo ptr, byval pCount as DWORD ptr, byval pCodes as DWORD ptr) as HRESULT
   65     SetDirectDraw as function(byval This as IDirectDrawVideo ptr, byval ddraw as IDirectDraw ptr) as HRESULT
   66     GetDirectDraw as function(byval This as IDirectDrawVideo ptr, byval ddraw as IDirectDraw ptr ptr) as HRESULT
   67     GetSurfaceType as function(byval This as IDirectDrawVideo ptr, byval pSurfaceType as DWORD ptr) as HRESULT
   68     SetDefault as function(byval This as IDirectDrawVideo ptr) as HRESULT
   69     UseScanLine as function(byval This as IDirectDrawVideo ptr, byval UseScanLine as LONG) as HRESULT
   70     CanUseScanLine as function(byval This as IDirectDrawVideo ptr, byval UseScanLine as LONG ptr) as HRESULT
   71     UseOverlayStretch as function(byval This as IDirectDrawVideo ptr, byval UseOverlayStretch as LONG) as HRESULT
   72     CanUseOverlayStretch as function(byval This as IDirectDrawVideo ptr, byval UseOverlayStretch as LONG ptr) as HRESULT
   73     UseWhenFullScreen as function(byval This as IDirectDrawVideo ptr, byval UseWhenFullScreen as LONG) as HRESULT
   74     WillUseFullScreen as function(byval This as IDirectDrawVideo ptr, byval UseWhenFullScreen as LONG ptr) as HRESULT
   75 end type
   76 
   77 type IDirectDrawVideo_
   78     lpVtbl as IDirectDrawVideoVtbl ptr
   79 end type
   80 
   81 #define IDirectDrawVideo_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
   82 #define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
   83 #define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
   84 #define IDirectDrawVideo_GetSwitches(This, pSwitches) (This)->lpVtbl->GetSwitches(This, pSwitches)
   85 #define IDirectDrawVideo_SetSwitches(This, Switches) (This)->lpVtbl->SetSwitches(This, Switches)
   86 #define IDirectDrawVideo_GetCaps(This, pCaps) (This)->lpVtbl->GetCaps(This, pCaps)
   87 #define IDirectDrawVideo_GetEmulatedCaps(This, pCaps) (This)->lpVtbl->GetEmulatedCaps(This, pCaps)
   88 #define IDirectDrawVideo_GetSurfaceDesc(This, pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This, pSurfaceDesc)
   89 #define IDirectDrawVideo_GetFourCCCodes(This, pCount, pCodes) (This)->lpVtbl->GetFourCCCodes(This, pCount, pCodes)
   90 #define IDirectDrawVideo_SetDirectDraw(This, ddraw) (This)->lpVtbl->SetDirectDraw(This, ddraw)
   91 #define IDirectDrawVideo_GetDirectDraw(This, ddraw) (This)->lpVtbl->GetDirectDraw(This, ddraw)
   92 #define IDirectDrawVideo_GetSurfaceType(This, pSurfaceType) (This)->lpVtbl->GetSurfaceType(This, pSurfaceType)
   93 #define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
   94 #define IDirectDrawVideo_UseScanLine(This, UseScanLine) (This)->lpVtbl->UseScanLine(This, UseScanLine)
   95 #define IDirectDrawVideo_CanUseScanLine(This, UseScanLine) (This)->lpVtbl->CanUseScanLine(This, UseScanLine)
   96 #define IDirectDrawVideo_UseOverlayStretch(This, UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This, UseOverlayStretch)
   97 #define IDirectDrawVideo_CanUseOverlayStretch(This, UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This, UseOverlayStretch)
   98 #define IDirectDrawVideo_UseWhenFullScreen(This, UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This, UseWhenFullScreen)
   99 #define IDirectDrawVideo_WillUseFullScreen(This, UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This, UseWhenFullScreen)
  100 
  101 declare function IDirectDrawVideo_GetSwitches_Proxy(byval This as IDirectDrawVideo ptr, byval pSwitches as DWORD ptr) as HRESULT
  102 declare sub IDirectDrawVideo_GetSwitches_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  103 declare function IDirectDrawVideo_SetSwitches_Proxy(byval This as IDirectDrawVideo ptr, byval Switches as DWORD) as HRESULT
  104 declare sub IDirectDrawVideo_SetSwitches_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  105 declare function IDirectDrawVideo_GetCaps_Proxy(byval This as IDirectDrawVideo ptr, byval pCaps as DDCAPS ptr) as HRESULT
  106 declare sub IDirectDrawVideo_GetCaps_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  107 declare function IDirectDrawVideo_GetEmulatedCaps_Proxy(byval This as IDirectDrawVideo ptr, byval pCaps as DDCAPS ptr) as HRESULT
  108 declare sub IDirectDrawVideo_GetEmulatedCaps_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  109 declare function IDirectDrawVideo_GetSurfaceDesc_Proxy(byval This as IDirectDrawVideo ptr, byval pSurfaceDesc as DDSURFACEDESC ptr) as HRESULT
  110 declare sub IDirectDrawVideo_GetSurfaceDesc_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  111 declare function IDirectDrawVideo_GetFourCCCodes_Proxy(byval This as IDirectDrawVideo ptr, byval pCount as DWORD ptr, byval pCodes as DWORD ptr) as HRESULT
  112 declare sub IDirectDrawVideo_GetFourCCCodes_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  113 declare function IDirectDrawVideo_SetDirectDraw_Proxy(byval This as IDirectDrawVideo ptr, byval ddraw as IDirectDraw ptr) as HRESULT
  114 declare sub IDirectDrawVideo_SetDirectDraw_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  115 declare function IDirectDrawVideo_GetDirectDraw_Proxy(byval This as IDirectDrawVideo ptr, byval ddraw as IDirectDraw ptr ptr) as HRESULT
  116 declare sub IDirectDrawVideo_GetDirectDraw_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  117 declare function IDirectDrawVideo_GetSurfaceType_Proxy(byval This as IDirectDrawVideo ptr, byval pSurfaceType as DWORD ptr) as HRESULT
  118 declare sub IDirectDrawVideo_GetSurfaceType_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  119 declare function IDirectDrawVideo_SetDefault_Proxy(byval This as IDirectDrawVideo ptr) as HRESULT
  120 declare sub IDirectDrawVideo_SetDefault_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  121 declare function IDirectDrawVideo_UseScanLine_Proxy(byval This as IDirectDrawVideo ptr, byval UseScanLine as LONG) as HRESULT
  122 declare sub IDirectDrawVideo_UseScanLine_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  123 declare function IDirectDrawVideo_CanUseScanLine_Proxy(byval This as IDirectDrawVideo ptr, byval UseScanLine as LONG ptr) as HRESULT
  124 declare sub IDirectDrawVideo_CanUseScanLine_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  125 declare function IDirectDrawVideo_UseOverlayStretch_Proxy(byval This as IDirectDrawVideo ptr, byval UseOverlayStretch as LONG) as HRESULT
  126 declare sub IDirectDrawVideo_UseOverlayStretch_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  127 declare function IDirectDrawVideo_CanUseOverlayStretch_Proxy(byval This as IDirectDrawVideo ptr, byval UseOverlayStretch as LONG ptr) as HRESULT
  128 declare sub IDirectDrawVideo_CanUseOverlayStretch_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  129 declare function IDirectDrawVideo_UseWhenFullScreen_Proxy(byval This as IDirectDrawVideo ptr, byval UseWhenFullScreen as LONG) as HRESULT
  130 declare sub IDirectDrawVideo_UseWhenFullScreen_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  131 declare function IDirectDrawVideo_WillUseFullScreen_Proxy(byval This as IDirectDrawVideo ptr, byval UseWhenFullScreen as LONG ptr) as HRESULT
  132 declare sub IDirectDrawVideo_WillUseFullScreen_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  133 #define __IQualProp_INTERFACE_DEFINED__
  134 type IQualProp as IQualProp_
  135 
  136 type IQualPropVtbl
  137     QueryInterface as function(byval This as IQualProp ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  138     AddRef as function(byval This as IQualProp ptr) as ULONG
  139     Release as function(byval This as IQualProp ptr) as ULONG
  140     get_FramesDroppedInRenderer as function(byval This as IQualProp ptr, byval pcFrames as long ptr) as HRESULT
  141     get_FramesDrawn as function(byval This as IQualProp ptr, byval pcFramesDrawn as long ptr) as HRESULT
  142     get_AvgFrameRate as function(byval This as IQualProp ptr, byval piAvgFrameRate as long ptr) as HRESULT
  143     get_Jitter as function(byval This as IQualProp ptr, byval iJitter as long ptr) as HRESULT
  144     get_AvgSyncOffset as function(byval This as IQualProp ptr, byval piAvg as long ptr) as HRESULT
  145     get_DevSyncOffset as function(byval This as IQualProp ptr, byval piDev as long ptr) as HRESULT
  146 end type
  147 
  148 type IQualProp_
  149     lpVtbl as IQualPropVtbl ptr
  150 end type
  151 
  152 #define IQualProp_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  153 #define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
  154 #define IQualProp_Release(This) (This)->lpVtbl->Release(This)
  155 #define IQualProp_get_FramesDroppedInRenderer(This, pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This, pcFrames)
  156 #define IQualProp_get_FramesDrawn(This, pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This, pcFramesDrawn)
  157 #define IQualProp_get_AvgFrameRate(This, piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This, piAvgFrameRate)
  158 #define IQualProp_get_Jitter(This, iJitter) (This)->lpVtbl->get_Jitter(This, iJitter)
  159 #define IQualProp_get_AvgSyncOffset(This, piAvg) (This)->lpVtbl->get_AvgSyncOffset(This, piAvg)
  160 #define IQualProp_get_DevSyncOffset(This, piDev) (This)->lpVtbl->get_DevSyncOffset(This, piDev)
  161 
  162 declare function IQualProp_get_FramesDroppedInRenderer_Proxy(byval This as IQualProp ptr, byval pcFrames as long ptr) as HRESULT
  163 declare sub IQualProp_get_FramesDroppedInRenderer_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  164 declare function IQualProp_get_FramesDrawn_Proxy(byval This as IQualProp ptr, byval pcFramesDrawn as long ptr) as HRESULT
  165 declare sub IQualProp_get_FramesDrawn_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  166 declare function IQualProp_get_AvgFrameRate_Proxy(byval This as IQualProp ptr, byval piAvgFrameRate as long ptr) as HRESULT
  167 declare sub IQualProp_get_AvgFrameRate_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  168 declare function IQualProp_get_Jitter_Proxy(byval This as IQualProp ptr, byval iJitter as long ptr) as HRESULT
  169 declare sub IQualProp_get_Jitter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  170 declare function IQualProp_get_AvgSyncOffset_Proxy(byval This as IQualProp ptr, byval piAvg as long ptr) as HRESULT
  171 declare sub IQualProp_get_AvgSyncOffset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  172 declare function IQualProp_get_DevSyncOffset_Proxy(byval This as IQualProp ptr, byval piDev as long ptr) as HRESULT
  173 declare sub IQualProp_get_DevSyncOffset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  174 #define __IFullScreenVideo_INTERFACE_DEFINED__
  175 type IFullScreenVideo as IFullScreenVideo_
  176 
  177 type IFullScreenVideoVtbl
  178     QueryInterface as function(byval This as IFullScreenVideo ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  179     AddRef as function(byval This as IFullScreenVideo ptr) as ULONG
  180     Release as function(byval This as IFullScreenVideo ptr) as ULONG
  181     CountModes as function(byval This as IFullScreenVideo ptr, byval pModes as LONG ptr) as HRESULT
  182     GetModeInfo as function(byval This as IFullScreenVideo ptr, byval Mode as LONG, byval pWidth as LONG ptr, byval pHeight as LONG ptr, byval pDepth as LONG ptr) as HRESULT
  183     GetCurrentMode as function(byval This as IFullScreenVideo ptr, byval pMode as LONG ptr) as HRESULT
  184     IsModeAvailable as function(byval This as IFullScreenVideo ptr, byval Mode as LONG) as HRESULT
  185     IsModeEnabled as function(byval This as IFullScreenVideo ptr, byval Mode as LONG) as HRESULT
  186     SetEnabled as function(byval This as IFullScreenVideo ptr, byval Mode as LONG, byval bEnabled as LONG) as HRESULT
  187     GetClipFactor as function(byval This as IFullScreenVideo ptr, byval pClipFactor as LONG ptr) as HRESULT
  188     SetClipFactor as function(byval This as IFullScreenVideo ptr, byval ClipFactor as LONG) as HRESULT
  189     SetMessageDrain as function(byval This as IFullScreenVideo ptr, byval hwnd as HWND) as HRESULT
  190     GetMessageDrain as function(byval This as IFullScreenVideo ptr, byval hwnd as HWND ptr) as HRESULT
  191     SetMonitor as function(byval This as IFullScreenVideo ptr, byval Monitor as LONG) as HRESULT
  192     GetMonitor as function(byval This as IFullScreenVideo ptr, byval Monitor as LONG ptr) as HRESULT
  193     HideOnDeactivate as function(byval This as IFullScreenVideo ptr, byval Hide as LONG) as HRESULT
  194     IsHideOnDeactivate as function(byval This as IFullScreenVideo ptr) as HRESULT
  195     SetCaption as function(byval This as IFullScreenVideo ptr, byval strCaption as BSTR) as HRESULT
  196     GetCaption as function(byval This as IFullScreenVideo ptr, byval pstrCaption as BSTR ptr) as HRESULT
  197     SetDefault as function(byval This as IFullScreenVideo ptr) as HRESULT
  198 end type
  199 
  200 type IFullScreenVideo_
  201     lpVtbl as IFullScreenVideoVtbl ptr
  202 end type
  203 
  204 #define IFullScreenVideo_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  205 #define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
  206 #define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
  207 #define IFullScreenVideo_CountModes(This, pModes) (This)->lpVtbl->CountModes(This, pModes)
  208 #define IFullScreenVideo_GetModeInfo(This, Mode, pWidth, pHeight, pDepth) (This)->lpVtbl->GetModeInfo(This, Mode, pWidth, pHeight, pDepth)
  209 #define IFullScreenVideo_GetCurrentMode(This, pMode) (This)->lpVtbl->GetCurrentMode(This, pMode)
  210 #define IFullScreenVideo_IsModeAvailable(This, Mode) (This)->lpVtbl->IsModeAvailable(This, Mode)
  211 #define IFullScreenVideo_IsModeEnabled(This, Mode) (This)->lpVtbl->IsModeEnabled(This, Mode)
  212 #define IFullScreenVideo_SetEnabled(This, Mode, bEnabled) (This)->lpVtbl->SetEnabled(This, Mode, bEnabled)
  213 #define IFullScreenVideo_GetClipFactor(This, pClipFactor) (This)->lpVtbl->GetClipFactor(This, pClipFactor)
  214 #define IFullScreenVideo_SetClipFactor(This, ClipFactor) (This)->lpVtbl->SetClipFactor(This, ClipFactor)
  215 #define IFullScreenVideo_SetMessageDrain(This, hwnd) (This)->lpVtbl->SetMessageDrain(This, hwnd)
  216 #define IFullScreenVideo_GetMessageDrain(This, hwnd) (This)->lpVtbl->GetMessageDrain(This, hwnd)
  217 #define IFullScreenVideo_SetMonitor(This, Monitor) (This)->lpVtbl->SetMonitor(This, Monitor)
  218 #define IFullScreenVideo_GetMonitor(This, Monitor) (This)->lpVtbl->GetMonitor(This, Monitor)
  219 #define IFullScreenVideo_HideOnDeactivate(This, Hide) (This)->lpVtbl->HideOnDeactivate(This, Hide)
  220 #define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
  221 #define IFullScreenVideo_SetCaption(This, strCaption) (This)->lpVtbl->SetCaption(This, strCaption)
  222 #define IFullScreenVideo_GetCaption(This, pstrCaption) (This)->lpVtbl->GetCaption(This, pstrCaption)
  223 #define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
  224 
  225 declare function IFullScreenVideo_CountModes_Proxy(byval This as IFullScreenVideo ptr, byval pModes as LONG ptr) as HRESULT
  226 declare sub IFullScreenVideo_CountModes_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  227 declare function IFullScreenVideo_GetModeInfo_Proxy(byval This as IFullScreenVideo ptr, byval Mode as LONG, byval pWidth as LONG ptr, byval pHeight as LONG ptr, byval pDepth as LONG ptr) as HRESULT
  228 declare sub IFullScreenVideo_GetModeInfo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  229 declare function IFullScreenVideo_GetCurrentMode_Proxy(byval This as IFullScreenVideo ptr, byval pMode as LONG ptr) as HRESULT
  230 declare sub IFullScreenVideo_GetCurrentMode_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  231 declare function IFullScreenVideo_IsModeAvailable_Proxy(byval This as IFullScreenVideo ptr, byval Mode as LONG) as HRESULT
  232 declare sub IFullScreenVideo_IsModeAvailable_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  233 declare function IFullScreenVideo_IsModeEnabled_Proxy(byval This as IFullScreenVideo ptr, byval Mode as LONG) as HRESULT
  234 declare sub IFullScreenVideo_IsModeEnabled_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  235 declare function IFullScreenVideo_SetEnabled_Proxy(byval This as IFullScreenVideo ptr, byval Mode as LONG, byval bEnabled as LONG) as HRESULT
  236 declare sub IFullScreenVideo_SetEnabled_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  237 declare function IFullScreenVideo_GetClipFactor_Proxy(byval This as IFullScreenVideo ptr, byval pClipFactor as LONG ptr) as HRESULT
  238 declare sub IFullScreenVideo_GetClipFactor_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  239 declare function IFullScreenVideo_SetClipFactor_Proxy(byval This as IFullScreenVideo ptr, byval ClipFactor as LONG) as HRESULT
  240 declare sub IFullScreenVideo_SetClipFactor_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  241 declare function IFullScreenVideo_SetMessageDrain_Proxy(byval This as IFullScreenVideo ptr, byval hwnd as HWND) as HRESULT
  242 declare sub IFullScreenVideo_SetMessageDrain_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  243 declare function IFullScreenVideo_GetMessageDrain_Proxy(byval This as IFullScreenVideo ptr, byval hwnd as HWND ptr) as HRESULT
  244 declare sub IFullScreenVideo_GetMessageDrain_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  245 declare function IFullScreenVideo_SetMonitor_Proxy(byval This as IFullScreenVideo ptr, byval Monitor as LONG) as HRESULT
  246 declare sub IFullScreenVideo_SetMonitor_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  247 declare function IFullScreenVideo_GetMonitor_Proxy(byval This as IFullScreenVideo ptr, byval Monitor as LONG ptr) as HRESULT
  248 declare sub IFullScreenVideo_GetMonitor_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  249 declare function IFullScreenVideo_HideOnDeactivate_Proxy(byval This as IFullScreenVideo ptr, byval Hide as LONG) as HRESULT
  250 declare sub IFullScreenVideo_HideOnDeactivate_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  251 declare function IFullScreenVideo_IsHideOnDeactivate_Proxy(byval This as IFullScreenVideo ptr) as HRESULT
  252 declare sub IFullScreenVideo_IsHideOnDeactivate_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  253 declare function IFullScreenVideo_SetCaption_Proxy(byval This as IFullScreenVideo ptr, byval strCaption as BSTR) as HRESULT
  254 declare sub IFullScreenVideo_SetCaption_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  255 declare function IFullScreenVideo_GetCaption_Proxy(byval This as IFullScreenVideo ptr, byval pstrCaption as BSTR ptr) as HRESULT
  256 declare sub IFullScreenVideo_GetCaption_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  257 declare function IFullScreenVideo_SetDefault_Proxy(byval This as IFullScreenVideo ptr) as HRESULT
  258 declare sub IFullScreenVideo_SetDefault_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  259 #define __IFullScreenVideoEx_INTERFACE_DEFINED__
  260 type IFullScreenVideoEx as IFullScreenVideoEx_
  261 
  262 type IFullScreenVideoExVtbl
  263     QueryInterface as function(byval This as IFullScreenVideoEx ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  264     AddRef as function(byval This as IFullScreenVideoEx ptr) as ULONG
  265     Release as function(byval This as IFullScreenVideoEx ptr) as ULONG
  266     CountModes as function(byval This as IFullScreenVideoEx ptr, byval pModes as LONG ptr) as HRESULT
  267     GetModeInfo as function(byval This as IFullScreenVideoEx ptr, byval Mode as LONG, byval pWidth as LONG ptr, byval pHeight as LONG ptr, byval pDepth as LONG ptr) as HRESULT
  268     GetCurrentMode as function(byval This as IFullScreenVideoEx ptr, byval pMode as LONG ptr) as HRESULT
  269     IsModeAvailable as function(byval This as IFullScreenVideoEx ptr, byval Mode as LONG) as HRESULT
  270     IsModeEnabled as function(byval This as IFullScreenVideoEx ptr, byval Mode as LONG) as HRESULT
  271     SetEnabled as function(byval This as IFullScreenVideoEx ptr, byval Mode as LONG, byval bEnabled as LONG) as HRESULT
  272     GetClipFactor as function(byval This as IFullScreenVideoEx ptr, byval pClipFactor as LONG ptr) as HRESULT
  273     SetClipFactor as function(byval This as IFullScreenVideoEx ptr, byval ClipFactor as LONG) as HRESULT
  274     SetMessageDrain as function(byval This as IFullScreenVideoEx ptr, byval hwnd as HWND) as HRESULT
  275     GetMessageDrain as function(byval This as IFullScreenVideoEx ptr, byval hwnd as HWND ptr) as HRESULT
  276     SetMonitor as function(byval This as IFullScreenVideoEx ptr, byval Monitor as LONG) as HRESULT
  277     GetMonitor as function(byval This as IFullScreenVideoEx ptr, byval Monitor as LONG ptr) as HRESULT
  278     HideOnDeactivate as function(byval This as IFullScreenVideoEx ptr, byval Hide as LONG) as HRESULT
  279     IsHideOnDeactivate as function(byval This as IFullScreenVideoEx ptr) as HRESULT
  280     SetCaption as function(byval This as IFullScreenVideoEx ptr, byval strCaption as BSTR) as HRESULT
  281     GetCaption as function(byval This as IFullScreenVideoEx ptr, byval pstrCaption as BSTR ptr) as HRESULT
  282     SetDefault as function(byval This as IFullScreenVideoEx ptr) as HRESULT
  283     SetAcceleratorTable as function(byval This as IFullScreenVideoEx ptr, byval hwnd as HWND, byval hAccel as HACCEL) as HRESULT
  284     GetAcceleratorTable as function(byval This as IFullScreenVideoEx ptr, byval phwnd as HWND ptr, byval phAccel as HACCEL ptr) as HRESULT
  285     KeepPixelAspectRatio as function(byval This as IFullScreenVideoEx ptr, byval KeepAspect as LONG) as HRESULT
  286     IsKeepPixelAspectRatio as function(byval This as IFullScreenVideoEx ptr, byval pKeepAspect as LONG ptr) as HRESULT
  287 end type
  288 
  289 type IFullScreenVideoEx_
  290     lpVtbl as IFullScreenVideoExVtbl ptr
  291 end type
  292 
  293 #define IFullScreenVideoEx_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  294 #define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
  295 #define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
  296 #define IFullScreenVideoEx_CountModes(This, pModes) (This)->lpVtbl->CountModes(This, pModes)
  297 #define IFullScreenVideoEx_GetModeInfo(This, Mode, pWidth, pHeight, pDepth) (This)->lpVtbl->GetModeInfo(This, Mode, pWidth, pHeight, pDepth)
  298 #define IFullScreenVideoEx_GetCurrentMode(This, pMode) (This)->lpVtbl->GetCurrentMode(This, pMode)
  299 #define IFullScreenVideoEx_IsModeAvailable(This, Mode) (This)->lpVtbl->IsModeAvailable(This, Mode)
  300 #define IFullScreenVideoEx_IsModeEnabled(This, Mode) (This)->lpVtbl->IsModeEnabled(This, Mode)
  301 #define IFullScreenVideoEx_SetEnabled(This, Mode, bEnabled) (This)->lpVtbl->SetEnabled(This, Mode, bEnabled)
  302 #define IFullScreenVideoEx_GetClipFactor(This, pClipFactor) (This)->lpVtbl->GetClipFactor(This, pClipFactor)
  303 #define IFullScreenVideoEx_SetClipFactor(This, ClipFactor) (This)->lpVtbl->SetClipFactor(This, ClipFactor)
  304 #define IFullScreenVideoEx_SetMessageDrain(This, hwnd) (This)->lpVtbl->SetMessageDrain(This, hwnd)
  305 #define IFullScreenVideoEx_GetMessageDrain(This, hwnd) (This)->lpVtbl->GetMessageDrain(This, hwnd)
  306 #define IFullScreenVideoEx_SetMonitor(This, Monitor) (This)->lpVtbl->SetMonitor(This, Monitor)
  307 #define IFullScreenVideoEx_GetMonitor(This, Monitor) (This)->lpVtbl->GetMonitor(This, Monitor)
  308 #define IFullScreenVideoEx_HideOnDeactivate(This, Hide) (This)->lpVtbl->HideOnDeactivate(This, Hide)
  309 #define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
  310 #define IFullScreenVideoEx_SetCaption(This, strCaption) (This)->lpVtbl->SetCaption(This, strCaption)
  311 #define IFullScreenVideoEx_GetCaption(This, pstrCaption) (This)->lpVtbl->GetCaption(This, pstrCaption)
  312 #define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
  313 #define IFullScreenVideoEx_SetAcceleratorTable(This, hwnd, hAccel) (This)->lpVtbl->SetAcceleratorTable(This, hwnd, hAccel)
  314 #define IFullScreenVideoEx_GetAcceleratorTable(This, phwnd, phAccel) (This)->lpVtbl->GetAcceleratorTable(This, phwnd, phAccel)
  315 #define IFullScreenVideoEx_KeepPixelAspectRatio(This, KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This, KeepAspect)
  316 #define IFullScreenVideoEx_IsKeepPixelAspectRatio(This, pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This, pKeepAspect)
  317 
  318 declare function IFullScreenVideoEx_SetAcceleratorTable_Proxy(byval This as IFullScreenVideoEx ptr, byval hwnd as HWND, byval hAccel as HACCEL) as HRESULT
  319 declare sub IFullScreenVideoEx_SetAcceleratorTable_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  320 declare function IFullScreenVideoEx_GetAcceleratorTable_Proxy(byval This as IFullScreenVideoEx ptr, byval phwnd as HWND ptr, byval phAccel as HACCEL ptr) as HRESULT
  321 declare sub IFullScreenVideoEx_GetAcceleratorTable_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  322 declare function IFullScreenVideoEx_KeepPixelAspectRatio_Proxy(byval This as IFullScreenVideoEx ptr, byval KeepAspect as LONG) as HRESULT
  323 declare sub IFullScreenVideoEx_KeepPixelAspectRatio_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  324 declare function IFullScreenVideoEx_IsKeepPixelAspectRatio_Proxy(byval This as IFullScreenVideoEx ptr, byval pKeepAspect as LONG ptr) as HRESULT
  325 declare sub IFullScreenVideoEx_IsKeepPixelAspectRatio_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  326 #define __IBaseVideoMixer_INTERFACE_DEFINED__
  327 type IBaseVideoMixer as IBaseVideoMixer_
  328 
  329 type IBaseVideoMixerVtbl
  330     QueryInterface as function(byval This as IBaseVideoMixer ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  331     AddRef as function(byval This as IBaseVideoMixer ptr) as ULONG
  332     Release as function(byval This as IBaseVideoMixer ptr) as ULONG
  333     SetLeadPin as function(byval This as IBaseVideoMixer ptr, byval iPin as long) as HRESULT
  334     GetLeadPin as function(byval This as IBaseVideoMixer ptr, byval piPin as long ptr) as HRESULT
  335     GetInputPinCount as function(byval This as IBaseVideoMixer ptr, byval piPinCount as long ptr) as HRESULT
  336     IsUsingClock as function(byval This as IBaseVideoMixer ptr, byval pbValue as long ptr) as HRESULT
  337     SetUsingClock as function(byval This as IBaseVideoMixer ptr, byval bValue as long) as HRESULT
  338     GetClockPeriod as function(byval This as IBaseVideoMixer ptr, byval pbValue as long ptr) as HRESULT
  339     SetClockPeriod as function(byval This as IBaseVideoMixer ptr, byval bValue as long) as HRESULT
  340 end type
  341 
  342 type IBaseVideoMixer_
  343     lpVtbl as IBaseVideoMixerVtbl ptr
  344 end type
  345 
  346 #define IBaseVideoMixer_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  347 #define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
  348 #define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
  349 #define IBaseVideoMixer_SetLeadPin(This, iPin) (This)->lpVtbl->SetLeadPin(This, iPin)
  350 #define IBaseVideoMixer_GetLeadPin(This, piPin) (This)->lpVtbl->GetLeadPin(This, piPin)
  351 #define IBaseVideoMixer_GetInputPinCount(This, piPinCount) (This)->lpVtbl->GetInputPinCount(This, piPinCount)
  352 #define IBaseVideoMixer_IsUsingClock(This, pbValue) (This)->lpVtbl->IsUsingClock(This, pbValue)
  353 #define IBaseVideoMixer_SetUsingClock(This, bValue) (This)->lpVtbl->SetUsingClock(This, bValue)
  354 #define IBaseVideoMixer_GetClockPeriod(This, pbValue) (This)->lpVtbl->GetClockPeriod(This, pbValue)
  355 #define IBaseVideoMixer_SetClockPeriod(This, bValue) (This)->lpVtbl->SetClockPeriod(This, bValue)
  356 
  357 declare function IBaseVideoMixer_SetLeadPin_Proxy(byval This as IBaseVideoMixer ptr, byval iPin as long) as HRESULT
  358 declare sub IBaseVideoMixer_SetLeadPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  359 declare function IBaseVideoMixer_GetLeadPin_Proxy(byval This as IBaseVideoMixer ptr, byval piPin as long ptr) as HRESULT
  360 declare sub IBaseVideoMixer_GetLeadPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  361 declare function IBaseVideoMixer_GetInputPinCount_Proxy(byval This as IBaseVideoMixer ptr, byval piPinCount as long ptr) as HRESULT
  362 declare sub IBaseVideoMixer_GetInputPinCount_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  363 declare function IBaseVideoMixer_IsUsingClock_Proxy(byval This as IBaseVideoMixer ptr, byval pbValue as long ptr) as HRESULT
  364 declare sub IBaseVideoMixer_IsUsingClock_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  365 declare function IBaseVideoMixer_SetUsingClock_Proxy(byval This as IBaseVideoMixer ptr, byval bValue as long) as HRESULT
  366 declare sub IBaseVideoMixer_SetUsingClock_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  367 declare function IBaseVideoMixer_GetClockPeriod_Proxy(byval This as IBaseVideoMixer ptr, byval pbValue as long ptr) as HRESULT
  368 declare sub IBaseVideoMixer_GetClockPeriod_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  369 declare function IBaseVideoMixer_SetClockPeriod_Proxy(byval This as IBaseVideoMixer ptr, byval bValue as long) as HRESULT
  370 declare sub IBaseVideoMixer_SetClockPeriod_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  371 
  372 const iPALETTE_COLORS = 256
  373 const iEGA_COLORS = 16
  374 const iMASK_COLORS = 3
  375 const iTRUECOLOR = 16
  376 const iRED = 0
  377 const iGREEN = 1
  378 const iBLUE = 2
  379 const iPALETTE = 8
  380 const iMAXBITS = 8
  381 
  382 type tag_TRUECOLORINFO
  383     dwBitMasks(0 to 2) as DWORD
  384     bmiColors(0 to 255) as RGBQUAD
  385 end type
  386 
  387 type TRUECOLORINFO as tag_TRUECOLORINFO
  388 
  389 type tagVIDEOINFOHEADER
  390     rcSource as RECT
  391     rcTarget as RECT
  392     dwBitRate as DWORD
  393     dwBitErrorRate as DWORD
  394     AvgTimePerFrame as REFERENCE_TIME
  395     bmiHeader as BITMAPINFOHEADER
  396 end type
  397 
  398 type VIDEOINFOHEADER as tagVIDEOINFOHEADER
  399 
  400 type tagVIDEOINFO
  401     rcSource as RECT
  402     rcTarget as RECT
  403     dwBitRate as DWORD
  404     dwBitErrorRate as DWORD
  405     AvgTimePerFrame as REFERENCE_TIME
  406     bmiHeader as BITMAPINFOHEADER
  407 
  408     union
  409         bmiColors(0 to 255) as RGBQUAD
  410         dwBitMasks(0 to 2) as DWORD
  411         TrueColorInfo as TRUECOLORINFO
  412     end union
  413 end type
  414 
  415 type VIDEOINFO as tagVIDEOINFO
  416 
  417 type tagMPEG1VIDEOINFO
  418     hdr as VIDEOINFOHEADER
  419     dwStartTimeCode as DWORD
  420     cbSequenceHeader as DWORD
  421     bSequenceHeader(0 to 0) as UBYTE
  422 end type
  423 
  424 type MPEG1VIDEOINFO as tagMPEG1VIDEOINFO
  425 const MAX_SIZE_MPEG1_SEQUENCE_INFO = 140
  426 #define MPEG1_SEQUENCE_INFO(pv) cptr(const UBYTE ptr, (pv)->bSequenceHeader)
  427 
  428 type tagAnalogVideoInfo
  429     rcSource as RECT
  430     rcTarget as RECT
  431     dwActiveWidth as DWORD
  432     dwActiveHeight as DWORD
  433     AvgTimePerFrame as REFERENCE_TIME
  434 end type
  435 
  436 type ANALOGVIDEOINFO as tagAnalogVideoInfo
  437 
  438 type __WIDL_amvideo_generated_name_00000003 as long
  439 enum
  440     AM_PROPERTY_FRAMESTEP_STEP = &h1
  441     AM_PROPERTY_FRAMESTEP_CANCEL = &h2
  442     AM_PROPERTY_FRAMESTEP_CANSTEP = &h3
  443     AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = &h4
  444 end enum
  445 
  446 type AM_PROPERTY_FRAMESTEP as __WIDL_amvideo_generated_name_00000003
  447 
  448 type _AM_FRAMESTEP_STEP
  449     dwFramesToStep as DWORD
  450 end type
  451 
  452 type AM_FRAMESTEP_STEP as _AM_FRAMESTEP_STEP
  453 
  454 end extern
  455 
  456 #include once "ole-common.bi"