YSTest: Shell_DS.h 源文件

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

Shell_DS.h
浏览该文件的文档.
1 /*
2 © 2010-2014 FrankHB.
3
4 This file is part of the YSLib project, and may only be used,
5 modified, and distributed under the terms of the YSLib project
6 license, LICENSE.TXT. By continuing to use, modify, or distribute
7 this file you indicate that you have read the license and
8 understand and accept it fully.
9 */
10
29 #ifndef INC_Helper_Shell_DS_h_
30 #define INC_Helper_Shell_DS_h_ 1
31
32 #include "Helper/YModules.h"
33 #include YFM_Helper_GUIShell
34
35 namespace YSLib
36 {
37
38 namespace Shells
39 {
40
45 class YF_API ShlCLI : public Shell
46 {
47 public:
51 DefDeCtor(ShlCLI)
52 };
53
54 } // namespace Shells;
55
56
57 namespace DS
58 {
59
64 YF_API void
65 ResetDSDesktops(Desktop&, Desktop&);
66
67
72 class YF_API ShlDS : public Shells::GUIShell
73 {
74 private:
79 shared_ptr<Desktop> main_desktop_ptr, sub_desktop_ptr;
84 shared_ptr<Desktop> cursor_desktop_ptr;
85
86 protected:
93 bool bUpdateUp, bUpdateDown;
95
96 public:
102 ShlDS(const shared_ptr<Desktop>& = {}, const shared_ptr<Desktop>& = {});
103
105
106 DefGetter(const ynothrow, const shared_ptr<Desktop>&, CursorDesktopHandle,
107 main_desktop_ptr)
108 DefGetter(const ynothrow, Desktop&, CursorDesktop, *cursor_desktop_ptr)
109 DefGetter(const ynothrow, const shared_ptr<Desktop>&, MainDesktopHandle,
110 main_desktop_ptr)
111 DefGetter(const ynothrow, Desktop&, MainDesktop, *main_desktop_ptr)
112 DefGetter(const ynothrow, const shared_ptr<Desktop>&, SubDesktopHandle,
113 sub_desktop_ptr)
114 DefGetter(const ynothrow, Desktop&, SubDesktop, *sub_desktop_ptr)
116
126 void
127 OnGotMessage(const Message&) override;
128
137 void
138 OnInput() override;
139
141
142 void
144 SwapDesktops();
145
147 void
148 SwapScreens();
149
155 void
156 WrapForSwapScreens(UI::IWidget&, KeyInput&);
158 };
159
160
167
169
170 namespace UI
171 {
172
173 } // namespace UI;
174
175 } // namespace DS;
176
177 } // namespace YSLib;
178
179 #endif
180
Shells
YSLib::Shells::GUIShell
GUI Shell 基类。
Definition: GUIShell.h:46
YSLib
YSLib 命名空间。
Definition: AndroidHost.h:45
DefDeCtor
#define DefDeCtor(_t)
简单通用成员函数定义。
Definition: YBaseMacro.h:156
DefGetter
#define DefGetter(_q, _t, _n,...)
Definition: YBaseMacro.h:240
YSLib::ynothrow
YB_PURE const _type size_t n ynothrow
Definition: YCoreUtilities.h:168
YSLib::DS::ResetDSDesktops
YF_API void ResetDSDesktops(Desktop &, Desktop &)
以默认屏幕复位两个桌面。
Definition: Shell_DS.cpp:52
DS
YSLib::DS::ShlDS::cursor_desktop_ptr
shared_ptr< Desktop > cursor_desktop_ptr
指针设备响应的桌面指针：总是指向下屏对应的桌面。
Definition: Shell_DS.h:84
UI
YSLib::DS::ShlDS
双屏全屏窗口 Shell 。
Definition: Shell_DS.h:72
platform::KeyInput
std::bitset< KeyBitsetWidth > KeyInput
按键并行位宽。
Definition: Keys.h:67
YSLib::UI::Desktop
桌面。
Definition: YDesktop.h:46
YModules.h
YSLib::Shells::Shell
外壳程序：实现运行期控制流映像语义。
Definition: YShell.h:41
YSLib::DS::ShlDS::bUpdateUp
bool bUpdateUp
指定当前桌面是否需要更新。
Definition: Shell_DS.h:93
YF_API
#define YF_API
Definition: Platform.h:56
YSLib::Shells::ShlCLI
标准命令行界面 Shell 。
Definition: Shell_DS.h:45
YSLib::DS::ShlDS::sub_desktop_ptr
shared_ptr< Desktop > sub_desktop_ptr
Definition: Shell_DS.h:79