enginesettings.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FIFE_ENGINESETTINGS_H
00023 #define FIFE_ENGINESETTINGS_H
00024
00025
00026 #include <vector>
00027
00028
00029
00030
00031
00032
00033
00034 #include "util/base/exception.h"
00035
00036 namespace FIFE {
00037 class NotSupported;
00038
00042 class EngineSettings {
00043 public:
00046 EngineSettings();
00047
00050 ~EngineSettings();
00051
00054 void validate() const;
00055
00059 void setBitsPerPixel(uint16_t bitsperpixel);
00060
00063 uint16_t getBitsPerPixel() const {
00064 return m_bitsperpixel;
00065 }
00066
00069 std::vector<uint16_t> getPossibleBitsPerPixel() const;
00070
00073 std::vector<std::pair<uint16_t, uint16_t> > getPossibleResolutions() const;
00074
00077 void setFullScreen(bool fullscreen) {
00078 m_fullscreen = fullscreen;
00079 }
00080
00083 bool isFullScreen() const {
00084 return m_fullscreen;
00085 }
00086
00090 void setInitialVolume(float volume);
00091
00094 float getInitialVolume() const {
00095 return m_initialvolume;
00096 }
00097
00100 float getMaxVolume() const;
00101
00105 void setRenderBackend(const std::string& renderbackend);
00106
00109 const std::string getRenderBackend() const {
00110 return m_renderbackend;
00111 }
00112
00115 std::vector<std::string> getPossibleRenderBackends();
00116
00119 void setSDLRemoveFakeAlpha(bool sdlremovefakealpha);
00120
00123 bool isSDLRemoveFakeAlpha(bool sdlremovefakealpha) const {
00124 return m_sdlremovefakealpha;
00125 }
00126
00129 void setScreenWidth(uint16_t screenwidth);
00130
00133 uint16_t getScreenWidth() const {
00134 return m_screenwidth;
00135 }
00136
00139 void setScreenHeight(uint16_t screenheight);
00140
00143 uint16_t getScreenHeight() const {
00144 return m_screenheight;
00145 }
00146
00149 void setDefaultFontPath(const std::string& defaultfontpath);
00150
00153 std::string getDefaultFontPath() const {
00154 return m_defaultfontpath;
00155 }
00156
00159 void setDefaultFontSize(uint16_t defaultfontsize);
00160
00163 uint16_t getDefaultFontSize() const {
00164 return m_defaultfontsize;
00165 }
00166
00169 void setDefaultFontGlyphs(const std::string& defaultfontglyphs);
00170
00173 std::string getDefaultFontGlyphs() const {
00174 return m_defaultfontglyphs;
00175 }
00176
00179 void setWindowTitle(const std::string& title);
00180
00183 std::string getWindowTitle() const {
00184 return m_windowtitle;
00185 }
00186
00189 void setWindowIcon(const std::string& icon);
00190
00193 std::string getWindowIcon() const {
00194 return m_windowicon;
00195 }
00196
00199 void setColorKeyEnabled(bool colorkeyenable);
00200
00203 bool isColorKeyEnabled() const;
00204
00207 void setColorKey(uint8_t r, uint8_t g, uint8_t b);
00208
00211 const SDL_Color& getColorKey() const;
00212
00213 void setVideoDriver(const std::string& driver);
00214
00215 const std::string& getVideoDriver() const;
00216
00219 void setLightingModel(unsigned int lighting);
00220
00223 unsigned int getLightingModel() const {
00224 return m_lighting;
00225 }
00226
00227 private:
00228 uint8_t m_bitsperpixel;
00229 bool m_fullscreen;
00230 float m_initialvolume;
00231 std::string m_renderbackend;
00232 bool m_sdlremovefakealpha;
00233 uint16_t m_screenwidth;
00234 uint16_t m_screenheight;
00235 std::string m_windowtitle;
00236 std::string m_windowicon;
00237
00238
00239 std::string m_defaultfontpath;
00240 uint16_t m_defaultfontsize;
00241 std::string m_defaultfontglyphs;
00242 bool m_iscolorkeyenabled;
00243 SDL_Color m_colorkey;
00244 std::string m_videodriver;
00245 unsigned int m_lighting;
00246 };
00247
00248 }
00249
00250 #endif
00251