1 /* DirectDrawGammaControl implementation
3 * Copyright 2001 TransGaming Technologies Inc.
12 #include "debugtools.h"
13 #include "ddraw_private.h"
14 #include "dsurface/main.h"
16 DEFAULT_DEBUG_CHANNEL(ddraw);
18 #define CONVERT(pddgc) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, \
19 IDirectDrawGammaControl, \
20 IDirectDrawSurface7, \
24 DirectDrawGammaControl_QueryInterface(LPDIRECTDRAWGAMMACONTROL iface, REFIID riid,
27 TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(riid), ppObj);
32 DirectDrawGammaControl_AddRef(LPDIRECTDRAWGAMMACONTROL iface)
34 return IDirectDrawSurface7_AddRef(CONVERT(iface));
38 DirectDrawGammaControl_Release(LPDIRECTDRAWGAMMACONTROL iface)
40 return IDirectDrawSurface7_Release(CONVERT(iface));
44 DirectDrawGammaControl_GetGammaRamp(LPDIRECTDRAWGAMMACONTROL iface, DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp)
46 ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
47 TRACE("(%p)->(%08lx,%p)\n", iface,dwFlags,lpGammaRamp);
48 return This->get_gamma_ramp(This, dwFlags, lpGammaRamp);
52 DirectDrawGammaControl_SetGammaRamp(LPDIRECTDRAWGAMMACONTROL iface, DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp)
54 ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
55 TRACE("(%p)->(%08lx,%p)\n", iface,dwFlags,lpGammaRamp);
56 return This->set_gamma_ramp(This, dwFlags, lpGammaRamp);
59 ICOM_VTABLE(IDirectDrawGammaControl) DDRAW_IDDGC_VTable =
61 DirectDrawGammaControl_QueryInterface,
62 DirectDrawGammaControl_AddRef,
63 DirectDrawGammaControl_Release,
64 DirectDrawGammaControl_GetGammaRamp,
65 DirectDrawGammaControl_SetGammaRamp