9#include "windowBase.hpp"
54 _ksys_draw_bar(coord.x, coord.y, size.x, size.y, color);
79 ::
"a"(48),
"b"(12),
"c"(newSize)
91 _ksys_draw_text(text.c_str(), coord.x, coord.y, text.length(), color);
101 _ksys_draw_text(text, coord.x, coord.y, strlen(text), color);
114 ksys_color_t _TextColor;
130 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);
151 void SetText(
const std::string& NewText);
178 _FontSize = FontSize;
179 _TextScale = TextScale;
180 _TextColor = TextColor;
183 TextLabel::~TextLabel()
192 _FontSize =
_size.x / _text.length();
198 if((_text.length() * _FontSize) >
_size.x)
200 a = (
_size.x / 2) - (_text.length() * _FontSize);
221 _FontSize = NewTextSize;
236 _TextColor = NewTextColor;
256 const unsigned StartButtonId = 100;
265 std::vector<ButtonsIdData> ButtonsIdList;
270 unsigned GetFreeButtonId()
272 for (
unsigned i = 0; i < ButtonsIdList.size(); i++)
274 if (!ButtonsIdList[i].use)
276 ButtonsIdList[i].use =
true;
283 ButtonsIdList.push_back(a);
284 return ButtonsIdList.size() - 1;
289 void FreeButtonId(
unsigned id)
291 ButtonsIdList[id].use =
false;
298 unsigned GetButtonId(
unsigned id)
300 return StartButtonId + id;
308 inline unsigned autoDefineButton(
const point& coords,
const point& size, ksys_color_t color =
OS::sys_color_table.work_button)
310 unsigned id = GetButtonId(GetFreeButtonId());
311 _ksys_define_button(coords.x, coords.y, size.x, size.y,
id, color);
320 inline void DefineButton(
const point& coord, point& size,
const unsigned&
id, ksys_color_t color =
OS::sys_color_table.work_button)
322 _ksys_define_button(coord.x, coord.y, size.x, size.y,
id, color);
327 inline void DeleteButton(
unsigned id)
329 _ksys_delete_button(
id);
335 inline unsigned GetPressedButton()
337 return _ksys_get_button();
350 ksys_color_t _ButtonColor;
411 init(coord, size, text, Margin, ButtonColor, TextColor);
427 _id = GetFreeButtonId();
441 DefineButton(
_coord,
_size, GetButtonId(_id), _ButtonColor);
454 if (GetPressedButton() == _id)
476 _text.SetCoord(coord);
478 _text.SetTextColor(TextColor);
479 _ButtonColor = ButtonColor;
487 _id = GetButtonId(GetFreeButtonId());
509 std::string _inputText;
512 ksys_color_t _FormColor;
530 bool ButtonHandler();
542 _FormColor = FormColor;
543 _butt.
init(coord, size, BackgroundText, Margin, ButtonTextColor);
566 if (input > 33 && input != 127)
568 _inputText.push_back(input);
572 _inputText.erase(_inputText.end() - 1);
575 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:108
void SetTextColor(const ksys_color_t &NewTextColor)
Изменить цвет текста
Definition UI.hpp:234
void SetScale(bool scale)
Изменить значение переменной _TextScale.
Definition UI.hpp:239
void SetFontSize(const unsigned &NewTextSize)
Изменить рамер текста
Definition UI.hpp:219
ksys_color_t GetTextColor()
Получить цвет текста
Definition UI.hpp:244
void SetSize(const point &NewSize)
Изменить размер текстовой метки
Definition UI.hpp:224
unsigned GetFontSize()
Получить Размер шрифта
Definition UI.hpp:210
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:175
void SetCoord(const point &NewCoords)
Изменить координаты текстовой метки
Definition UI.hpp:229
void SetText(const std::string &NewText)
Изменить текст
Definition UI.hpp:215
void render()
Отрисовать текстовую метку
Definition UI.hpp:188
std::string GetText()
Получить текст
Definition UI.hpp:206
ksys_colors_table_t sys_color_table
Таблица стандартных(системных) цветов
Definition base.hpp:36
void SetTextSize(unsigned int newSize)
Изменить размер текста
Definition UI.hpp:75
void DrawText(const std::string &text, const point &coord, const unsigned &size=9, ksys_color_t color=OS::sys_color_table.work_text)
Вывести текст
Definition UI.hpp:88
unsigned int GetTextSize()
Получить размер текста
Definition UI.hpp:62
void DrawBar(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:114
void init()
Инициализация
Definition base.hpp:106
Просто точка
Definition base.hpp:26