platform.hpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. namespace hiro {
  2. struct AppMessage {
  3. enum : uint {
  4. None = WM_APP,
  5. TableView_doPaint,
  6. TableView_onActivate,
  7. TableView_onChange,
  8. };
  9. };
  10. using WindowProc = auto CALLBACK (*)(HWND, UINT, WPARAM, LPARAM) -> LRESULT;
  11. static vector<wObject> windows;
  12. }
  13. #define Declare(Name, Base) \
  14. p##Name(m##Name& reference) : p##Base(reference) {} \
  15. auto self() const -> m##Name& { return (m##Name&)reference; } \
  16. auto state() const -> m##Name::State& { return self().state; } \
  17. auto construct() -> void override; \
  18. auto destruct() -> void override; \
  19. auto reconstruct() -> void override { destruct(), construct(); } \
  20. #include "font.hpp"
  21. #include "desktop.hpp"
  22. #include "monitor.hpp"
  23. #include "keyboard.hpp"
  24. #include "mouse.hpp"
  25. #include "browser-window.hpp"
  26. #include "message-window.hpp"
  27. #include "object.hpp"
  28. #include "group.hpp"
  29. #include "timer.hpp"
  30. #include "window.hpp"
  31. #include "status-bar.hpp"
  32. #include "menu-bar.hpp"
  33. #include "popup-menu.hpp"
  34. #include "action/action.hpp"
  35. #include "action/menu.hpp"
  36. #include "action/menu-separator.hpp"
  37. #include "action/menu-item.hpp"
  38. #include "action/menu-check-item.hpp"
  39. #include "action/menu-radio-item.hpp"
  40. #include "sizable.hpp"
  41. #include "tool-tip.hpp"
  42. #include "widget/widget.hpp"
  43. #include "widget/button.hpp"
  44. #include "widget/canvas.hpp"
  45. #include "widget/check-button.hpp"
  46. #include "widget/check-label.hpp"
  47. #include "widget/combo-button.hpp"
  48. #include "widget/combo-button-item.hpp"
  49. #include "widget/frame.hpp"
  50. #include "widget/hex-edit.hpp"
  51. #include "widget/horizontal-scroll-bar.hpp"
  52. #include "widget/horizontal-slider.hpp"
  53. #include "widget/label.hpp"
  54. #include "widget/line-edit.hpp"
  55. #include "widget/progress-bar.hpp"
  56. #include "widget/radio-button.hpp"
  57. #include "widget/radio-label.hpp"
  58. #include "widget/tab-frame.hpp"
  59. #include "widget/tab-frame-item.hpp"
  60. #include "widget/table-view.hpp"
  61. #include "widget/table-view-column.hpp"
  62. #include "widget/table-view-item.hpp"
  63. #include "widget/table-view-cell.hpp"
  64. #include "widget/text-edit.hpp"
  65. #include "widget/vertical-scroll-bar.hpp"
  66. #include "widget/vertical-slider.hpp"
  67. #include "widget/viewport.hpp"
  68. #include "application.hpp"
  69. #include "settings.hpp"
  70. #undef Declare