mirror of
https://github.com/glest/glest-source.git
synced 2025-09-30 09:29:25 +02:00
Fixed the god-awful indentation
This commit is contained in:
@@ -33,217 +33,290 @@ typedef SDL_Keysym SDL_keysym;
|
||||
|
||||
#endif
|
||||
|
||||
namespace Shared{ namespace Platform{
|
||||
namespace Shared {
|
||||
namespace Platform {
|
||||
|
||||
class Timer;
|
||||
//class PlatformContextGl;
|
||||
class Timer;
|
||||
//class PlatformContextGl;
|
||||
|
||||
enum MouseButton {
|
||||
mbUnknown,
|
||||
mbLeft,
|
||||
mbCenter,
|
||||
mbRight,
|
||||
mbButtonX1,
|
||||
mbButtonX2,
|
||||
enum MouseButton {
|
||||
mbUnknown,
|
||||
mbLeft,
|
||||
mbCenter,
|
||||
mbRight,
|
||||
mbButtonX1,
|
||||
mbButtonX2,
|
||||
|
||||
mbCount
|
||||
};
|
||||
mbCount
|
||||
};
|
||||
|
||||
enum SizeState{
|
||||
ssMaximized,
|
||||
ssMinimized,
|
||||
ssRestored
|
||||
};
|
||||
enum SizeState {
|
||||
ssMaximized,
|
||||
ssMinimized,
|
||||
ssRestored
|
||||
};
|
||||
|
||||
class MouseState {
|
||||
private:
|
||||
bool states[mbCount];
|
||||
class MouseState {
|
||||
private:
|
||||
bool states[mbCount];
|
||||
|
||||
|
||||
public:
|
||||
MouseState() {
|
||||
clear();
|
||||
public:
|
||||
MouseState() {
|
||||
clear();
|
||||
}
|
||||
//MouseState(const MouseState &);
|
||||
//MouseState &operator=(const MouseState &);
|
||||
void clear() {
|
||||
memset(this, 0, sizeof(MouseState));
|
||||
}
|
||||
|
||||
bool get(MouseButton b) const {
|
||||
if (b > 0 && b < mbCount) {
|
||||
return states[b];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void set(MouseButton b, bool state) {
|
||||
if (b > 0 && b < mbCount) {
|
||||
states[b] = state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
enum WindowStyle {
|
||||
wsFullscreen,
|
||||
wsWindowedFixed,
|
||||
wsWindowedResizable
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class Window
|
||||
// =====================================================
|
||||
|
||||
class Window {
|
||||
private:
|
||||
static SDL_Window *sdlWindow;
|
||||
Uint32 lastMouseDown[mbCount];
|
||||
int lastMouseX[mbCount];
|
||||
int lastMouseY[mbCount];
|
||||
|
||||
static int64 lastMouseEvent; /** for use in mouse hover calculations */
|
||||
static MouseState mouseState;
|
||||
static Vec2i mousePos;
|
||||
static bool isKeyPressedDown;
|
||||
static bool isFullScreen;
|
||||
static SDL_keysym keystate;
|
||||
static bool tryVSynch;
|
||||
static int64 lastToggle;
|
||||
|
||||
static void setLastToggle(int64 lastToggle) {
|
||||
Window::lastToggle = lastToggle;
|
||||
}
|
||||
static int64 getLastToggle() {
|
||||
return Window::lastToggle;
|
||||
}
|
||||
|
||||
static void setLastMouseEvent(int64 lastMouseEvent) {
|
||||
Window::lastMouseEvent = lastMouseEvent;
|
||||
}
|
||||
static int64 getLastMouseEvent() {
|
||||
return Window::lastMouseEvent;
|
||||
}
|
||||
|
||||
static const MouseState &getMouseState() {
|
||||
return Window::mouseState;
|
||||
}
|
||||
static void setMouseState(MouseButton b, bool state) {
|
||||
Window::mouseState.set(b, state);
|
||||
}
|
||||
|
||||
static const Vec2i &getMousePos() {
|
||||
return Window::mousePos;
|
||||
}
|
||||
static void setMousePos(const Vec2i &mousePos) {
|
||||
Window::mousePos = mousePos;
|
||||
}
|
||||
|
||||
static void setKeystate(SDL_keysym state) {
|
||||
keystate = state;
|
||||
}
|
||||
|
||||
//static bool masterserverMode;
|
||||
static map<wchar_t, bool> mapAllowedKeys;
|
||||
|
||||
protected:
|
||||
//int w, h;
|
||||
static bool isActive;
|
||||
static bool allowAltEnterFullscreenToggle;
|
||||
static int lastShowMouseState;
|
||||
|
||||
public:
|
||||
static SDL_Window *getSDLWindow();
|
||||
static bool handleEvent();
|
||||
static void revertMousePos();
|
||||
static Vec2i getOldMousePos();
|
||||
static bool isKeyDown() {
|
||||
return isKeyPressedDown;
|
||||
}
|
||||
static void setupGraphicsScreen(int depthBits = -1, int stencilBits = -1, bool hardware_acceleration = false, bool fullscreen_anti_aliasing = false);
|
||||
static const bool getIsFullScreen() {
|
||||
return isFullScreen;
|
||||
}
|
||||
static void setIsFullScreen(bool value) {
|
||||
isFullScreen = value;
|
||||
}
|
||||
//static SDL_keysym getKeystate() { return keystate; }
|
||||
static bool isKeyStateModPressed(int mod);
|
||||
static wchar_t extractLastKeyPressed();
|
||||
|
||||
Window();
|
||||
Window(SDL_Window *sdlWindow);
|
||||
virtual ~Window();
|
||||
|
||||
static void addAllowedKeys(string keyList);
|
||||
static void clearAllowedKeys();
|
||||
static bool isAllowedKey(wchar_t key);
|
||||
|
||||
virtual int getScreenWidth() = 0;
|
||||
virtual int getScreenHeight() = 0;
|
||||
|
||||
virtual bool ChangeVideoMode(bool preserveContext, int resWidth, int resHeight,
|
||||
bool fullscreenWindow, int colorBits, int depthBits, int stencilBits,
|
||||
bool hardware_acceleration, bool fullscreen_anti_aliasing,
|
||||
float gammaValue) = 0;
|
||||
//static void setMasterserverMode(bool value) { Window::masterserverMode = value;}
|
||||
//static bool getMasterserverMode() { return Window::masterserverMode;}
|
||||
|
||||
static bool getTryVSynch() {
|
||||
return tryVSynch;
|
||||
}
|
||||
static void setTryVSynch(bool value) {
|
||||
tryVSynch = value;
|
||||
}
|
||||
|
||||
WindowHandle getHandle() {
|
||||
return 0;
|
||||
}
|
||||
string getText();
|
||||
int getX() {
|
||||
return 0;
|
||||
}
|
||||
int getY() {
|
||||
return 0;
|
||||
}
|
||||
int getW() {
|
||||
return getScreenWidth();
|
||||
}
|
||||
int getH() {
|
||||
return getScreenHeight();
|
||||
}
|
||||
|
||||
//component state
|
||||
int getClientW() {
|
||||
return getW();
|
||||
}
|
||||
int getClientH() {
|
||||
return getH();
|
||||
}
|
||||
float getAspect();
|
||||
|
||||
//object state
|
||||
void setText(string text);
|
||||
void setStyle(WindowStyle windowStyle);
|
||||
void setSize(int w, int h);
|
||||
void setPos(int x, int y);
|
||||
void setEnabled(bool enabled);
|
||||
void setVisible(bool visible);
|
||||
|
||||
//misc
|
||||
void create();
|
||||
void destroy();
|
||||
void minimize();
|
||||
|
||||
static void setAllowAltEnterFullscreenToggle(bool value) {
|
||||
allowAltEnterFullscreenToggle = value;
|
||||
}
|
||||
static bool getAllowAltEnterFullscreenToggle() {
|
||||
return allowAltEnterFullscreenToggle;
|
||||
}
|
||||
|
||||
static char getRawKey(SDL_keysym keysym);
|
||||
|
||||
protected:
|
||||
|
||||
void setSDLWindow(SDL_Window *window);
|
||||
|
||||
virtual void eventCreate() {
|
||||
}
|
||||
virtual void eventMouseDown(int x, int y, MouseButton mouseButton) {
|
||||
}
|
||||
virtual void eventMouseUp(int x, int y, MouseButton mouseButton) {
|
||||
}
|
||||
virtual void eventMouseMove(int x, int y, const MouseState* mouseState) {
|
||||
}
|
||||
virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton) {
|
||||
}
|
||||
virtual void eventMouseWheel(int x, int y, int zDelta) {
|
||||
}
|
||||
virtual void eventKeyDown(SDL_KeyboardEvent key) {
|
||||
}
|
||||
virtual void eventKeyUp(SDL_KeyboardEvent key) {
|
||||
}
|
||||
virtual void eventKeyPress(SDL_KeyboardEvent c) {
|
||||
}
|
||||
virtual bool eventTextInput(std::string text) {
|
||||
return false;
|
||||
}
|
||||
virtual bool eventSdlKeyDown(SDL_KeyboardEvent key) {
|
||||
return false;
|
||||
}
|
||||
virtual void eventResize() {
|
||||
};
|
||||
virtual void eventPaint() {
|
||||
}
|
||||
virtual void eventTimer(int timerId) {
|
||||
}
|
||||
virtual void eventActivate(bool activated) {
|
||||
};
|
||||
virtual void eventResize(SizeState sizeState) {
|
||||
};
|
||||
virtual void eventMenu(int menuId) {
|
||||
}
|
||||
virtual void eventClose() {
|
||||
};
|
||||
virtual void eventDestroy() {
|
||||
};
|
||||
virtual void eventToggleFullScreen(bool isFullscreen) {
|
||||
};
|
||||
virtual void eventWindowEvent(SDL_WindowEvent event) {
|
||||
}
|
||||
|
||||
private:
|
||||
/// needed to detect double clicks
|
||||
void handleMouseDown(SDL_Event event);
|
||||
void handleMouseWheel(SDL_Event event);
|
||||
|
||||
static MouseButton getMouseButton(int sdlButton);
|
||||
//static char getKey(SDL_keysym keysym, bool skipSpecialKeys=false);
|
||||
//static char getNormalKey(SDL_keysym keysym,bool skipSpecialKeys=false);
|
||||
static void toggleFullscreen();
|
||||
|
||||
static wchar_t convertStringtoSDLKey(const string &value);
|
||||
};
|
||||
|
||||
bool isKeyPressed(SDL_Keycode compareKey, SDL_KeyboardEvent input, vector<int> modifiersToCheck);
|
||||
bool isKeyPressed(SDL_Keycode compareKey, SDL_KeyboardEvent input, bool modifiersAllowed = true);
|
||||
|
||||
SDL_Keycode extractKeyPressed(SDL_KeyboardEvent input);
|
||||
//bool isAllowedInputTextKey(SDL_Keycode key);
|
||||
|
||||
//wchar_t extractKeyPressedUnicode(SDL_KeyboardEvent input);
|
||||
vector<int> extractKeyPressedUnicodeLength(string text);
|
||||
bool isAllowedInputTextKey(wchar_t &key);
|
||||
|
||||
}
|
||||
//MouseState(const MouseState &);
|
||||
//MouseState &operator=(const MouseState &);
|
||||
void clear() { memset(this, 0, sizeof(MouseState)); }
|
||||
|
||||
bool get(MouseButton b) const {
|
||||
if(b > 0 && b < mbCount) {
|
||||
return states[b];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void set(MouseButton b, bool state) {
|
||||
if(b > 0 && b < mbCount) {
|
||||
states[b] = state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
enum WindowStyle{
|
||||
wsFullscreen,
|
||||
wsWindowedFixed,
|
||||
wsWindowedResizable
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class Window
|
||||
// =====================================================
|
||||
|
||||
class Window {
|
||||
private:
|
||||
static SDL_Window *sdlWindow;
|
||||
Uint32 lastMouseDown[mbCount];
|
||||
int lastMouseX[mbCount];
|
||||
int lastMouseY[mbCount];
|
||||
|
||||
static int64 lastMouseEvent; /** for use in mouse hover calculations */
|
||||
static MouseState mouseState;
|
||||
static Vec2i mousePos;
|
||||
static bool isKeyPressedDown;
|
||||
static bool isFullScreen;
|
||||
static SDL_keysym keystate;
|
||||
static bool tryVSynch;
|
||||
static int64 lastToggle ;
|
||||
|
||||
static void setLastToggle(int64 lastToggle) {Window::lastToggle = lastToggle;}
|
||||
static int64 getLastToggle() {return Window::lastToggle;}
|
||||
|
||||
static void setLastMouseEvent(int64 lastMouseEvent) {Window::lastMouseEvent = lastMouseEvent;}
|
||||
static int64 getLastMouseEvent() {return Window::lastMouseEvent;}
|
||||
|
||||
static const MouseState &getMouseState() {return Window::mouseState;}
|
||||
static void setMouseState(MouseButton b, bool state) {Window::mouseState.set(b, state);}
|
||||
|
||||
static const Vec2i &getMousePos() {return Window::mousePos;}
|
||||
static void setMousePos(const Vec2i &mousePos) {Window::mousePos = mousePos;}
|
||||
|
||||
static void setKeystate(SDL_keysym state) { keystate = state; }
|
||||
|
||||
//static bool masterserverMode;
|
||||
static map<wchar_t,bool> mapAllowedKeys;
|
||||
|
||||
protected:
|
||||
//int w, h;
|
||||
static bool isActive;
|
||||
static bool allowAltEnterFullscreenToggle;
|
||||
static int lastShowMouseState;
|
||||
|
||||
public:
|
||||
static SDL_Window *getSDLWindow();
|
||||
static bool handleEvent();
|
||||
static void revertMousePos();
|
||||
static Vec2i getOldMousePos();
|
||||
static bool isKeyDown() { return isKeyPressedDown; }
|
||||
static void setupGraphicsScreen(int depthBits=-1, int stencilBits=-1, bool hardware_acceleration=false, bool fullscreen_anti_aliasing=false);
|
||||
static const bool getIsFullScreen() { return isFullScreen; }
|
||||
static void setIsFullScreen(bool value) { isFullScreen = value; }
|
||||
//static SDL_keysym getKeystate() { return keystate; }
|
||||
static bool isKeyStateModPressed(int mod);
|
||||
static wchar_t extractLastKeyPressed();
|
||||
|
||||
Window();
|
||||
Window(SDL_Window *sdlWindow);
|
||||
virtual ~Window();
|
||||
|
||||
static void addAllowedKeys(string keyList);
|
||||
static void clearAllowedKeys();
|
||||
static bool isAllowedKey(wchar_t key);
|
||||
|
||||
virtual int getScreenWidth() = 0;
|
||||
virtual int getScreenHeight() = 0;
|
||||
|
||||
virtual bool ChangeVideoMode(bool preserveContext,int resWidth, int resHeight,
|
||||
bool fullscreenWindow, int colorBits, int depthBits, int stencilBits,
|
||||
bool hardware_acceleration, bool fullscreen_anti_aliasing,
|
||||
float gammaValue) = 0;
|
||||
//static void setMasterserverMode(bool value) { Window::masterserverMode = value;}
|
||||
//static bool getMasterserverMode() { return Window::masterserverMode;}
|
||||
|
||||
static bool getTryVSynch() { return tryVSynch; }
|
||||
static void setTryVSynch(bool value) { tryVSynch = value; }
|
||||
|
||||
WindowHandle getHandle() {return 0;}
|
||||
string getText();
|
||||
int getX() { return 0; }
|
||||
int getY() { return 0; }
|
||||
int getW() { return getScreenWidth(); }
|
||||
int getH() { return getScreenHeight(); }
|
||||
|
||||
//component state
|
||||
int getClientW() { return getW(); }
|
||||
int getClientH() { return getH(); }
|
||||
float getAspect();
|
||||
|
||||
//object state
|
||||
void setText(string text);
|
||||
void setStyle(WindowStyle windowStyle);
|
||||
void setSize(int w, int h);
|
||||
void setPos(int x, int y);
|
||||
void setEnabled(bool enabled);
|
||||
void setVisible(bool visible);
|
||||
|
||||
//misc
|
||||
void create();
|
||||
void destroy();
|
||||
void minimize();
|
||||
|
||||
static void setAllowAltEnterFullscreenToggle(bool value) { allowAltEnterFullscreenToggle = value; }
|
||||
static bool getAllowAltEnterFullscreenToggle() { return allowAltEnterFullscreenToggle; }
|
||||
|
||||
static char getRawKey(SDL_keysym keysym);
|
||||
|
||||
protected:
|
||||
|
||||
void setSDLWindow(SDL_Window *window);
|
||||
|
||||
virtual void eventCreate(){}
|
||||
virtual void eventMouseDown(int x, int y, MouseButton mouseButton){}
|
||||
virtual void eventMouseUp(int x, int y, MouseButton mouseButton){}
|
||||
virtual void eventMouseMove(int x, int y, const MouseState* mouseState){}
|
||||
virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton){}
|
||||
virtual void eventMouseWheel(int x, int y, int zDelta) {}
|
||||
virtual void eventKeyDown(SDL_KeyboardEvent key) {}
|
||||
virtual void eventKeyUp(SDL_KeyboardEvent key) {}
|
||||
virtual void eventKeyPress(SDL_KeyboardEvent c) {}
|
||||
virtual bool eventTextInput(std::string text) { return false; }
|
||||
virtual bool eventSdlKeyDown(SDL_KeyboardEvent key) { return false; }
|
||||
virtual void eventResize() {};
|
||||
virtual void eventPaint() {}
|
||||
virtual void eventTimer(int timerId) {}
|
||||
virtual void eventActivate(bool activated) {};
|
||||
virtual void eventResize(SizeState sizeState) {};
|
||||
virtual void eventMenu(int menuId) {}
|
||||
virtual void eventClose() {};
|
||||
virtual void eventDestroy() {};
|
||||
virtual void eventToggleFullScreen(bool isFullscreen) {};
|
||||
virtual void eventWindowEvent(SDL_WindowEvent event) {}
|
||||
|
||||
private:
|
||||
/// needed to detect double clicks
|
||||
void handleMouseDown(SDL_Event event);
|
||||
void handleMouseWheel(SDL_Event event);
|
||||
|
||||
static MouseButton getMouseButton(int sdlButton);
|
||||
//static char getKey(SDL_keysym keysym, bool skipSpecialKeys=false);
|
||||
//static char getNormalKey(SDL_keysym keysym,bool skipSpecialKeys=false);
|
||||
static void toggleFullscreen();
|
||||
|
||||
static wchar_t convertStringtoSDLKey(const string &value);
|
||||
};
|
||||
|
||||
bool isKeyPressed(SDL_Keycode compareKey, SDL_KeyboardEvent input, vector<int> modifiersToCheck);
|
||||
bool isKeyPressed(SDL_Keycode compareKey, SDL_KeyboardEvent input, bool modifiersAllowed=true);
|
||||
|
||||
SDL_Keycode extractKeyPressed(SDL_KeyboardEvent input);
|
||||
//bool isAllowedInputTextKey(SDL_Keycode key);
|
||||
|
||||
//wchar_t extractKeyPressedUnicode(SDL_KeyboardEvent input);
|
||||
vector<int> extractKeyPressedUnicodeLength(string text);
|
||||
bool isAllowedInputTextKey(wchar_t &key);
|
||||
|
||||
}}//end namespace
|
||||
}//end namespace
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user