9#include "windowBase.hpp"
54 _ksys_draw_bar(coord.x * KolibriLib::AAANUMBER, coord.y * KolibriLib::AAANUMBER, size.x, size.y, color);
61 unsigned int GetTextSize()
74 void SetTextSize(
unsigned int newSize)
77 "int $0x40" ::
"a"(48),
"b"(12),
"c"(newSize)
89 _ksys_draw_text(text.c_str(), coord.x, coord.y, text.length(), color);
99 _ksys_draw_text(text, coord.x, coord.y, strlen(text), color);
117 ksys_color_t _TextColor;
126 TextLabel(
point coord = {0, 0},
point size = {0, 0}, std::string text =
"Text",
unsigned FontSize = 9,
bool TextScale =
true, ksys_color_t TextColor =
OS::sys_color_table.work_text,
unsigned Margin = 0);
143 void SetText(std::string NewText);
165 _FontSize = FontSize;
166 _TextScale = TextScale;
167 _TextColor = TextColor;
171 TextLabel::~TextLabel()
180 _FontSize =
_size.x / _text.length();
182 SetTextSize(_FontSize);
186 if((_text.length() * _FontSize) >
_size.x)
188 a = (
_size.x / 2) - (_text.length() * _FontSize);
191 DrawText(_text, {
_coord.x + (
_size.x / 2),
_coord.y + a}, _FontSize, _TextColor);
209 _FontSize = NewTextSize;
224 _TextColor = NewTextColor;
234 const unsigned StartButtonId = 100;
244 std::vector<ButtonsIdData> ButtonsIdList;
249 unsigned GetFreeButtonId()
251 for (
unsigned i = 0; i < ButtonsIdList.size(); i++)
253 if (!ButtonsIdList[i].use)
255 ButtonsIdList[i].use =
true;
261 a.data = StartButtonId + ButtonsIdList.size();
263 ButtonsIdList.push_back(a);
264 return ButtonsIdList.size() - 1;
269 void FreeButtonId(
unsigned id)
271 ButtonsIdList[id].use =
false;
278 unsigned GetButtonId(
unsigned id)
280 return ButtonsIdList[id].data;
288 inline unsigned autoDefineButton(point coords, point size, ksys_color_t color =
OS::sys_color_table.work_button)
290 unsigned id = GetButtonId(GetFreeButtonId());
291 _ksys_define_button(coords.x, coords.y, size.x, size.y,
id, color);
300 inline void DefineButton(point coord, point size,
unsigned id, ksys_color_t color =
OS::sys_color_table.work_button)
302 _ksys_define_button(coord.x, coord.y, size.x, size.y,
id, color);
307 inline void DeleteButton(
unsigned id)
309 _ksys_delete_button(
id);
315 inline unsigned GetPressedButton()
317 return _ksys_get_button();
327 ksys_color_t _ButtonColor;
390 init(coord, size, text, Margin, ButtonColor, TextColor);
406 _id = GetFreeButtonId();
420 DefineButton(
_coord,
_size, GetButtonId(_id), _ButtonColor);
433 if (GetPressedButton() == _id)
455 _text.SetCoord(coord);
457 _text.SetTextColor(TextColor);
458 _ButtonColor = ButtonColor;
466 _id = GetFreeButtonId();
486 std::string _inputText;
489 ksys_color_t _FormColor;
510 bool ButtonHandler();
522 _FormColor = FormColor;
523 _butt.
init(coord, size, BackgroundText, Margin, ButtonTextColor);
547 if (input > 33 && input != 127)
549 _inputText.push_back(input);
553 _inputText.erase(_inputText.end() - 1);
556 bool Form::ButtonHandler()
Элемент интерфейса
Definition UI.hpp:25
unsigned _Margin
Отступы
Definition UI.hpp:35
KolibriLib::point _coord
Координаты
Definition UI.hpp:29
KolibriLib::point _size
Размер
Definition UI.hpp:32
Текстовая метка
Definition UI.hpp:106
void SetSize(point NewSize)
Изменить размер текстовой метки
Definition UI.hpp:212
void SetText(std::string NewText)
Изменить текст
Definition UI.hpp:203
unsigned GetFontSize()
Получить Размер шрифта
Definition UI.hpp:198
TextLabel(point coord={0, 0}, point size={0, 0}, std::string text="Text", unsigned FontSize=9, bool TextScale=true, ksys_color_t TextColor=OS::sys_color_table.work_text, unsigned Margin=0)
Конструктор
Definition UI.hpp:162
void render()
Отрисовать текстовую метку
Definition UI.hpp:176
void SetFontSize(unsigned NewTextSize)
Изменить рамер текста
Definition UI.hpp:207
void SetTextColor(ksys_color_t NewTextColor)
Изменить цвет текста
Definition UI.hpp:222
std::string GetText()
Получить текст
Definition UI.hpp:194
void SetCoord(point NewCoords)
Изменить координаты текстовой метки
Definition UI.hpp:217
ksys_colors_table_t sys_color_table
Таблица стандартных(системных) цветов
Definition base.hpp:37
void DrawBar(KolibriLib::point coord, KolibriLib::point size, ksys_color_t color=OS::sys_color_table.work_graph)
Definition UI.hpp:52
const unsigned DefaultMargin
Отступы поумолчанию
Definition UI.hpp:20
Основное пространство имён
Definition base.hpp:17
char CheckKeyboard()
Проверить какая клавиша клавиатуры нажата
Definition base.hpp:110
void init()
Инициализация
Definition base.hpp:102
Просто точка
Definition base.hpp:22