#ifndef GAMMATABLE_H #define GAMMATABLE_H #include "../types.h" #ifdef USE_DIRECTX_8 #include "D3d8.h" #undef SERVER_EXECUTE #endif const uint32 kGammaTableSize = 2*256*3; class GammaTable { public: GammaTable(); virtual ~GammaTable(); float GetGammaSlope() const; void InitializeToFlat(); bool InitializeFromVideoState(); bool InitializeToVideoState(); void ProcessSlope(float inSlope); private: #ifdef USE_DIRECTX_8 IDirect3DDevice8* GetDirect3DDevice(); IDirect3DDevice8* m3DDevice; D3DGAMMARAMP mDirect3DGammaRamp; #endif bool mDirect3DMode; char mBaseData[kGammaTableSize]; char mSlopeData[kGammaTableSize]; float mSlope; }; #endif