From 4a3cd2b21741677c8992bd4b907d8785bf727091 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sun, 7 May 2006 07:43:50 +0000 Subject: [PATCH] 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 --- reactos/dll/directx/ddraw/ddraw.rbuild | 1 + reactos/dll/directx/ddraw/gamma.c | 180 +++--- reactos/dll/directx/ddraw/hal/ddraw_hal.c | 22 - reactos/dll/directx/ddraw/helinterface.c | 40 ++ reactos/dll/directx/ddraw/kernel.c | 336 +++++------ reactos/dll/directx/ddraw/main/ddraw_main.c | 23 +- reactos/dll/directx/ddraw/main/surface_main.c | 6 +- reactos/dll/directx/ddraw/palette.c | 224 ++++---- reactos/dll/directx/ddraw/soft/ddraw_hel.c | 18 - .../ddraw/soft/surface_callbacks_hel.c | 186 +++---- reactos/dll/directx/ddraw/videoport.c | 520 +++++++++--------- 11 files changed, 755 insertions(+), 801 deletions(-) create mode 100644 reactos/dll/directx/ddraw/helinterface.c diff --git a/reactos/dll/directx/ddraw/ddraw.rbuild b/reactos/dll/directx/ddraw/ddraw.rbuild index f85f32d01c7..678845f8162 100644 --- a/reactos/dll/directx/ddraw/ddraw.rbuild +++ b/reactos/dll/directx/ddraw/ddraw.rbuild @@ -17,6 +17,7 @@ ddraw.rc main.c regsvr.c + helinterface.c clipper.c color.c diff --git a/reactos/dll/directx/ddraw/gamma.c b/reactos/dll/directx/ddraw/gamma.c index c9321daa582..9954b11a451 100644 --- a/reactos/dll/directx/ddraw/gamma.c +++ b/reactos/dll/directx/ddraw/gamma.c @@ -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 +}; diff --git a/reactos/dll/directx/ddraw/hal/ddraw_hal.c b/reactos/dll/directx/ddraw/hal/ddraw_hal.c index 00ef4d3b3c4..12f0e3789dc 100644 --- a/reactos/dll/directx/ddraw/hal/ddraw_hal.c +++ b/reactos/dll/directx/ddraw/hal/ddraw_hal.c @@ -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; -} diff --git a/reactos/dll/directx/ddraw/helinterface.c b/reactos/dll/directx/ddraw/helinterface.c new file mode 100644 index 00000000000..48226fab3cd --- /dev/null +++ b/reactos/dll/directx/ddraw/helinterface.c @@ -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; +} diff --git a/reactos/dll/directx/ddraw/kernel.c b/reactos/dll/directx/ddraw/kernel.c index a0c8ed6fe27..cb70ecfab43 100644 --- a/reactos/dll/directx/ddraw/kernel.c +++ b/reactos/dll/directx/ddraw/kernel.c @@ -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 +}; diff --git a/reactos/dll/directx/ddraw/main/ddraw_main.c b/reactos/dll/directx/ddraw/main/ddraw_main.c index e596e9df02a..0a6fc726bff 100644 --- a/reactos/dll/directx/ddraw/main/ddraw_main.c +++ b/reactos/dll/directx/ddraw/main/ddraw_main.c @@ -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; + } diff --git a/reactos/dll/directx/ddraw/main/surface_main.c b/reactos/dll/directx/ddraw/main/surface_main.c index ce522edc5ff..88eaff5c112 100644 --- a/reactos/dll/directx/ddraw/main/surface_main.c +++ b/reactos/dll/directx/ddraw/main/surface_main.c @@ -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 diff --git a/reactos/dll/directx/ddraw/palette.c b/reactos/dll/directx/ddraw/palette.c index 61718e5a3a3..52df7a40c9a 100644 --- a/reactos/dll/directx/ddraw/palette.c +++ b/reactos/dll/directx/ddraw/palette.c @@ -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 +}; diff --git a/reactos/dll/directx/ddraw/soft/ddraw_hel.c b/reactos/dll/directx/ddraw/soft/ddraw_hel.c index 9a53f6ce9c2..490e165f419 100644 --- a/reactos/dll/directx/ddraw/soft/ddraw_hel.c +++ b/reactos/dll/directx/ddraw/soft/ddraw_hel.c @@ -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) { diff --git a/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c b/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c index e0961eab035..da79141e33a 100644 --- a/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c +++ b/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c @@ -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; +} + diff --git a/reactos/dll/directx/ddraw/videoport.c b/reactos/dll/directx/ddraw/videoport.c index 88e94897e39..f0f679b87c7 100644 --- a/reactos/dll/directx/ddraw/videoport.c +++ b/reactos/dll/directx/ddraw/videoport.c @@ -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 +};