gwenUserInterface.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef _GWEN_USER_INTERFACE_H
  2. #define _GWEN_USER_INTERFACE_H
  3. struct GwenInternalData;
  4. typedef void (*b3ComboBoxCallback) (int combobox, const char* item);
  5. typedef void (*b3ToggleButtonCallback)(int button, int state);
  6. typedef void (*b3FileOpenCallback)();
  7. typedef void (*b3QuitCallback)();
  8. namespace Gwen
  9. {
  10. namespace Renderer
  11. {
  12. class Base;
  13. };
  14. };
  15. class GwenUserInterface
  16. {
  17. GwenInternalData* m_data;
  18. public:
  19. GwenUserInterface();
  20. virtual ~GwenUserInterface();
  21. void init(int width, int height,Gwen::Renderer::Base* gwenRenderer,float retinaScale);
  22. void exit();
  23. void setFocus();
  24. void forceUpdateScrollBars();
  25. void draw(int width, int height);
  26. void resize(int width, int height);
  27. bool mouseMoveCallback( float x, float y);
  28. bool mouseButtonCallback(int button, int state, float x, float y);
  29. bool keyboardCallback(int key, int state);
  30. void setToggleButtonCallback(b3ToggleButtonCallback callback);
  31. b3ToggleButtonCallback getToggleButtonCallback();
  32. void registerToggleButton2(int buttonId, const char* name);
  33. void setComboBoxCallback(b3ComboBoxCallback callback);
  34. b3ComboBoxCallback getComboBoxCallback();
  35. void registerComboBox2(int buttonId, int numItems, const char** items, int startItem = 0);
  36. void setStatusBarMessage(const char* message, bool isLeft=true);
  37. void textOutput(const char* msg);
  38. void setExampleDescription(const char* msg);
  39. void registerFileOpenCallback(b3FileOpenCallback callback);
  40. void registerQuitCallback(b3QuitCallback callback);
  41. GwenInternalData* getInternalData()
  42. {
  43. return m_data;
  44. }
  45. };
  46. #endif //_GWEN_USER_INTERFACE_H