YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::DS::ShlDS类 参考

双屏全屏窗口 Shell 。 更多...

#include <shlds.h>

类 YSLib::DS::ShlDS 继承关系图:
YSLib::DS::ShlDS 的协作图:

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 事件:交换屏幕。 更多...
 
- Public 成员函数 继承自 YSLib::Shells::GUIShell
 GUIShell ()
 无参数构造:复位 GUI 状态。 更多...
 
void OnGotMessage (const Message &) override
 消息处理函数。 更多...
 
virtual void OnPaint ()
 处理绘制消息:默认为空实现。 更多...
 
- Public 成员函数 继承自 YSLib::Shells::Shell
 DefDeCtor (Shell) virtual ~Shell()
 无参数构造。 更多...
 
bool IsActive () const
 判断 Shell 是否处于激活状态。 更多...
 

Protected 属性

bool bUpdateUp
 指定当前桌面是否需要更新。 更多...
 
bool bUpdateDown
 
- Protected 属性 继承自 YSLib::Shells::GUIShell
Devices::InputManager imMain
 输入管理器。 更多...
 

Private 属性

shared_ptr< Desktopmain_desktop_ptr
 共享桌面指针:正常状态下应总是指向可用的桌面对象。 更多...
 
shared_ptr< Desktopsub_desktop_ptr
 
shared_ptr< Desktopcursor_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
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 YSLib::Shells::Shell
static void DefShlProc (const Message &)
 默认 Shell 处理函数。 更多...
 
- Public 属性 继承自 YSLib::Shells::GUIShell
std::chrono::nanoseconds IdleSleep
 挂起延时时间。 更多...
 

详细描述

双屏全屏窗口 Shell 。

自从
早于 build 132

在文件 shlds.h86 行定义.

构造及析构函数说明

ShlDS::ShlDS ( const shared_ptr< Desktop > &  h_main = {},
const shared_ptr< Desktop > &  h_sub = {} 
)

构造:使用指定上下桌面。

注解
空参数表示新建上下屏幕初始化对应的桌面。
自从
build 296

在文件 shlds.cpp69 行定义.

参考 main_desktop_ptr, sub_desktop_ptr , 以及 YAssertNonnull.

成员函数说明

YSLib::DS::ShlDS::DefGetter ( const ynothrow  ,
const shared_ptr< Desktop > &  ,
CursorDesktopHandle  ,
main_desktop_ptr   
) const
自从
build 429
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
void ShlDS::OnGotMessage ( const Message &  msg)
override

消息处理函数。

自从
build 317

处理以下消息: 绘制消息 SM_Paint :调用 ShlDS::OnInput 。 输入消息 SM_Input :分发按键处理后调用 OnInput。 其它消息传递至 GUIShell::OnGotMessage 。

在文件 shlds.cpp83 行定义.

参考 cursor_desktop_ptr, YSLib::Devices::InputManager::DispatchInput(), YSLib::Shells::GUIShell::imMain, OnInput(), SM_Input, SM_Paint , 以及 YSLib::Devices::InputManager::Update().

函数调用图:

void ShlDS::OnInput ( )
overridevirtual

处理输入消息:发送绘制消息。

参见
GUIShell::OnInput
自从
build 289

默认行为:对桌面后 Validate 操作后调用 OnPaint ,再对桌面 Update , 对宿主实现再调用 GUIShell::OnInput 。

重载 YSLib::Shells::GUIShell .

在文件 shlds.cpp109 行定义.

参考 bUpdateDown, bUpdateUp, main_desktop_ptr, sub_desktop_ptr , 以及 yunseq.

参考自 OnGotMessage().

这是这个函数的调用关系图:

void ShlDS::SwapDesktops ( )

交换桌面。

自从
build 429

在文件 shlds.cpp123 行定义.

参考 main_desktop_ptr, sub_desktop_ptr , 以及 ystdex::swap().

函数调用图:

void ShlDS::SwapScreens ( )

交换屏幕。

在文件 shlds.cpp129 行定义.

参考 cursor_desktop_ptr, main_desktop_ptr , 以及 sub_desktop_ptr.

参考自 WrapForSwapScreens().

这是这个函数的调用关系图:

void ShlDS::WrapForSwapScreens ( UI::IWidget &  ,
KeyInput &   
)

包装指定的部件处理满足指定按键掩码的 KeyDown 事件:交换屏幕。

注解
忽略 Bubble 路由事件;设置 e.Handled 。
事件优先级 0xE0 。

在文件 shlds.cpp139 行定义.

参考 YSLib::UI::RoutedEventArgs::Bubble, platform_ex::FetchKeyState(), SwapScreens() , 以及 YSLib::UI::wgt.

函数调用图:

类成员变量说明

bool YSLib::DS::ShlDS::bUpdateDown
protected

在文件 shlds.h107 行定义.

参考自 OnInput().

bool YSLib::DS::ShlDS::bUpdateUp
protected

指定当前桌面是否需要更新。

注解
默认可能被 OnGotMessage 和派生类重写的 OnPaint 改变状态。
自从
build 294

在文件 shlds.h107 行定义.

参考自 OnInput().

shared_ptr<Desktop> YSLib::DS::ShlDS::cursor_desktop_ptr
private

指针设备响应的桌面指针:总是指向下屏对应的桌面。

自从
build 429

在文件 shlds.h98 行定义.

参考自 OnGotMessage() , 以及 SwapScreens().

Desktop YSLib::DS::ShlDS::CursorDesktop

在文件 shlds.h122 行定义.

shared_ptr<Desktop> YSLib::DS::ShlDS::main_desktop_ptr
private

共享桌面指针:正常状态下应总是指向可用的桌面对象。

自从
build 296

在文件 shlds.h93 行定义.

参考自 OnInput(), ShlDS(), SwapDesktops() , 以及 SwapScreens().

Desktop * cursor_desktop_ptr Desktop YSLib::DS::ShlDS::MainDesktop

在文件 shlds.h125 行定义.

shared_ptr<Desktop> YSLib::DS::ShlDS::sub_desktop_ptr
private

在文件 shlds.h93 行定义.

参考自 OnInput(), ShlDS(), SwapDesktops() , 以及 SwapScreens().

Desktop * cursor_desktop_ptr Desktop * main_desktop_ptr Desktop YSLib::DS::ShlDS::SubDesktop

在文件 shlds.h128 行定义.


该类的文档由以下文件生成: