YSTest: ydesktop.h 源文件

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
ydesktop.h
浏览该文件的文档.
1 ﻿/*
2 Copyright by FrankHB 2010 - 2013.
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
28 #ifndef YSL_INC_UI_ydesktop_h_
29 #define YSL_INC_UI_ydesktop_h_ 1
30
31 #include "ywindow.h"
32 #include "../Core/ydevice.h"
33 #include "yrender.h"
34
35 YSL_BEGIN
36
37 YSL_BEGIN_NAMESPACE(UI)
38
39
43 class YF_API Desktop : public Window
44 {
45 private:
46 Devices::Screen& screen;
47
48 public:
52 explicit
53 Desktop(Devices::Screen&, Color = Drawing::ColorSpace::Black,
54 const shared_ptr<Drawing::Image>& = {});
55 inline DefDeMoveCtor(Desktop)
56
57 DefGetter(const ynothrow, const Devices::Screen&, Screen, screen) \
59 DefGetter(const ynothrow, BitmapPtr, BackgroundPtr,
60 screen.GetCheckedBufferPtr())
61
62 DefGetter(ynothrow, Rect, InvalidatedArea,
63 GetRenderer().CommitInvalidation({}))
64
68 void
69 Update();
70
76 Rect
77 Validate();
78 };
79
80 YSL_END_NAMESPACE(UI)
81
82 YSL_END
83
84 #endif
85