28 #ifndef YSL_INC_UI_ygui_h_
29 #define YSL_INC_UI_ygui_h_ 1
32 #include YFM_YSLib_UI_YWidgetEvent
33 #include YFM_YSLib_Service_YTimer
34 #include YFM_YSLib_UI_YStyle
136 IWidget* p_CursorOver = {};
141 IWidget* p_indp_focus = {};
146 IWidget* p_cascade_focus = {};
165 size_t master_key = 0;
176 DefGetter(const ynothrow, IWidget*, CursorOverPtr, p_CursorOver)
178 DefGetter(const ynothrow, IWidget*, IndependentFocusPtr, p_indp_focus) \
192 PDefH(
bool, CheckHeldState, const KeyInput& keys)
193 ImplRet(CheckHeldState(keys, KeyHeldState))
195 CheckHeldState(const KeyInput&,
InputTimer::HeldStateType&);
205 CheckDraggingOffset(IWidget* = {});
214 CleanupReferences(IWidget&);
320 return st.GetIndependentFocusPtr() == &
wgt;
Drawing::Vec DraggingOffset
拖放偏移量。
#define DefPred(_q, _n,...)
YF_API GUIState & FetchGUIState()
取默认图形用户界面公共状态。
Drawing::Point CursorLocation
最近的指针设备操作时的控件全局位置(相对于顶层部件的坐标)。
Timers::Duration Duration
bool IsFocusedByShell(const IWidget &wgt, const GUIState &st=FetchGUIState())
判断指定部件是否被句柄指定的图形用户界面状态锁定为独立焦点。
InputTimer::HeldStateType TouchHeldState
#define DefGetter(_q, _t, _n,...)
PDefH(void, Activate, Console &console, Drawing::Color fc=Drawing::ColorSpace::White) ImplExpr(Activate(console
激活:使用指定屏幕、有效性、前景色和默认背景色。
不可复制对象:禁止派生类调用默认原型的复制构造函数和复制赋值操作符。
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
Styles::Palette Colors
调色板。
unsigned long Reset(COMPtr< _iCOM > &ptr) ynothrow
const IWidget &wgt ImplRet(wgt.GetView().IsVisible()) bool YF_API Contains(const IWidget &
判断点是否在部件的可视区域内。
InputTimer HeldTimer
输入接触保持计时器。
HighResolutionClock::duration Duration
高精度时间间隔。
std::chrono::milliseconds TimeSpan
低精度时间间隔。
std::bitset< KeyBitsetWidth > KeyInput
按键并行位宽。
Styles::StyleMap Styles
样式映射。
YF_API bool RepeatHeld(InputTimer &, InputTimer::HeldStateType &, const Timers::Duration &, const Timers::Duration &)
向指定计时器传递参数,根据状态重复按键。