YSTest
PreAlpha_b500_20140530
The YSLib Test Project
|
双屏全屏窗口 Shell 。 更多...
#include <shlds.h>
Public 成员函数 | |
ShlDS (const shared_ptr< Desktop > &={}, const shared_ptr< Desktop > &={}) | |
构造:使用指定上下桌面。 更多... | |
Desktop *cursor_desktop_ptr Desktop *main_desktop_ptr Desktop *sub_desktop_ptr void | OnGotMessage (const Message &) override |
消息处理函数。 更多... | |
void | OnInput () override |
处理输入消息:发送绘制消息。 更多... | |
void | SwapDesktops () |
交换桌面。 更多... | |
void | SwapScreens () |
交换屏幕。 更多... | |
void | WrapForSwapScreens (UI::IWidget &, KeyInput &) |
包装指定的部件处理满足指定按键掩码的 KeyDown 事件:交换屏幕。 更多... | |
![]() | |
GUIShell () | |
无参数构造:复位 GUI 状态。 更多... | |
void | OnGotMessage (const Message &) override |
消息处理函数。 更多... | |
virtual void | OnPaint () |
处理绘制消息:默认为空实现。 更多... | |
![]() | |
DefDeCtor (Shell) virtual ~Shell() | |
无参数构造。 更多... | |
bool | IsActive () const |
判断 Shell 是否处于激活状态。 更多... | |
Protected 属性 | |
bool | bUpdateUp |
指定当前桌面是否需要更新。 更多... | |
bool | bUpdateDown |
![]() | |
Devices::InputManager | imMain |
输入管理器。 更多... | |
Private 属性 | |
shared_ptr< Desktop > | main_desktop_ptr |
共享桌面指针:正常状态下应总是指向可用的桌面对象。 更多... | |
shared_ptr< Desktop > | sub_desktop_ptr |
shared_ptr< Desktop > | cursor_desktop_ptr |
指针设备响应的桌面指针:总是指向下屏对应的桌面。 更多... | |
Desktop | CursorDesktop |
Desktop *cursor_desktop_ptr Desktop | MainDesktop |
Desktop *cursor_desktop_ptr Desktop *main_desktop_ptr Desktop | SubDesktop |
DefGetter (const ynothrow, const shared_ptr< Desktop > &, CursorDesktopHandle, main_desktop_ptr) DefGetter(const ynothrow | |
Desktop *cursor_desktop_ptr | DefGetter (const ynothrow, const shared_ptr< Desktop > &, MainDesktopHandle, main_desktop_ptr) DefGetter(const ynothrow |
Desktop *cursor_desktop_ptr Desktop *main_desktop_ptr | DefGetter (const ynothrow, const shared_ptr< Desktop > &, SubDesktopHandle, sub_desktop_ptr) DefGetter(const ynothrow |
额外继承的成员函数 | |
![]() | |
static void | DefShlProc (const Message &) |
默认 Shell 处理函数。 更多... | |
![]() | |
std::chrono::nanoseconds | IdleSleep |
挂起延时时间。 更多... | |
ShlDS::ShlDS | ( | const shared_ptr< Desktop > & | h_main = {} , |
const shared_ptr< Desktop > & | h_sub = {} |
||
) |
构造:使用指定上下桌面。
参考 main_desktop_ptr, sub_desktop_ptr , 以及 YAssertNonnull.
YSLib::DS::ShlDS::DefGetter | ( | const ynothrow | , |
const shared_ptr< Desktop > & | , | ||
CursorDesktopHandle | , | ||
main_desktop_ptr | |||
) | const |
Desktop * cursor_desktop_ptr YSLib::DS::ShlDS::DefGetter | ( | const ynothrow | , |
const shared_ptr< Desktop > & | , | ||
MainDesktopHandle | , | ||
main_desktop_ptr | |||
) | const |
Desktop * cursor_desktop_ptr Desktop * main_desktop_ptr YSLib::DS::ShlDS::DefGetter | ( | const ynothrow | , |
const shared_ptr< Desktop > & | , | ||
SubDesktopHandle | , | ||
sub_desktop_ptr | |||
) | const |
|
override |
消息处理函数。
处理以下消息: 绘制消息 SM_Paint :调用 ShlDS::OnInput 。 输入消息 SM_Input :分发按键处理后调用 OnInput。 其它消息传递至 GUIShell::OnGotMessage 。
参考 cursor_desktop_ptr, YSLib::Devices::InputManager::DispatchInput(), YSLib::Shells::GUIShell::imMain, OnInput(), SM_Input, SM_Paint , 以及 YSLib::Devices::InputManager::Update().
|
overridevirtual |
处理输入消息:发送绘制消息。
默认行为:对桌面后 Validate 操作后调用 OnPaint ,再对桌面 Update , 对宿主实现再调用 GUIShell::OnInput 。
参考 bUpdateDown, bUpdateUp, main_desktop_ptr, sub_desktop_ptr , 以及 yunseq.
参考自 OnGotMessage().
void ShlDS::SwapDesktops | ( | ) |
void ShlDS::SwapScreens | ( | ) |
交换屏幕。
参考 cursor_desktop_ptr, main_desktop_ptr , 以及 sub_desktop_ptr.
参考自 WrapForSwapScreens().
void ShlDS::WrapForSwapScreens | ( | UI::IWidget & | , |
KeyInput & | |||
) |
包装指定的部件处理满足指定按键掩码的 KeyDown 事件:交换屏幕。
参考 YSLib::UI::RoutedEventArgs::Bubble, platform_ex::FetchKeyState(), SwapScreens() , 以及 YSLib::UI::wgt.
|
protected |
|
private |
|
private |
Desktop * cursor_desktop_ptr Desktop YSLib::DS::ShlDS::MainDesktop |
|
private |
参考自 OnInput(), ShlDS(), SwapDesktops() , 以及 SwapScreens().
Desktop * cursor_desktop_ptr Desktop * main_desktop_ptr Desktop YSLib::DS::ShlDS::SubDesktop |