30 #ifndef _CEGUISystem_h_
31 #define _CEGUISystem_h_
33 #include "CEGUIBase.h"
34 #include "CEGUIString.h"
35 #include "CEGUISingleton.h"
36 #include "CEGUIRenderer.h"
37 #include "CEGUIMouseCursor.h"
38 #include "CEGUIInputEvent.h"
39 #include "CEGUIResourceProvider.h"
43 # pragma warning(push)
44 # pragma warning(disable : 4275)
45 # pragma warning(disable : 4251)
53 struct MouseClickTrackerImpl;
126 const String& configFile =
"",
127 const String& logFile =
"CEGUI.log");
130 static void destroy();
149 static System& getSingleton(
void);
159 static System* getSingletonPtr(
void);
172 void setDefaultFont(
const String& name);
185 void setDefaultFont(
Font* font);
227 void renderGUI(
void);
311 void setSingleClickTimeout(
double timeout);
334 void setMultiClickTimeout(
double timeout);
350 void setMultiClickToleranceAreaSize(
const Size& sz);
365 bool isMouseClickEventGenerationEnabled()
const;
380 void setMouseClickEventGenerationEnabled(
const bool enable);
404 void setDefaultMouseCursor(
const Image* image);
435 void setDefaultMouseCursor(
const String& imageset,
const String& image_name);
488 void executeScriptFile(
const String& filename,
const String& resourceGroup =
"")
const;
502 int executeScriptGlobal(
const String& function_name)
const;
515 void executeScriptString(
const String& str)
const;
525 float getMouseMoveScaling(
void)
const;
538 void setMouseMoveScaling(
float scaling);
549 void notifyWindowDestroyed(
const Window* window);
573 void setXMLParser(
const String& parserName);
614 void setDefaultTooltip(
Tooltip* tooltip);
631 void setDefaultTooltip(
const String& tooltipType);
707 static void setDefaultXMLParserName(
const String& parserName);
718 static const String getDefaultXMLParserName();
734 bool updateWindowContainingMouse();
746 void setImageCodec(
const String& codecName);
764 static void setDefaultImageCodecName(
const String& codecName);
770 static const String& getDefaultImageCodecName();
789 void notifyDisplaySizeChanged(
const Size& new_size);
839 bool injectMouseMove(
float delta_x,
float delta_y);
850 bool injectMouseLeaves(
void);
892 bool injectKeyDown(uint key_code);
906 bool injectKeyUp(uint key_code);
920 bool injectChar(utf32 code_point);
934 bool injectMouseWheelChange(
float delta);
951 bool injectMousePosition(
float x_pos,
float y_pos);
964 bool injectTimePulse(
float timeElapsed);
990 bool injectMouseButtonClick(
const MouseButton button);
1016 bool injectMouseButtonDoubleClick(
const MouseButton button);
1042 bool injectMouseButtonTripleClick(
const MouseButton button);
1105 Window* getTargetWindow(
const Point& pt,
const bool allow_disabled)
const;
1115 Window* getKeyboardTargetWindow(
void)
const;
1159 SystemKey keyCodeToSyskey(Key::Scan key,
bool direction);
1162 void outputLogHeader();
1165 void addStandardWindowFactories();
1168 void createSingletons();
1171 void destroySingletons();
1174 void setupXMLParser();
1177 void cleanupXMLParser();
1183 void setupImageCodec(
const String& codecName);
1186 void cleanupImageCodec();
1189 void initialiseVersionString();
1207 void onSingleClickTimeoutChanged(
EventArgs& e);
1214 void onMultiClickTimeoutChanged(
EventArgs& e);
1221 void onMultiClickAreaSizeChanged(
EventArgs& e);
1228 void onDefaultFontChanged(
EventArgs& e);
1235 void onDefaultMouseCursorChanged(
EventArgs& e);
1242 void onMouseMoveScalingChanged(
EventArgs& e);
1250 bool d_ourResourceProvider;
1251 Font* d_defaultFont;
1268 double d_click_timeout;
1269 double d_dblclick_timeout;
1270 Size d_dblclick_size;
1272 MouseClickTrackerImpl*
const d_clickTrackerPimpl;
1275 const Image* d_defaultMouseCursor;
1281 float d_mouseScalingFactor;
1284 bool d_ourXmlParser;
1288 bool d_weOwnTooltip;
1290 static String d_defaultXMLParserName;
1295 bool d_ourImageCodec;
1301 static String d_defaultImageCodecName;
1307 bool d_generateMouseClickEvents;
1313 #if defined(_MSC_VER)
1314 # pragma warning(pop)
1317 #endif // end of guard _CEGUISystem_h_