#ifndef KEYBOARD_WIDGET_H_INCLUDED #define KEYBOARD_WIDGET_H_INCLUDED #include "include/Render/RenderMisc.h" #include "include/Render/RenderParams.h" #include "include/Utils/Utils.h" #include "include/FontManager/FontManager.h" #include "include/GUIManager/ButtonWidget.h" namespace SE { struct TVisualKey { ivec2 Pos; ivec2 WidthHeight; TVisualKey() { } TVisualKey(ivec2 pos, ivec2 widthHeight) : Pos(pos) , WidthHeight(widthHeight) { } bool CheckClicked(ivec2 p) { return (p.v[0] >= Pos.v[0] - WidthHeight.v[0]*0.5f && p.v[0] <= Pos.v[0] + WidthHeight.v[0]*0.5f) && (p.v[1] >= Pos.v[1] - WidthHeight.v[1]*0.5f && p.v[1] <= Pos.v[1] + WidthHeight.v[1]*0.5f); } }; struct TKeyboardWidget : public TInstancingWidgetAncestor { protected: std::vector> VisualKeyArr; bool Shifted; public: TKeyboardWidget(); virtual bool CheckClick(vec2 mousePos); virtual void OnTapDown(vec2 pos); virtual void OnTapUp(vec2 pos); /* static TSquareStatic* CreateStatic(vec2 posFrom, vec2 posTo); static TSquareStatic* CreateStaticWithFiller(vec2 posFrom, vec2 posTo, boost::function staticFillerFunc); static TSquareStatic* CreateStaticWithFillers(vec2 posFrom, vec2 posTo, std::vector> staticFillerFuncArr); static void StaticTextureFiller(vec2 posFrom, vec2 posTo, const std::string& texName, TSquareStatic* staticToFill); static void StaticTextFiller(vec2 posFrom, vec2 posTo, TTextParams buttonTextParams, TSquareStatic* staticToFill); static TSquareStatic* CreateStaticTexture(vec2 posFrom, vec2 posTo, const std::string& texName); static TSquareStatic* CreateStaticText(vec2 posFrom, vec2 posTo, TTextParams buttonTextParams);*/ }; } #endif