// ============================================================== // This file is part of Glest Shared Library (www.glest.org) // // Copyright (C) 2001-2008 MartiƱo Figueroa // // You can redistribute this code and/or modify it under // the terms of the GNU General Public License as published // by the Free Software Foundation; either version 2 of the // License, or (at your option) any later version // ============================================================== #ifndef _SHARED_GRAPHICS_CONTEXT_H_ #define _SHARED_GRAPHICS_CONTEXT_H_ #include "data_types.h" #include "leak_dumper.h" namespace Shared{ namespace Graphics{ using Platform::uint32; using Platform::int8; // ===================================================== // class Context // ===================================================== class Context{ protected: uint32 colorBits; uint32 depthBits; uint32 stencilBits; int8 hardware_acceleration; int8 fullscreen_anti_aliasing; float gammaValue; public: Context(); virtual ~Context(){} uint32 getColorBits() const {return colorBits;} uint32 getDepthBits() const {return depthBits;} uint32 getStencilBits() const {return stencilBits;} int8 getHardware_acceleration() const { return hardware_acceleration; } int8 getFullscreen_anti_aliasing() const { return fullscreen_anti_aliasing; } float getGammaValue() const { return gammaValue; } void setColorBits(uint32 colorBits) {this->colorBits= colorBits;} void setDepthBits(uint32 depthBits) {this->depthBits= depthBits;} void setStencilBits(uint32 stencilBits) {this->stencilBits= stencilBits;} void setHardware_acceleration(int8 value) { hardware_acceleration = value; } void setFullscreen_anti_aliasing(int8 value) { fullscreen_anti_aliasing = value; } void setGammaValue(float value) { gammaValue = value; } virtual void init()= 0; virtual void end()= 0; virtual void reset()= 0; virtual void makeCurrent()= 0; virtual void swapBuffers()= 0; }; }}//end namespace #endif