Start remove old desgin of HEL to the new desgin, it will redues the code size, for we will use same code to call HAL in HEL, basic we need write the Dd* functions, it can be done two way, 1. Create a Hel driver in kmode or try write it in user mode. I will try write it in user mode.

svn path=/trunk/; revision=21817
This commit is contained in:
Magnus Olsen
2006-05-07 07:43:50 +00:00
parent 9c0250f71c
commit 4a3cd2b217
11 changed files with 755 additions and 801 deletions
+1
View File
@@ -17,6 +17,7 @@
<file>ddraw.rc</file>
<file>main.c</file>
<file>regsvr.c</file>
<file>helinterface.c</file>
<file>clipper.c</file>
<file>color.c</file>
+90 -90
View File
@@ -1,90 +1,90 @@
/* $Id: gamma_main.c 21434 2006-04-01 19:12:56Z greatlrd $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/gamma.c
* PURPOSE: IDirectDrawGamma Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
ULONG WINAPI
DirectDrawGammaControl_AddRef( LPDIRECTDRAWGAMMACONTROL iface)
{
DX_WINDBG_trace();
IDirectDrawGammaImpl * This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DirectDrawGammaControl_Release( LPDIRECTDRAWGAMMACONTROL iface)
{
DX_WINDBG_trace();
IDirectDrawGammaImpl* This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DirectDrawGammaControl_QueryInterface( LPDIRECTDRAWGAMMACONTROL iface,
REFIID riid,
LPVOID *ppObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawGammaControl_GetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
DWORD dwFlags,
LPDDGAMMARAMP lpGammaRamp)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawGammaControl_SetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
DWORD dwFlags,
LPDDGAMMARAMP lpGammaRamp)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable =
{
DirectDrawGammaControl_QueryInterface,
DirectDrawGammaControl_AddRef,
DirectDrawGammaControl_Release,
DirectDrawGammaControl_GetGammaRamp,
DirectDrawGammaControl_SetGammaRamp
};
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/gamma.c
* PURPOSE: IDirectDrawGamma Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
ULONG WINAPI
DirectDrawGammaControl_AddRef( LPDIRECTDRAWGAMMACONTROL iface)
{
DX_WINDBG_trace();
IDirectDrawGammaImpl * This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DirectDrawGammaControl_Release( LPDIRECTDRAWGAMMACONTROL iface)
{
DX_WINDBG_trace();
IDirectDrawGammaImpl* This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DirectDrawGammaControl_QueryInterface( LPDIRECTDRAWGAMMACONTROL iface,
REFIID riid,
LPVOID *ppObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawGammaControl_GetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
DWORD dwFlags,
LPDDGAMMARAMP lpGammaRamp)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawGammaControl_SetGammaRamp( LPDIRECTDRAWGAMMACONTROL iface,
DWORD dwFlags,
LPDDGAMMARAMP lpGammaRamp)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable =
{
DirectDrawGammaControl_QueryInterface,
DirectDrawGammaControl_AddRef,
DirectDrawGammaControl_Release,
DirectDrawGammaControl_GetGammaRamp,
DirectDrawGammaControl_SetGammaRamp
};
-22
View File
@@ -199,29 +199,7 @@ Hal_DirectDraw_Release (LPDIRECTDRAW7 iface)
HRESULT
Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface)
{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
DDHAL_SETEXCLUSIVEMODEDATA SetExclusiveMode;
if (!(This->mDDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_SETEXCLUSIVEMODE))
{
return DDERR_NODRIVERSUPPORT;
}
SetExclusiveMode.lpDD = &This->mDDrawGlobal;
SetExclusiveMode.ddRVal = DDERR_NOTPALETTIZED;
SetExclusiveMode.dwEnterExcl = This->cooperative_level;
if (This->mDDrawGlobal.lpDDCBtmp->HALDD.SetExclusiveMode(&SetExclusiveMode) != DDHAL_DRIVER_HANDLED)
{
return DDERR_NODRIVERSUPPORT;
}
return SetExclusiveMode.ddRVal;
}
+40
View File
@@ -0,0 +1,40 @@
#include "rosdraw.h"
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface)
{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
This->HELMemoryAvilable = HEL_GRAPHIC_MEMORY_MAX;
This->mCallbacks.HELDD.dwFlags = DDHAL_CB32_DESTROYDRIVER;
This->mCallbacks.HELDD.DestroyDriver = HelDdDestroyDriver;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATESURFACE;
This->mCallbacks.HELDD.CreateSurface = HelDdCreateSurface;
// DDHAL_CB32_
//This->mCallbacks.HELDD.SetColorKey = HelDdSetColorKey;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETMODE;
This->mCallbacks.HELDD.SetMode = HelDdSetMode;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_WAITFORVERTICALBLANK;
This->mCallbacks.HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CANCREATESURFACE;
This->mCallbacks.HELDD.CanCreateSurface = HelDdCanCreateSurface;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATEPALETTE;
This->mCallbacks.HELDD.CreatePalette = HelDdCreatePalette;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_GETSCANLINE;
This->mCallbacks.HELDD.GetScanLine = HelDdGetScanLine;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETEXCLUSIVEMODE;
This->mCallbacks.HELDD.SetExclusiveMode = HelDdSetExclusiveMode;
This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_FLIPTOGDISURFACE;
This->mCallbacks.HELDD.FlipToGDISurface = HelDdFlipToGDISurface;
return DD_OK;
}
+168 -168
View File
@@ -1,168 +1,168 @@
/* $Id: kernel_main.c 21434 2006-04-01 19:12:56Z greatlrd $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/kernel.c
* PURPOSE: IDirectDrawKernel and IDirectDrawSurfaceKernel Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
/***** IDirectDrawKernel ****/
ULONG WINAPI
DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawKernelImpl * This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawKernelImpl* This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DirectDrawKernel_QueryInterface ( LPDIRECTDRAWKERNEL iface,
REFIID riid,
LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawKernel_GetKernelHandle ( LPDIRECTDRAWKERNEL iface,
ULONG* handle)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawKernel_ReleaseKernelHandle ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawSurfaceKernelImpl * This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawSurfaceKernelImpl* This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DDSurfaceKernel_QueryInterface ( LPDIRECTDRAWSURFACEKERNEL iface,
REFIID riid,
LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DDSurfaceKernel_GetKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface,
ULONG* handle)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DDSurfaceKernel_ReleaseKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawKernelVtbl DirectDrawKernel_Vtable =
{
DirectDrawKernel_QueryInterface,
DirectDrawKernel_AddRef,
DirectDrawKernel_Release,
DirectDrawKernel_GetKernelHandle,
DirectDrawKernel_ReleaseKernelHandle
};
IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable =
{
DDSurfaceKernel_QueryInterface,
DDSurfaceKernel_AddRef,
DDSurfaceKernel_Release,
DDSurfaceKernel_GetKernelHandle,
DDSurfaceKernel_ReleaseKernelHandle
};
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/kernel.c
* PURPOSE: IDirectDrawKernel and IDirectDrawSurfaceKernel Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
/***** IDirectDrawKernel ****/
ULONG WINAPI
DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawKernelImpl * This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawKernelImpl* This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DirectDrawKernel_QueryInterface ( LPDIRECTDRAWKERNEL iface,
REFIID riid,
LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawKernel_GetKernelHandle ( LPDIRECTDRAWKERNEL iface,
ULONG* handle)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawKernel_ReleaseKernelHandle ( LPDIRECTDRAWKERNEL iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawSurfaceKernelImpl * This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
ULONG WINAPI
DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
IDirectDrawSurfaceKernelImpl* This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
HRESULT WINAPI
DDSurfaceKernel_QueryInterface ( LPDIRECTDRAWSURFACEKERNEL iface,
REFIID riid,
LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DDSurfaceKernel_GetKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface,
ULONG* handle)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DDSurfaceKernel_ReleaseKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawKernelVtbl DirectDrawKernel_Vtable =
{
DirectDrawKernel_QueryInterface,
DirectDrawKernel_AddRef,
DirectDrawKernel_Release,
DirectDrawKernel_GetKernelHandle,
DirectDrawKernel_ReleaseKernelHandle
};
IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable =
{
DDSurfaceKernel_QueryInterface,
DDSurfaceKernel_AddRef,
DDSurfaceKernel_Release,
DDSurfaceKernel_GetKernelHandle,
DDSurfaceKernel_ReleaseKernelHandle
};
+19 -4
View File
@@ -290,6 +290,7 @@ HRESULT WINAPI Main_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface, HWND hw
DX_WINDBG_trace();
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
DDHAL_SETEXCLUSIVEMODEDATA SetExclusiveMode;
// check the parameters
if ((This->cooperative_level == cooplevel) && ((HWND)This->mDDrawGlobal.lpExclusiveOwner->hWnd == hwnd))
@@ -313,13 +314,27 @@ HRESULT WINAPI Main_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface, HWND hw
//mDDrawGlobal.lpExclusiveOwner->dwLocalFlags
This->cooperative_level = cooplevel;
if (This->mDDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_SETEXCLUSIVEMODE)
SetExclusiveMode.lpDD = &This->mDDrawGlobal;
SetExclusiveMode.ddRVal = DDERR_NODRIVERSUPPORT;
SetExclusiveMode.dwEnterExcl = This->cooperative_level;
if (!(This->mDDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_SETEXCLUSIVEMODE))
{
return Hal_DirectDraw_SetCooperativeLevel (iface);
SetExclusiveMode.SetExclusiveMode = This->mDDrawGlobal.lpDDCBtmp->HELDD.SetExclusiveMode;
}
else
{
SetExclusiveMode.SetExclusiveMode = This->mDDrawGlobal.lpDDCBtmp->HALDD.SetExclusiveMode;
}
if (SetExclusiveMode.SetExclusiveMode(&SetExclusiveMode) != DDHAL_DRIVER_HANDLED)
{
return DDERR_NODRIVERSUPPORT;
}
return Hel_DirectDraw_SetCooperativeLevel(iface);
return SetExclusiveMode.ddRVal;
}
@@ -496,9 +496,9 @@ HRESULT WINAPI
Main_DDrawSurface_SetClipper (LPDIRECTDRAWSURFACE7 iface,
LPDIRECTDRAWCLIPPER pDDClipper)
{
DX_WINDBG_trace();
DX_STUB;
/* FIXME not implment */
DX_WINDBG_trace();
DX_STUB_DD_OK;
}
HRESULT WINAPI
+112 -112
View File
@@ -1,112 +1,112 @@
/* $Id: palette_main.c 21434 2006-04-01 19:12:56Z greatlrd $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/palette.c
* PURPOSE: IDirectDrawPalette Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
ULONG WINAPI
DirectDrawPalette_Release( LPDIRECTDRAWPALETTE iface)
{
DX_WINDBG_trace();
IDirectDrawPaletteImpl* This = (IDirectDrawPaletteImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
ULONG WINAPI
DirectDrawPalette_AddRef( LPDIRECTDRAWPALETTE iface)
{
DX_WINDBG_trace();
IDirectDrawPaletteImpl * This = (IDirectDrawPaletteImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
HRESULT WINAPI
DirectDrawPalette_Initialize( LPDIRECTDRAWPALETTE iface,
LPDIRECTDRAW ddraw,
DWORD dwFlags,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_GetEntries( LPDIRECTDRAWPALETTE iface,
DWORD dwFlags,
DWORD dwStart, DWORD dwCount,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_SetEntries( LPDIRECTDRAWPALETTE iface,
DWORD dwFlags,
DWORD dwStart,
DWORD dwCount,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_GetCaps( LPDIRECTDRAWPALETTE iface,
LPDWORD lpdwCaps)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_QueryInterface( LPDIRECTDRAWPALETTE iface,
REFIID refiid,
LPVOID *obj)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawPaletteVtbl DirectDrawPalette_Vtable =
{
DirectDrawPalette_QueryInterface,
DirectDrawPalette_AddRef,
DirectDrawPalette_Release,
DirectDrawPalette_GetCaps,
DirectDrawPalette_GetEntries,
DirectDrawPalette_Initialize,
DirectDrawPalette_SetEntries
};
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/palette.c
* PURPOSE: IDirectDrawPalette Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
ULONG WINAPI
DirectDrawPalette_Release( LPDIRECTDRAWPALETTE iface)
{
DX_WINDBG_trace();
IDirectDrawPaletteImpl* This = (IDirectDrawPaletteImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedDecrement( (PLONG) &This->ref);
if (ref == 0)
{
/* Add here if we need releae some memory pointer before
* exists
*/
if (This!=NULL)
{
HeapFree(GetProcessHeap(), 0, This);
}
}
}
return ref;
}
ULONG WINAPI
DirectDrawPalette_AddRef( LPDIRECTDRAWPALETTE iface)
{
DX_WINDBG_trace();
IDirectDrawPaletteImpl * This = (IDirectDrawPaletteImpl*)iface;
ULONG ref=0;
if (iface!=NULL)
{
ref = InterlockedIncrement( (PLONG) &This->ref);
}
return ref;
}
HRESULT WINAPI
DirectDrawPalette_Initialize( LPDIRECTDRAWPALETTE iface,
LPDIRECTDRAW ddraw,
DWORD dwFlags,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_GetEntries( LPDIRECTDRAWPALETTE iface,
DWORD dwFlags,
DWORD dwStart, DWORD dwCount,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_SetEntries( LPDIRECTDRAWPALETTE iface,
DWORD dwFlags,
DWORD dwStart,
DWORD dwCount,
LPPALETTEENTRY palent)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_GetCaps( LPDIRECTDRAWPALETTE iface,
LPDWORD lpdwCaps)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
DirectDrawPalette_QueryInterface( LPDIRECTDRAWPALETTE iface,
REFIID refiid,
LPVOID *obj)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawPaletteVtbl DirectDrawPalette_Vtable =
{
DirectDrawPalette_QueryInterface,
DirectDrawPalette_AddRef,
DirectDrawPalette_Release,
DirectDrawPalette_GetCaps,
DirectDrawPalette_GetEntries,
DirectDrawPalette_Initialize,
DirectDrawPalette_SetEntries
};
@@ -12,25 +12,7 @@
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface)
{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
This->HELMemoryAvilable = HEL_GRAPHIC_MEMORY_MAX;
This->mCallbacks.HELDD.dwFlags = DDHAL_CB32_CANCREATESURFACE;
This->mCallbacks.HELDD.CanCreateSurface = HelDdCanCreateSurface;
This->mCallbacks.HELDD.dwFlags = DDHAL_CB32_CREATESURFACE;
This->mCallbacks.HELDD.CreateSurface = HelDdCreateSurface;
return DD_OK;
}
HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface)
{
return DD_OK;
}
VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 iface)
{
@@ -14,132 +14,70 @@
extern DDPIXELFORMAT pixelformats[];
extern DWORD pixelformatsCount;
DWORD CALLBACK HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA pccsd)
/*
* Direct Draw Callbacks
*/
DWORD CALLBACK
HelDdDestroyDriver(LPDDHAL_DESTROYDRIVERDATA lpDestroyDriver)
{
DWORD count;
// FIXME check the HAL pixelformat table if it exists
// FIXME check how big the surface in byte and report it can be create or not
// if we got egunt with HEL memmory
// HEL only support 16bits & 15bits Z-Buffer
if ((pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_ZBUFFER) &&
(pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY))
{
pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
if (DDSD_ZBUFFERBITDEPTH & pccsd->lpDDSurfaceDesc->dwFlags)
{
if (pccsd->lpDDSurfaceDesc->dwZBufferBitDepth == 16)
{
pccsd->ddRVal = DD_OK;
}
}
else
{
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwZBufferBitDepth == 16)
{
pccsd->ddRVal = DD_OK;
}
}
return DDHAL_DRIVER_HANDLED;
}
// Check diffent pixel format
if (pccsd->bIsDifferentPixelFormat)
{
//if(pccsd->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
if(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & 0)
{
switch (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFourCC)
{
//case FOURCC_YUV422:
case 0:
// FIXME check if display is 8bmp or not if it return DDERR_INVALIDPIXELFORMAT
pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwYUVBitCount = 16;
pccsd->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
default:
pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
return DDHAL_DRIVER_HANDLED;
}
}
else if((pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_TEXTURE))
{
for(count=0;count< pixelformatsCount ;count++)
{
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags != pixelformats->dwFlags)
{
continue;
}
if (!(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & (DDPF_YUV | DDPF_FOURCC)))
{
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount != pixelformats->dwRGBBitCount )
{
continue;
}
}
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & DDPF_RGB)
{
if ((pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwRBitMask != pixelformats->dwRBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwGBitMask != pixelformats->dwGBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwBBitMask != pixelformats->dwBBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwRGBAlphaBitMask != pixelformats->dwRGBAlphaBitMask))
{
continue;
}
}
if (pccsd->lpDDSurfaceDesc->dwFlags & DDPF_YUV)
{
if ((pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFourCC != pixelformats->dwFourCC) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwYUVBitCount != pixelformats->dwYUVBitCount) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwYBitMask != pixelformats->dwYBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwUBitMask != pixelformats->dwUBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwVBitMask != pixelformats->dwVBitMask) ||
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwYUVAlphaBitMask != pixelformats->dwYUVAlphaBitMask))
{
continue;
}
}
else if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
{
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFourCC != pixelformats->dwFourCC)
{
continue;
}
}
if (pccsd->lpDDSurfaceDesc->dwFlags & DDPF_ZPIXELS)
{
if (pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwRGBZBitMask != pixelformats->dwRGBZBitMask)
{
continue;
}
}
pccsd->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
}
// for did not found a pixel format
pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
return DDHAL_DRIVER_HANDLED;
}
}
// no diffent pixel format was found so we return OK
pccsd->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
DX_STUB;
}
DWORD CALLBACK HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface)
DWORD CALLBACK
HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface)
{
DX_STUB;
DX_STUB;
}
/*
DWORD CALLBACK HelDdSetColorKey(LPDDHAL_SETCOLORKEYDATA lpSetColorKey)
{
DX_STUB;
}
*/
DWORD CALLBACK
HelDdSetMode(LPDDHAL_SETMODEDATA SetMode)
{
DX_STUB;
}
DWORD CALLBACK
HelDdWaitForVerticalBlank(LPDDHAL_WAITFORVERTICALBLANKDATA lpWaitForVerticalBlank)
{
DX_STUB;
}
DWORD CALLBACK
HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA lpCanCreateSurface)
{
DX_STUB;
}
DWORD CALLBACK
HelDdCreatePalette(LPDDHAL_CREATEPALETTEDATA lpCreatePalette)
{
DX_STUB;
}
DWORD CALLBACK
HelDdGetScanLine(LPDDHAL_GETSCANLINEDATA lpGetScanLine)
{
DX_STUB;
}
DWORD CALLBACK
HelDdSetExclusiveMode(LPDDHAL_SETEXCLUSIVEMODEDATA lpSetExclusiveMode)
{
DX_WINDBG_trace();
DX_STUB_str("Not implement yet, return DD_OK for not bsod\n");
return DD_OK;
}
DWORD CALLBACK
HelDdFlipToGDISurface(LPDDHAL_FLIPTOGDISURFACEDATA lpFlipToGDISurface)
{
DX_STUB;
}
+260 -260
View File
@@ -1,260 +1,260 @@
/* $Id: videoport_main.c 21434 2006-04-01 19:12:56Z greatlrd $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/videoport.c
* PURPOSE: IDirectDrawVideoPort, DDVideoPortContainer and IDirectDrawVideoPortNotify Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
/************* IDirectDrawVideoPort *************/
HRESULT WINAPI
Main_DirectDrawVideoPort_QueryInterface (LPDIRECTDRAWVIDEOPORT iface, REFIID riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DirectDrawVideoPort_AddRef (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DirectDrawVideoPort_Release (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_Flip (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_GetBandwidthInfo (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpddpfFormat, DWORD dwWidth,
DWORD dwHeight, DWORD dwFlags, LPDDVIDEOPORTBANDWIDTH lpBandwidth)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_GetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetInputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpNumFormats,
LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetOutputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpInputFormat,
LPDWORD lpNumFormats, LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetFieldPolarity (LPDIRECTDRAWVIDEOPORT iface, LPBOOL lpbFieldPolarity)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoLine (LPDIRECTDRAWVIDEOPORT This, LPDWORD lpdwLine)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoSignalStatus (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpdwStatus)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_SetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_SetTargetSurface (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface,
DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_StartVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_StopVideo (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_UpdateVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_WaitForSync (LPDIRECTDRAWVIDEOPORT iface, DWORD dwFlags, DWORD dwLine,
DWORD dwTimeout)
{
DX_WINDBG_trace();
DX_STUB;
}
/************* IDDVideoPortContainer *************/
HRESULT WINAPI Main_DDVideoPortContainer_QueryInterface (LPDDVIDEOPORTCONTAINER iface, REFIID riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI Main_DDVideoPortContainer_AddRef (LPDDVIDEOPORTCONTAINER iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI Main_DDVideoPortContainer_Release (LPDDVIDEOPORTCONTAINER iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortContainer_CreateVideoPort (LPDDVIDEOPORTCONTAINER iface, DWORD dwFlags, LPDDVIDEOPORTDESC pPortDesc,
LPDIRECTDRAWVIDEOPORT* DDVideoPort, IUnknown* pUnkOuter)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_EnumVideoPorts (LPDDVIDEOPORTCONTAINER iface,
DWORD dwFlags,
LPDDVIDEOPORTCAPS pCaps,
LPVOID pContext,
LPDDENUMVIDEOCALLBACK pEnumVideoCallback)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_GetVideoPortConnectInfo (LPDDVIDEOPORTCONTAINER iface,
DWORD PortId, DWORD* pNumEntries,
LPDDVIDEOPORTCONNECT pConnectInfo)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_QueryVideoPortStatus (LPDDVIDEOPORTCONTAINER iface,
DWORD PortId,
LPDDVIDEOPORTSTATUS pStatus)
{
DX_WINDBG_trace();
DX_STUB;
}
/************* IDirectDrawVideoPortNotify *************/
HRESULT WINAPI
Main_DDVideoPortNotify_QueryInterface (LPDIRECTDRAWVIDEOPORTNOTIFY iface, REFIID
riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DDVideoPortNotify_AddRef (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DDVideoPortNotify_Release (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortNotify_AcquireNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE* h, LPDDVIDEOPORTNOTIFY pVideoPortNotify)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortNotify_ReleaseNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE h)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawVideoPortVtbl DirectDrawVideoPort_Vtable =
{
Main_DirectDrawVideoPort_QueryInterface,
Main_DirectDrawVideoPort_AddRef,
Main_DirectDrawVideoPort_Release,
Main_DirectDrawVideoPort_Flip,
Main_DirectDrawVideoPort_GetBandwidthInfo,
Main_DirectDrawVideoPort_GetColorControls,
Main_DirectDrawVideoPort_GetInputFormats,
Main_DirectDrawVideoPort_GetOutputFormats,
Main_DirectDrawVideoPort_GetFieldPolarity,
Main_DirectDrawVideoPort_GetVideoLine,
Main_DirectDrawVideoPort_GetVideoSignalStatus,
Main_DirectDrawVideoPort_SetColorControls,
Main_DirectDrawVideoPort_SetTargetSurface,
Main_DirectDrawVideoPort_StartVideo,
Main_DirectDrawVideoPort_StopVideo,
Main_DirectDrawVideoPort_UpdateVideo,
Main_DirectDrawVideoPort_WaitForSync
};
IDDVideoPortContainerVtbl DDVideoPortContainer_Vtable =
{
Main_DDVideoPortContainer_QueryInterface,
Main_DDVideoPortContainer_AddRef,
Main_DDVideoPortContainer_Release,
Main_DDVideoPortContainer_CreateVideoPort,
Main_DDVideoPortContainer_EnumVideoPorts,
Main_DDVideoPortContainer_GetVideoPortConnectInfo,
Main_DDVideoPortContainer_QueryVideoPortStatus
};
IDirectDrawVideoPortNotifyVtbl DDVideoPortNotify_Vtable =
{
Main_DDVideoPortNotify_QueryInterface,
Main_DDVideoPortNotify_AddRef,
Main_DDVideoPortNotify_Release,
Main_DDVideoPortNotify_AcquireNotification,
Main_DDVideoPortNotify_ReleaseNotification
};
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS
* FILE: lib/ddraw/main/videoport.c
* PURPOSE: IDirectDrawVideoPort, DDVideoPortContainer and IDirectDrawVideoPortNotify Implementation
* PROGRAMMER: Maarten Bosma
*
*/
#include "rosdraw.h"
/************* IDirectDrawVideoPort *************/
HRESULT WINAPI
Main_DirectDrawVideoPort_QueryInterface (LPDIRECTDRAWVIDEOPORT iface, REFIID riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DirectDrawVideoPort_AddRef (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DirectDrawVideoPort_Release (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_Flip (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_GetBandwidthInfo (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpddpfFormat, DWORD dwWidth,
DWORD dwHeight, DWORD dwFlags, LPDDVIDEOPORTBANDWIDTH lpBandwidth)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDrawVideoPort_GetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetInputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpNumFormats,
LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetOutputFormats (LPDIRECTDRAWVIDEOPORT iface, LPDDPIXELFORMAT lpInputFormat,
LPDWORD lpNumFormats, LPDDPIXELFORMAT lpFormats, DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetFieldPolarity (LPDIRECTDRAWVIDEOPORT iface, LPBOOL lpbFieldPolarity)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoLine (LPDIRECTDRAWVIDEOPORT This, LPDWORD lpdwLine)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_GetVideoSignalStatus (LPDIRECTDRAWVIDEOPORT iface, LPDWORD lpdwStatus)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_SetColorControls (LPDIRECTDRAWVIDEOPORT iface, LPDDCOLORCONTROL lpColorControl)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_SetTargetSurface (LPDIRECTDRAWVIDEOPORT iface, LPDIRECTDRAWSURFACE lpDDSurface,
DWORD dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_StartVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_StopVideo (LPDIRECTDRAWVIDEOPORT iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_UpdateVideo (LPDIRECTDRAWVIDEOPORT iface, LPDDVIDEOPORTINFO dwFlags)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DirectDrawVideoPort_WaitForSync (LPDIRECTDRAWVIDEOPORT iface, DWORD dwFlags, DWORD dwLine,
DWORD dwTimeout)
{
DX_WINDBG_trace();
DX_STUB;
}
/************* IDDVideoPortContainer *************/
HRESULT WINAPI Main_DDVideoPortContainer_QueryInterface (LPDDVIDEOPORTCONTAINER iface, REFIID riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI Main_DDVideoPortContainer_AddRef (LPDDVIDEOPORTCONTAINER iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI Main_DDVideoPortContainer_Release (LPDDVIDEOPORTCONTAINER iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortContainer_CreateVideoPort (LPDDVIDEOPORTCONTAINER iface, DWORD dwFlags, LPDDVIDEOPORTDESC pPortDesc,
LPDIRECTDRAWVIDEOPORT* DDVideoPort, IUnknown* pUnkOuter)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_EnumVideoPorts (LPDDVIDEOPORTCONTAINER iface,
DWORD dwFlags,
LPDDVIDEOPORTCAPS pCaps,
LPVOID pContext,
LPDDENUMVIDEOCALLBACK pEnumVideoCallback)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_GetVideoPortConnectInfo (LPDDVIDEOPORTCONTAINER iface,
DWORD PortId, DWORD* pNumEntries,
LPDDVIDEOPORTCONNECT pConnectInfo)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DDVideoPortContainer_QueryVideoPortStatus (LPDDVIDEOPORTCONTAINER iface,
DWORD PortId,
LPDDVIDEOPORTSTATUS pStatus)
{
DX_WINDBG_trace();
DX_STUB;
}
/************* IDirectDrawVideoPortNotify *************/
HRESULT WINAPI
Main_DDVideoPortNotify_QueryInterface (LPDIRECTDRAWVIDEOPORTNOTIFY iface, REFIID
riid, LPVOID* ppvObj)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DDVideoPortNotify_AddRef (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
{
DX_WINDBG_trace();
DX_STUB;
}
ULONG WINAPI
Main_DDVideoPortNotify_Release (LPDIRECTDRAWVIDEOPORTNOTIFY iface)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortNotify_AcquireNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE* h, LPDDVIDEOPORTNOTIFY pVideoPortNotify)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI Main_DDVideoPortNotify_ReleaseNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface, HANDLE h)
{
DX_WINDBG_trace();
DX_STUB;
}
IDirectDrawVideoPortVtbl DirectDrawVideoPort_Vtable =
{
Main_DirectDrawVideoPort_QueryInterface,
Main_DirectDrawVideoPort_AddRef,
Main_DirectDrawVideoPort_Release,
Main_DirectDrawVideoPort_Flip,
Main_DirectDrawVideoPort_GetBandwidthInfo,
Main_DirectDrawVideoPort_GetColorControls,
Main_DirectDrawVideoPort_GetInputFormats,
Main_DirectDrawVideoPort_GetOutputFormats,
Main_DirectDrawVideoPort_GetFieldPolarity,
Main_DirectDrawVideoPort_GetVideoLine,
Main_DirectDrawVideoPort_GetVideoSignalStatus,
Main_DirectDrawVideoPort_SetColorControls,
Main_DirectDrawVideoPort_SetTargetSurface,
Main_DirectDrawVideoPort_StartVideo,
Main_DirectDrawVideoPort_StopVideo,
Main_DirectDrawVideoPort_UpdateVideo,
Main_DirectDrawVideoPort_WaitForSync
};
IDDVideoPortContainerVtbl DDVideoPortContainer_Vtable =
{
Main_DDVideoPortContainer_QueryInterface,
Main_DDVideoPortContainer_AddRef,
Main_DDVideoPortContainer_Release,
Main_DDVideoPortContainer_CreateVideoPort,
Main_DDVideoPortContainer_EnumVideoPorts,
Main_DDVideoPortContainer_GetVideoPortConnectInfo,
Main_DDVideoPortContainer_QueryVideoPortStatus
};
IDirectDrawVideoPortNotifyVtbl DDVideoPortNotify_Vtable =
{
Main_DDVideoPortNotify_QueryInterface,
Main_DDVideoPortNotify_AddRef,
Main_DDVideoPortNotify_Release,
Main_DDVideoPortNotify_AcquireNotification,
Main_DDVideoPortNotify_ReleaseNotification
};