Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Window.hpp
1
2#pragma once
3#include <Covellite/Predefined.hpp>
4#include <Covellite/Events/Events.hpp>
5#include <Covellite/App/IWindow.hpp>
6#include <Covellite/Os/IWindow.hpp>
7
8namespace covellite
9{
10
11namespace app { class IApplication; }
12
13namespace os
14{
15
39class Window final :
42{
44
45public:
46 // Интерфейс events::IEvents:
47 operator Events_t (void) const override;
48
49public:
50 // Интерфейс os::IWindow:
51 Any_t GetHandle(void) const override;
52 Rect GetClientRect(void) const override;
53 const Configuration_t & GetConfiguration(void) const override;
54
55private:
56 void ActivateApplicationEvents(void);
57 void ActivateResizeEvents(void);
58 void ActivateMouseEvents(void);
59 void ActivateKeyEvents(void);
60
61private:
62 Events_t m_Events;
63 long m_MinWindowWidth = 0;
64 long m_MinWindowHeight = 0;
65 Any_t m_Handle;
66 Configuration_t m_Configuration;
67 size_t m_LastTypeSizeMessage;
68
69public:
70 explicit Window(const ::covellite::app::IApplication &);
71 ~Window(void);
72
73private:
74 FRIEND_TEST(Window_windows_test, /*DISABLED_*/Test_SetWindowLongPtr);
75};
76
77} // namespace os
78
79} // namespace covellite
Класс входит в проект Covellite.App Интерфейсный класс для классов окон фреймворка.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Events Класс для работы с событиями фреймворка.
Definition Events.hpp:36
Класс входит в проект Covellite.Os Класс доступа к текущим настройкам системы.
Definition Configuration.hpp:29
Класс входит в проект Covellite.Os Интерфейсный класс окна операционной системы программы.
Definition IWindow.hpp:32
Класс входит в проект Covellite.Os Класс окна операционной системы программы.
Definition Window.hpp:42
Rect GetClientRect(void) const override
Функция получения размеров клиентской области окна.
Definition Window.android.cpp:49