30 #include YFM_DS_Helper_Shell_DS
31 #include YFM_DS_Helper_DSMain
32 #include YFM_Helper_ShellHelper
33 #include YFM_YSLib_UI_YDesktop
34 #include YFM_YSLib_UI_YGUI
35 #include YFM_YCLib_Input
43 using namespace Messaging;
62 auto& app(FetchGlobalInstance<DSApplication>());
69 ShlDS::ShlDS(
const shared_ptr<Desktop>& h_main,
70 const shared_ptr<Desktop>& h_sub)
76 cursor_desktop_ptr(sub_desktop_ptr),
77 bUpdateUp(), bUpdateDown()
85 switch(msg.GetMessageID())
105 GUIShell::OnGotMessage(msg);
131 auto& app(FetchGlobalInstance<DSApplication>());
141 using namespace YSLib::UI;
YF_API const platform::KeyInput & FetchKeyState()
取按键状态。
Desktop *cursor_desktop_ptr Desktop *main_desktop_ptr Desktop *sub_desktop_ptr void OnGotMessage(const Message &) override
消息处理函数。
void DispatchInput(UI::IWidget &)
向指定部件分发响应输入状态。
std::shared_ptr< _type > make_shared(_tParams &&...args)
使用 new 和指定参数构造指定类型的 std::shared_ptr 实例。
Devices::InputManager imMain
输入管理器。
shared_ptr< Desktop > main_desktop_ptr
共享桌面指针:正常状态下应总是指向可用的桌面对象。
int ExecuteCommand(const String &s)
执行命令行。
_tApp & FetchGlobalInstance() ynothrow
void swap(any &x, any &y)
交换对象。
#define yunseq
无序列依赖表达式组求值。
UI::IWidget * Update()
更新输入状态。
void OnInput() override
处理输入消息:发送绘制消息。
#define YAssertNonnull(_expr)
bool bUpdateUp
指定当前桌面是否需要更新。
char16_t ucs2_t
UCS-2 字符类型。
YF_API void ResetDSDesktops(Desktop &, Desktop &)
以默认屏幕复位两个桌面。
shared_ptr< Desktop > cursor_desktop_ptr
指针设备响应的桌面指针:总是指向下屏对应的桌面。
void WrapForSwapScreens(UI::IWidget &, KeyInput &)
包装指定的部件处理满足指定按键掩码的 KeyDown 事件:交换屏幕。
shared_ptr< Desktop > sub_desktop_ptr
std::bitset< KeyBitsetWidth > KeyInput
按键并行位宽。
void ResetDesktop(Desktop &dsk, Devices::Screen &scr)
复位桌面。