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;
155 const String& configFile =
"",
156 const String& logFile =
"CEGUI.log");
159 static void destroy();
178 static System& getSingleton(
void);
188 static System* getSingletonPtr(
void);
201 void setDefaultFont(
const String& name);
214 void setDefaultFont(
Font* font);
256 void renderGUI(
void);
340 void setSingleClickTimeout(
double timeout);
363 void setMultiClickTimeout(
double timeout);
379 void setMultiClickToleranceAreaSize(
const Size& sz);
394 bool isMouseClickEventGenerationEnabled()
const;
409 void setMouseClickEventGenerationEnabled(
const bool enable);
433 void setDefaultMouseCursor(
const Image* image);
464 void setDefaultMouseCursor(
const String& imageset,
const String& image_name);
517 void executeScriptFile(
const String& filename,
const String& resourceGroup =
"")
const;
531 int executeScriptGlobal(
const String& function_name)
const;
544 void executeScriptString(
const String& str)
const;
554 float getMouseMoveScaling(
void)
const;
567 void setMouseMoveScaling(
float scaling);
578 void notifyWindowDestroyed(
const Window* window);
602 void setXMLParser(
const String& parserName);
643 void setDefaultTooltip(
Tooltip* tooltip);
660 void setDefaultTooltip(
const String& tooltipType);
736 static void setDefaultXMLParserName(
const String& parserName);
747 static const String getDefaultXMLParserName();
763 bool updateWindowContainingMouse();
775 void setImageCodec(
const String& codecName);
793 static void setDefaultImageCodecName(
const String& codecName);
799 static const String& getDefaultImageCodecName();
818 void notifyDisplaySizeChanged(
const Size& new_size);
861 void invalidateAllCachedRendering();
880 bool injectMouseMove(
float delta_x,
float delta_y);
891 bool injectMouseLeaves(
void);
933 bool injectKeyDown(uint key_code);
947 bool injectKeyUp(uint key_code);
961 bool injectChar(utf32 code_point);
975 bool injectMouseWheelChange(
float delta);
992 bool injectMousePosition(
float x_pos,
float y_pos);
1005 bool injectTimePulse(
float timeElapsed);
1031 bool injectMouseButtonClick(
const MouseButton button);
1057 bool injectMouseButtonDoubleClick(
const MouseButton button);
1083 bool injectMouseButtonTripleClick(
const MouseButton button);
1146 Window* getTargetWindow(
const Point& pt,
const bool allow_disabled)
const;
1156 Window* getKeyboardTargetWindow(
void)
const;
1200 SystemKey keyCodeToSyskey(Key::Scan key,
bool direction);
1203 void outputLogHeader();
1206 void addStandardWindowFactories();
1209 void createSingletons();
1212 void destroySingletons();
1215 void setupXMLParser();
1218 void cleanupXMLParser();
1224 void setupImageCodec(
const String& codecName);
1227 void cleanupImageCodec();
1230 void initialiseVersionString();
1233 void invalidateAllWindows();
1239 void notifyMouseTransition(
Window* top,
Window* bottom,
1259 void onSingleClickTimeoutChanged(
EventArgs& e);
1266 void onMultiClickTimeoutChanged(
EventArgs& e);
1273 void onMultiClickAreaSizeChanged(
EventArgs& e);
1280 void onDefaultFontChanged(
EventArgs& e);
1287 void onDefaultMouseCursorChanged(
EventArgs& e);
1294 void onMouseMoveScalingChanged(
EventArgs& e);
1302 bool d_ourResourceProvider;
1303 Font* d_defaultFont;
1320 double d_click_timeout;
1321 double d_dblclick_timeout;
1322 Size d_dblclick_size;
1324 MouseClickTrackerImpl*
const d_clickTrackerPimpl;
1327 const Image* d_defaultMouseCursor;
1333 float d_mouseScalingFactor;
1336 bool d_ourXmlParser;
1340 bool d_weOwnTooltip;
1342 static String d_defaultXMLParserName;
1347 bool d_ourImageCodec;
1353 static String d_defaultImageCodecName;
1359 bool d_generateMouseClickEvents;
1365 #if defined(_MSC_VER)
1366 # pragma warning(pop)
1369 #endif // end of guard _CEGUISystem_h_