KolibriLib
Loading...
Searching...
No Matches
UI.hpp
1#ifndef __UI_HPP__
2#define __UI_HPP__
3
4#include <sys/ksys.h>
5
6#include <vector>
7
8#include "base.hpp"
9#include "color.hpp"
10
11namespace KolibriLib
12{
13 // Элементы UI
14 namespace UI
15 {
16
18 typedef point<unsigned> Size;
19 typedef point<int> Coord;
20
21
22
24 const unsigned DefaultMargin = 4;
25
29 {
30 protected:
31
34
37
38 Color::Color _MainColor;
39
41 unsigned _Margin;
42
43 public:
44 UIElement(const Coord& coord = {0, 0}, const Size& size = {16, 16}, const Color::Color& MainColor = 0, const unsigned& Margin = DefaultMargin)
45 {
46 _ksys_debug_puts("UIElement:");
47 _coord = coord;
48 _size = size;
49 _MainColor = MainColor;
50 _Margin = Margin;
51 }
52 Size GetSize()
53 {
54 return _size;
55 }
56
57 void SetSize(Size NewSize)
58 {
59 _size = NewSize;
60 }
61
62 unsigned GetMargin()
63 {
64 return _Margin;
65 }
66
70 {
71 return _MainColor;
72 }
73
74 void SetColor(Color::Color NewColor)
75 {
76 _MainColor = NewColor;
77 }
78
79 void SetCoord(Coord NewCoord)
80 {
81 _coord = NewCoord;
82 }
83 Coord GetCoord()
84 {
85 return _coord;
86 }
87
88 UIElement& operator = (const UIElement& Element)
89 {
90 _coord = Element._coord;
91 _size = Element._size;
92 _Margin = Element._Margin;
93 _MainColor = Element._MainColor;
94 return *this;
95 }
96 };
97
98 //=============================================================================================================================================================
99
104 inline void DrawBar(point<int> coord, point<unsigned> size, ksys_color_t color = OS::sys_color_table.work_graph)
105 {
106 _ksys_draw_bar(coord.x, coord.y, size.x, size.y, color);
107 }
108
109
110 }
111}
112
113#endif // __UI_H__
Элемент интерфейса
Definition UI.hpp:29
unsigned _Margin
Отступы
Definition UI.hpp:41
Size _size
Размер
Definition UI.hpp:36
Coord _coord
Координаты
Definition UI.hpp:33
Color::Color GetColor()
Получить осносной цвет элемента
Definition UI.hpp:69
ksys_color_t Color
Цвет
Definition color.hpp:13
Color::ColorsTable sys_color_table
Таблица стандартных(системных) цветов
Definition os.hpp:15
Основное пространство имён
Definition base.hpp:18