#ifndef UIDECLARATIONS_H #define UIDECLARATIONS_H #include class UIManager; class UILayout; class UIAnchorLayout; class UIStyle; class UIWidget; class UILabel; class UIButton; class UILineEdit; class UIWindow; typedef std::shared_ptr UIWidgetPtr; typedef std::weak_ptr UIWidgetWeakPtr; typedef std::deque UIWidgetList; typedef std::shared_ptr UILayoutPtr; typedef std::shared_ptr UIAnchorLayoutPtr; typedef std::shared_ptr UIStylePtr; typedef std::shared_ptr UILabelPtr; typedef std::shared_ptr UIButtonPtr; typedef std::shared_ptr UILineEditPtr; typedef std::shared_ptr UIWindowPtr; enum UIWidgetType { UITypeWidget = 0, UITypeLabel, UITypeButton, UITypeLineEdit, UITypeWindow, UITypeList }; enum FocusReason { MouseFocusReason = 0, TabFocusReason, ActiveFocusReason, OtherFocusReason }; enum MouseButton { MouseNoButton = 0, MouseLeftButton, MouseRightButton, MouseMidButton }; enum MouseWheelDirection { MouseNoWheel = 0, MouseWheelUp, MouseWheelDown }; enum KeyboardModifier { KeyboardNoModifier = 0, KeyboardCtrlModifier = 1, KeyboardAltModifier = 2, KeyboardShiftModifier = 4 }; enum ButtonState { ButtonUp = 0, ButtonDown, ButtonHover }; #endif