Skip to content

Простая библиотека элементов управления пользовательского интерфейса

Notifications You must be signed in to change notification settings

mikhail-shamshurin/SC-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SC Framework

SimpleControl Framework - фреймворк, содержащий в себе базовые элементы управления пользовательского интерфейса. Фреймворк основан на библиотеке SFML/С++.

Оглавление

Установка

Для работы библиотеки необходимо наличие в проекте установленной, вышеупомянутой, библиотеки SFML. Инструкция по установки библиотеки здесь.

Начало работы

Подключение осуществляется через заголовок файла: #include "SFC.h";. Далее создайте следующую структуру, которая является стандартной для данного фреймворка:

#include "SCF.hpp"

/*Создание окна*/
sf::RenderWindow window(VideoMode(400, 300), "Testing", Style::Default);

/*Создание объектов*/
sf::Font font;
Label label(window, font);

/*Инициализация компонентов*/
void InitializeComponents()
{
	/* Загрузка шрифта */
	font.loadFromFile("Consolas.ttf");

	/* Установка свойств для объектов*/
	label.setCaption("Hello, SC-Framework!");
	label.setPosition(10, 10);
}

/*Стандартный SFML цикл*/
int main()
{
	InitializeComponents();

	while (window.isOpen())
	{
		Event event;
		while (window.pollEvent(event))
		{
			if (event.type == Event::Closed)
				window.close();
		}

		window.clear(sf::Color::White);
		label.display(); // Выводит надпись
		window.display();
	}
}

Данная структура самая оптимальная для использования фреймвока. Глобализация компонентов необходима для более легкой видимости. К примеру, это пригодится при установки событийных методов или процедур.

Документация API

Изначально фреймворк имеет базовые классы из которых состоит основа каждого элемента.

Базовые классы:

  1. PositionSize - класс, передающий свойства размера и позиции элемента.
  2. IsIn - передает методы, определяющие нахождение курсора относительно элемета.
  3. isEnabled - доступность элемента.
  4. Visible - видимость элемента.
  5. Checked - "включенность" элемента.
  6. ActiveColor - цвета состояний.
  7. RenderWindowElement - передает поля и методы необходимые для работы с окнами.
  8. Caption - поля и свойства для изменения надписей элемента.
  9. Background - поля и свойства для изменения тела или заднего фона элемента.
  10. Click - класс, используемый для определния нажатия на элемент.

Фремворк имеет следующие элементы управления, которые основаны на базовых классах:

  1. Label - простая надпись.
  2. CaptionButton - кнопка с надписью.
  3. CheckBox - переключатель с меткой.
  4. RadioButton - переключатель между несколькими подобными элементами.
  5. RadioButtonContainer - контейнер для переключателей RadioButton.
  6. TextBox - поле ввода текста.
  7. ProgressBar - полоса отображения выполненного прогресса в процентах.

Базовые классы

PositionSize

Класс предназначен для добавления позиции и размеров. После изменения одного из параметров (к примеру размера) будет вызвана соответствующая процедура:

  • изменение позиции - position_update();
  • изменение размера - size_update();

Изначально данные процедуры являются виртуальными (не имеют тела).

Защищенные методы и поля

Тип Метод / Поле
sf::Vector2f position
Поле позиции элемента.
sf::Vector2f size
Поле размера элемента.
virtual void position_update() = 0
Процедура вызываемая при изменении позиции (после вызова setPosition(...)).
virtual void size_update() = 0
Процедура вызываемая при изменении размера (после вызова setSize(...)).

Открытые методы и поля

Тип Метод / Поле
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

IsIn

Класс предназначен для определение позции курсора относительно элемента.

Примечания:

  1. Является дочерним классом класса PositionSize.

Защищенные методы и поля

Тип Метод / Поле
sf::Vector2f position
Поле позиции элемента.
sf::Vector2f size
Поле размера элемента.
virtual void position_update() = 0
Процедура вызываемая при изменении позиции (после вызова setPosition(...)).
virtual void size_update() = 0
Процедура вызываемая при изменении размера (после вызова setSize(...)).

Открытые методы и поля

Тип Метод / Поле
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

Enable

Класс, котрый указывает доступность элемента и изменение этого свойства.

Защищенные методы и поля

Тип Метод / Поле
bool is_enabled = true
Поле доступности элемента.

Открытые методы и поля

Тип Метод / Поле
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.

Visible

Устанавливает видимость элемента.

Защищенные методы и поля

Тип Метод / Поле
bool is_visible = true
Поле видимости элемента.

Открытые методы и поля

Тип Метод / Поле
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.

Checked

Добавляет информации об отмеченности элемента (отмечен он или нет, к примеру, меткой).

Примечания:

  1. Имеет дружественный класс RadioButtonContainer.

Защищенные методы и поля

Тип Метод / Поле
bool is_checked = false
Поле отмеченности элемента.

Открытые методы и поля

Тип Метод / Поле
bool isChecked
озвращает значение true или false в зависимости от того, отмечен элемент или нет.
void checked()
Устанавливет полю is_checked значение true.
void unchecked()
Устанавливет полю is_checked значение false.

ActiveColor

Добавлет 3 цвета основных состояний:

  • hovered (наведен).
  • clicked (нажат).
  • basic (обычное состояние).

Открытые методы и поля

Тип Метод / Поле
sf::Color hovered
Поле цвета наведенного состояния.
sf::Color clicked
Поле цвета нажатого состояния.
sf::Color basic
Поле цвета обычного состояния.
ActiveColor()
Конструкор по умолчанию.
ActiveColor(sf::Color basic, sf::Color clicked, sf::Color hovered)
Конструктор, который устанавливает цвета для каждого состояния.

Параметры:
sf::Color basic цвет обычного состояния.
sf::Color clicked цвет нажатого состояния.
sf::Color hovered цвет наведенного состояния.

RenderWindowElement

Добавляет поля и методы для привязки элемента к определенному окну.

Защищенные методы и поля

Тип Метод / Поле
sf::RenderWindow* window = NULL
Поле, хранящее в себе указатель на окно, к кторому привязан элемент.

Открытые методы и поля

Тип Метод / Поле
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.

Caption

Добавляет элементу надпись. Надпись имеет таже настройки отображения. К примеру какой шрифт будет использован и какого цвета. После каждого изменения надписи вызываеся соответвующая процедура caption_update().

Защищенные методы и поля

Тип Метод / Поле
sf::Text caption
Поле, храняшее в себе отображаемый текст.
virtual void caption_update() = 0
Метод, который вызывается при каждом изменении надписи.

Открытые методы и поля

Тип Метод / Поле
void setCaption(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setCaption(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
sf::String getCaption()
Метод, который возвращает текст, который содержит надпись.
void sf::setCaptionFont(sf::Font &font)
Метод, который устанавливает новый шрифт для надписи.

Параметры:
sf::Font &font переменная содержащая в себе шрифт.

Примечание:
Так как устройство класса sf::Text имеет в себе особенность хранить указатель на шрифт, то шрфит должен быть постоянно доступен, во время использования надписи.
const sf::Font* getFont()
Метод, который возвращает указатель на используемый в надписи шрифт.
void setCaptionStyle(sf::Uint32 style)
Метод, который устанавливает стиль надписи.

Параметры:
sf::Uint32 style настройки стиля.

Примечаение:
Вы можете компбинировать стили. Например комбинация `label.setCaptionStyle(Text::Style::Bold
void setCaptionCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getCaptionCharacterSize()
Метод, который возвращает размер шрифта надписи.
void setCaptionOutlineThickness(float size)
Метод, который устанавливает толщину обводящей линии надписи.

Параметры:
float size толщина обводки надписи.

Примечание:
Если установить отрицательное значение, то обводка будет внутри элемента, а не вне.
float getCaptionOutlineThickness()
Метод, который возвращает толщину обводящей линии.
void setCaptionOutlineColor(sf::Color color)
Метод, который устанавливает цвет обводящей линии надписи.

Параметры:
sf::Color color цвет обводки.
float getCaptionOutlineColor()
Метод, который возвращает цвет обводящей линии.
void setCaptionColor(sf::Color color)
Метод, который устанавливает цвет шрифта надписи.

Параметры:
sf::Color color цвет шрифта.

Background

Добавляет фон или так называемое тело для элемента. После каждого изменения фона элемента вызывается процедура background_update().

Защищенные методы и поля

Тип Метод / Поле
sf::RectangleShape background
Поле, хранящее в себе геометрическую фигуру фона элемента.
virtual void background_update() = 0
Метод, который вызвается после каждого изменения фона.

Параметры:
тип имя описание.

Открытые методы и поля

Тип Метод / Поле
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.

Click

Добавляет к элементу возможность нажатия на него курсором мыши.

Примечания:

  1. Является производным классом IsIn.

Защищенные методы и поля

Тип Метод / Поле
bool click_in = false
Поле, которое указывает на удержание элемента (до того момента пока элемент не отпущен).
bool click_out = false
Поле, которое указывает на отпускание элемента (после его удержания).
bool ClickedOn(sf::Event &event, sf::Vector2f position_pointer
Метод, который возвращает true, если на элемент было произведено нажатие и false если нажатия не было.

Параметры:
sf::Event &event переменная, хранящая события.
sf::Vector2f position_pointer точка положения указателя.
bool ClickedOn(sf::Event &event, sf::Vector2f position_pointer, bool condition)
Метод, который возвращает true, если на элемент было произведено нажатие и false если нажатия не было.

Параметры:
sf::Event &event переменная, хранящая события.
sf::Vector2f position_pointer точка положения указателя.
bool condition дополнительное пользовательское условие.
bool ClickedOut(sf::Event &event, sf::Vector2f position_pointer)
Метод, который возвращает true, если на элемент было произведено отпускание нажатия элемента и false если отпускания не было.

Параметры:
sf::Event &event переменная, хранящая события.
sf::Vector2f position_pointer точка положения указателя.
sf::Vector2f position
Поле позиции элемента.
sf::Vector2f size
Поле размера элемента.
virtual void position_update() = 0
Процедура вызываемая при изменении позиции (после вызова setPosition(...)).
virtual void size_update() = 0
Процедура вызываемая при изменении размера (после вызова setSize(...)).

Открытые методы и поля

Тип Метод / Поле
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

Элементы управления

Label

Предназначен для вывода текста. Представляет собой простую надпись, размер которой устанавливается за счет размера содержимого.

Вид

Вид Label

Открытые методы и поля

Тип Метод / Поле
Конструктор Label(sf::RenderWindow &window, sf::Font &font)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
sf::Font &font шрифт, который будет использован элементом.
void display()
Метод, который отображает элемент на ранее привязанном окне.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setCaption(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setCaption(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
sf::String getCaption()
Метод, который возвращает текст, который содержит надпись.
void sf::setCaptionFont(sf::Font &font)
Метод, который устанавливает новый шрифт для надписи.

Параметры:
sf::Font &font переменная содержащая в себе шрифт.

Примечание:
Так как устройство класса sf::Text имеет в себе особенность хранить указатель на шрифт, то шрфит должен быть постоянно доступен, во время использования надписи.
const sf::Font* getFont()
Метод, который возвращает указатель на используемый в надписи шрифт.
void setCaptionStyle(sf::Uint32 style)
Метод, который устанавливает стиль надписи.

Параметры:
sf::Uint32 style настройки стиля.

Примечаение:
Вы можете компбинировать стили. Например комбинация `label.setCaptionStyle(Text::Style::Bold
void setCaptionCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getCaptionCharacterSize()
Метод, который возвращает размер шрифта надписи.
void setCaptionOutlineThickness(float size)
Метод, который устанавливает толщину обводящей линии надписи.

Параметры:
float size толщина обводки надписи.

Примечание:
Если установить отрицательное значение, то обводка будет внутри элемента, а не вне.
float getCaptionOutlineThickness()
Метод, который возвращает толщину обводящей линии.
void setCaptionOutlineColor(sf::Color color)
Метод, который устанавливает цвет обводящей линии надписи.

Параметры:
sf::Color color цвет обводки.
float getCaptionOutlineColor()
Метод, который возвращает цвет обводящей линии.
void setCaptionColor(sf::Color color)
Метод, который устанавливает цвет шрифта надписи.

Параметры:
sf::Color color цвет шрифта.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.

CaptionButton

Предназначен для создания кнопки с надписью и привязки процедур к ней.

Вид

Вид CaptionButton

Открытые методы и поля

Тип Метод / Поле
Конструктор CaptionButton(sf::RenderWindow &window, sf::Font &font)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
sf::Font &font шрифт, который будет использован элементом.
void setCaption(std::wstring text, sf::Vector2f interval)
Метод, который устанавливает новую надпись и размер, учитывая размер надписи и интервалы по вертикали и горизонтали.

Параметры
std::wstring text новая надпись.
sf::Vector2f interval отступы по горизонтали и вертикали.
void setCaption(std::string text, sf::Vector2f interval)
Метод, который устанавливает новую надпись и размер, учитывая размер надписи и интервалы по вертикали и горизонтали.

Параметры
std::string text новая надпись.
sf::Vector2f interval отступы по горизонтали и вертикали.
void setSizeByCaption(sf::Vector2f interval = sf::Vector2f(5, 5))
Метод, который изменяет размер кнопки, учитываю размер надписи и уставновленный интервал.

Параметры
sf::Vector2f interval = sf::Vector2f(5, 5)) интервал по горизонтали и вертикали.
void setBasicColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color(225, 225, 225))
Метод, который устанавливает цвета элемента в его спокойном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color(225, 225, 225) цвет рамки элемента.
void setHoveredColors(sf::Color bg_color = sf::Color(245, 245, 245), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color(245, 245, 245))
Метод, который устанавливает цвета элемента в его наведенном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color(225, 225, 225) цвет рамки элемента.
void setClickedColors(sf::Color bg_color = sf::Color(190, 190, 190), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color(190, 190, 190))
Метод, который устанавливает цвета элемента в его нажатом состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color(225, 225, 225) цвет рамки элемента.
ActiveColor getBackgroundColors()
Метод, который возвращает цвета фона.
ActiveColor getTextColors()
Метод, который возвращает цвета надписи.
ActiveColor getBorderColors()
Метод, который возвращает цвета рамки.
void display()
Метод, который отображает элмент на ранее привязанном окне.
int getEvent(sf::Event &event)
Метод, который возвращает код события, которое произошло с элементом.

Параметры
sf::Event &event переменная событий.
void(*)() onClick()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие нажатия на элемент.
void(*)() onHover()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие наведения на элемент.
void(*)() onClick()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие отвода от элемента.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setCaption(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setCaption(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
sf::String getCaption()
Метод, который возвращает текст, который содержит надпись.
void sf::setCaptionFont(sf::Font &font)
Метод, который устанавливает новый шрифт для надписи.

Параметры:
sf::Font &font переменная содержащая в себе шрифт.

Примечание:
Так как устройство класса sf::Text имеет в себе особенность хранить указатель на шрифт, то шрфит должен быть постоянно доступен, во время использования надписи.
const sf::Font* getFont()
Метод, который возвращает указатель на используемый в надписи шрифт.
void setCaptionStyle(sf::Uint32 style)
Метод, который устанавливает стиль надписи.

Параметры:
sf::Uint32 style настройки стиля.

Примечаение:
Вы можете компбинировать стили. Например комбинация `label.setCaptionStyle(Text::Style::Bold
void setCaptionCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getCaptionCharacterSize()
Метод, который возвращает размер шрифта надписи.
void setCaptionOutlineThickness(float size)
Метод, который устанавливает толщину обводящей линии надписи.

Параметры:
float size толщина обводки надписи.

Примечание:
Если установить отрицательное значение, то обводка будет внутри элемента, а не вне.
float getCaptionOutlineThickness()
Метод, который возвращает толщину обводящей линии.
void setCaptionOutlineColor(sf::Color color)
Метод, который устанавливает цвет обводящей линии надписи.

Параметры:
sf::Color color цвет обводки.
float getCaptionOutlineColor()
Метод, который возвращает цвет обводящей линии.
void setCaptionColor(sf::Color color)
Метод, который устанавливает цвет шрифта надписи.

Параметры:
sf::Color color цвет шрифта.
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

События

Код Наименование Описание
0 Nothing Ничего не произошло
1 Hovered Курсор был наведен на элемент
2 Clicked На элемент было произведено нажатие

CheckBox

Предназначен для создания переключателя, имеющего два состояния Checked и Unchecked.

Вид

Вид CheckBox

Открытые методы и поля

Тип Метод / Поле
Конструктор CheckBox(sf::RenderWindow &window, sf::Font &font)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
sf::Font &font шрифт, который будет использован элементом.
void setBasicColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его спокойном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setHoveredColors(sf::Color bg_color = sf::Color(245, 245, 245), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его наведенном состоянии.

Параметры
sf::Color bg_color = sf::Color(245, 245, 245) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setClickedColors(sf::Color bg_color = sf::Color(190, 190, 190), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его нажатом состоянии.

Параметры
sf::Color bg_color = sf::Color(190, 190, 190) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setIndentationImg(int indentation)
Метод, который устанавливает отступ между меткой и ее рамкой.

Параметры
int indentation размер отступа.
void display()
Метод, который отображает элмент на ранее привязанном окне.
int getEvent(sf::Event &event)
Метод, который возвращает код события, которое произошло с элементом.

Параметры
sf::Event &event переменная событий.
void(*)() onChecked()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие установки метки элемента.
void(*)() onUnchecked()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие удаление метки элемента.
void(*)() onHover()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие наведения на элемент.
void(*)() onHoverOut()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие отвода от элемента.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setCaption(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setCaption(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
sf::String getCaption()
Метод, который возвращает текст, который содержит надпись.
void sf::setCaptionFont(sf::Font &font)
Метод, который устанавливает новый шрифт для надписи.

Параметры:
sf::Font &font переменная содержащая в себе шрифт.

Примечание:
Так как устройство класса sf::Text имеет в себе особенность хранить указатель на шрифт, то шрфит должен быть постоянно доступен, во время использования надписи.
const sf::Font* getFont()
Метод, который возвращает указатель на используемый в надписи шрифт.
void setCaptionStyle(sf::Uint32 style)
Метод, который устанавливает стиль надписи.

Параметры:
sf::Uint32 style настройки стиля.

Примечаение:
Вы можете компбинировать стили. Например комбинация `label.setCaptionStyle(Text::Style::Bold
void setCaptionCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getCaptionCharacterSize()
Метод, который возвращает размер шрифта надписи.
void setCaptionOutlineThickness(float size)
Метод, который устанавливает толщину обводящей линии надписи.

Параметры:
float size толщина обводки надписи.

Примечание:
Если установить отрицательное значение, то обводка будет внутри элемента, а не вне.
float getCaptionOutlineThickness()
Метод, который возвращает толщину обводящей линии.
void setCaptionOutlineColor(sf::Color color)
Метод, который устанавливает цвет обводящей линии надписи.

Параметры:
sf::Color color цвет обводки.
float getCaptionOutlineColor()
Метод, который возвращает цвет обводящей линии.
void setCaptionColor(sf::Color color)
Метод, который устанавливает цвет шрифта надписи.

Параметры:
sf::Color color цвет шрифта.
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.
bool isChecked
озвращает значение true или false в зависимости от того, отмечен элемент или нет.
void checked()
Устанавливет полю is_checked значение true.
void unchecked()
Устанавливет полю is_checked значение false.
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

События

Код Наименование Описание
0 Nothing Ничего не произошло
1 Checked Метка была установлена
2 Unchecked Метка была снята

RadioButton

Элемент схож с CheckBox (предназначен для создания переключателя, имеющего два состояния Checked и Unchecked), но зависит от других элементов, находящихся в контенере RadioButtonContainer. А именно только один переключатель может быть включен в данном контейнере.

Вид

Вид RadioButtom

Открытые методы и поля

Тип Метод / Поле
Конструктор RadioButton(sf::RenderWindow &window, sf::Font &font)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
sf::Font &font шрифт, который будет использован элементом.
void setBasicColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его спокойном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setHoveredColors(sf::Color bg_color = sf::Color(245, 245, 245), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его наведенном состоянии.

Параметры
sf::Color bg_color = sf::Color(245, 245, 245) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setClickedColors(sf::Color bg_color = sf::Color(190, 190, 190), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black, sf::Color ck_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его нажатом состоянии.

Параметры
sf::Color bg_color = sf::Color(190, 190, 190) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
sf::Color ck_color = sf::Color::Black цвет метки элемента.
void setIndentationImg(int indentation)
Метод, который устанавливает отступ между меткой и ее рамкой.

Параметры
int indentation размер отступа.
void display()
Метод, который отображает элмент на ранее привязанном окне.
int getEvent(sf::Event &event)
Метод, который возвращает код события, которое произошло с элементом.

Параметры
sf::Event &event переменная событий.
void(*)() onChecked()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие установки метки элемента.
void(*)() onUnchecked()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие удаление метки элемента.
void(*)() onHover()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие наведения на элемент.
void(*)() onHoverOut()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие отвода от элемента.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setCaption(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setCaption(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
sf::String getCaption()
Метод, который возвращает текст, который содержит надпись.
void sf::setCaptionFont(sf::Font &font)
Метод, который устанавливает новый шрифт для надписи.

Параметры:
sf::Font &font переменная содержащая в себе шрифт.

Примечание:
Так как устройство класса sf::Text имеет в себе особенность хранить указатель на шрифт, то шрфит должен быть постоянно доступен, во время использования надписи.
const sf::Font* getFont()
Метод, который возвращает указатель на используемый в надписи шрифт.
void setCaptionStyle(sf::Uint32 style)
Метод, который устанавливает стиль надписи.

Параметры:
sf::Uint32 style настройки стиля.

Примечаение:
Вы можете компбинировать стили. Например комбинация `label.setCaptionStyle(Text::Style::Bold
void setCaptionCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getCaptionCharacterSize()
Метод, который возвращает размер шрифта надписи.
void setCaptionOutlineThickness(float size)
Метод, который устанавливает толщину обводящей линии надписи.

Параметры:
float size толщина обводки надписи.

Примечание:
Если установить отрицательное значение, то обводка будет внутри элемента, а не вне.
float getCaptionOutlineThickness()
Метод, который возвращает толщину обводящей линии.
void setCaptionOutlineColor(sf::Color color)
Метод, который устанавливает цвет обводящей линии надписи.

Параметры:
sf::Color color цвет обводки.
float getCaptionOutlineColor()
Метод, который возвращает цвет обводящей линии.
void setCaptionColor(sf::Color color)
Метод, который устанавливает цвет шрифта надписи.

Параметры:
sf::Color color цвет шрифта.
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.
bool isChecked
озвращает значение true или false в зависимости от того, отмечен элемент или нет.
void checked()
Устанавливет полю is_checked значение true.
void unchecked()
Устанавливет полю is_checked значение false.
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

События

Код Наименование Описание
0 Nothing Ничего не произошло
1 Checked Метка была установлена
2 Unchecked Метка была снята

RadioButtonContainer

Указатель на элементы RadioButton, которые должны быть связаны между собой. Обеспечевает ограничение по включенным элементам (из всех добавленных только один элемент может находится в состоянии Checked, остальные - Unchecked).

Открытые методы и поля

Тип Метод / Поле
void add(RadioButton &radio_button)
Метод, добавляющий к связи элементы RadioButton.

Параметры
RadioButton &radio_button элемент, который нужно добавить к связи.
void events(sf::Event &event)
Обработчик событий привязанных элеметов.

Параметры
sf::Event &event переменная событий.
void display()
Отображение всех привязанных элеметов на тех окнах, которым был привязан соответствующий элемент.

TextBox

Предназначен для создания поле ввода для текста.

Вид

Вид TextBox

Открытые методы и поля

Тип Метод / Поле
Конструктор TextBox(sf::RenderWindow &window, sf::Font &font)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
sf::Font &font шрифт, который будет использован элементом.
void setSizeByCaption(sf::Vector2f interval = sf::Vector2f(5, 5))
Метод, который изменяет размер кнопки, учитываю размер надписи и уставновленный интервал.

Параметры
sf::Vector2f interval = sf::Vector2f(5, 5)) интервал по горизонтали и вертикали.
void setBasicColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его спокойном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
void setHoveredColors(sf::Color bg_color = sf::Color(245, 245, 245), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его наведенном состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
void setClickedColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color txt_color = sf::Color::Black, sf::Color brd_color = sf::Color::Black)
Метод, который устанавливает цвета элемента в его нажатом состоянии.

Параметры
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона элемента.
sf::Color txt_color = sf::Color::Black цвет текста элемента.
sf::Color brd_color = sf::Color::Black цвет рамки элемента.
void setText(std::wstring text, sf::Vector2f interval)
Метод, который устанавливает новую надпись и размер, учитывая размер надписи и интервалы по вертикали и горизонтали.

Параметры
std::wstring text новая надпись.
sf::Vector2f interval отступы по горизонтали и вертикали.
void setText(std::string text, sf::Vector2f interval)
Метод, который устанавливает новую надпись и размер, учитывая размер надписи и интервалы по вертикали и горизонтали.

Параметры
std::string text новая надпись.
sf::Vector2f interval отступы по горизонтали и вертикали.
void setText(std::wstring text)
Метод, устанавливающий текст надписи.

Параметры:
std::wstring text текст, содержащий надпись.
void setText(std::string text)
Метод, устанавливающий текст надписи.

Параметры:
std::string text текст, содержащий надпись.
sf::String getText()
Метод, который возвращает текст, который содержит надпись.
void setTextCharacterSize(unsigned int size)
Метод, который устанавливает размер шрифта надписи.

Параметры:
unsigned int size размер шрифта надписи.
unsigned int getTextCharacterSize()
Метод, который возвращает размер шрифта надписи.
void display()
Метод, который отображает элмент на ранее привязанном окне.
int getEvent(sf::Event &event)
Метод, который возвращает код события, которое произошло с элементом.

Параметры
sf::Event &event переменная событий.
void(*)() onClick()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие нажатие на элемент.
void(*)() onHover()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие наведение на элемент.
void(*)() onHoverOut()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие отвода от элемента.
void(*)() onReturned()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие нажатие клавиши Return во время ввода текста.
void(*)() onTextChanged()
Поле, к которому привязывается процедура void. Процедура вызывается после того, как происходит событие изменение текста элемента.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.
virtual bool isIn(sf::Vector2f current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2f current_position точка, определяющая вхождение в элемент.
virtual bool isIn(sf::Vector2i current_position)
Метод, определяющий находится ли точка current_position в координатах элемента.

Параметры:
sf::Vector2i current_position точка, определяющая вхождение в элемент.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.

События

Код Наименование Описание
0 Nothing Ничего не произошло
1 Hovered Курсор был наведен на элемент
2 Clicked На элемент было произведено нажатие
3 Clicked_out Нажатие было произведено вне элемента
4 Returned Во врея ввода текста была нажата клавиша Return

ProgressBar

Полоса отображающая прогресс в процентах. Имеет диапазон значений: 0% - 100%. Если будет установлено вне данного диапазона, то будет установлен один из порогов.

Вид

Вид TextBox

Открытые методы и поля

Тип Метод / Поле
Конструктор ProgressBar(sf::RenderWindow &window)
Конструктор по умолчанию.

Параметры:
sf::RenderWindow &window окно, которому будет привязан элемент.
void setBasicColors(sf::Color bg_color = sf::Color(225, 225, 225), sf::Color prg_color = sf::Color::Green, sf::Color brd_color = sf::Color::Black)
Устанавливает цвета для элемента.

Параметры:
sf::Color bg_color = sf::Color(225, 225, 225) цвет фона.
sf::Color prg_color = sf::Color::Green цвет полосы прогресса.
sf::Color brd_color = sf::Color::Black цвет рамки.
void setValue(int value_)
Устанавливет степень процгресса в процентах.

Параметры:
int value_ процент прогресса (0 >= value_ <= 100).
int getValue()
Возвращает значение прогресса.
void display()
Метод, который отображает элмент на ранее привязанном окне.
bool isEnabled()
Возвращает значение true или false в зависимости от того, доступен элемент или нет.
void enable()
Устанавливет полю is_enabled значение true.
void unable()
Устанавливет полю is_enabled значение false.
virtual void setPosition(sf::Vector2f position)
Метод изменния позиции элемента.

Параметры:
sf::Vector2f position обновленная позиция элемента.
void setPosition(float position_x, float position_y)
Метод изменния позиции элемента.

Параметры:
float position_x обновленная позиция элемента по X.
float position_y обновленная позиция элемента по Y.
sf::Vector2f getPosition()
Возвращает текущую позицию элемента.
virtual void setSize(sf::Vector2f size)
Метод изменния размера элемента.

Параметры:
sf::Vector2f size обновленный размер элемента.
void setSize(float size_x, float size_y)
Метод изменния размера элемента.

Параметры:
float size_x обновленный размер элемента по X
float size_y обновленный размер элемента по Y
sf::Vector2f getSize()
Возвращает текущий размер элемента.
bool isVisible()
Возвращает значение true или false в зависимости от того, видим элемент или нет.
void visible()
Устанавливет полю is_visible значение true.
void invisible()
Устанавливет полю is_visible значение false.
void setBorderSize(float size)
Метод, который изменяет размер рамки.

Параметры:
float size размер рамки фона.
void setBackgroundColor(sf::Color color)
Метод, который изменяет цвет фона.

Параметры:
sf::Color color цвет фона.
sf::RenderWindow* getWindow()
Возвращает указатель на на окно, к кторому привязан элемент.
void setWindow(sf::RenderWindow &window)
Устанавливет связь между окном и элементом.

Параметры:
sf::RenderWindow &window окно, к которому следует привязать элемент.

Пример использования

Ниже представлен простой код счетчика нажатий.

#include "SCF.hpp"

sf::RenderWindow window(VideoMode(400, 300), L"Тест", Style::Default, ContextSettings(0, 0, 6));

sf::Font font;
CaptionButton button(window, font); /// Кнопка

/* ПРОЦЕДРУРА ДЛЯ КНОПКИ */
void button_void()
{
	static int clicks = 0;

	++clicks;
	button.setCaption(L"Вы нажали " + to_wstring(clicks) + L" раз.", sf::Vector2f(5,5)); // Изменяет надпись кнопки
}


void InitializeComponents()
{
	/* Зашрузка шрифта */
	font.loadFromFile("Consolas.ttf");

	/* Установка свойств кнопки */
	button.setPosition(10, 15);
	button.setCaptionFont(font);
	button.setCaption(L"Вы нажали 0 раз.", sf::Vector2f(5, 5));
	button.onClick = button_void; // Привязывает процедуру к событию кнопки
}

int main()
{
	InitializeComponents();

	while (window.isOpen())
	{
		Event event;
		while (window.pollEvent(event))
		{
			if (event.type == Event::Closed)
				window.close();

			button.getEvent(event); // Считывает события для кнопки
		}

		window.clear(sf::Color::Magenta);
		button.display(); // Выводит кнопку
		window.display();
	}
}

Вывод:

Результат работы программы

Функции позиционирования элементов

Метод Описание
horizontalStack(PositionSize &element_1, PositionSize &element_2, float interval = 10, bool get_Y = false) Устанавливает element_2 справа от element_1 с интервалом в interval пикселей и если get_Y имеет значение true, то element_2 примет позицию по Y от element_1
verticalStack(PositionSize &element_1, PositionSize &element_2, float interval = 10, bool get_X = false) Устанавливает element_2 снизу от element_1 с интервалом в interval пикселей и если get_X имеет значение true, то element_2 примет позицию по X от element_1
void horizontalCenter(PositionSize &element_1, PositionSize &element_2) Устанавливает element_2 по горизонтальному центру относительно element_1
void verticalCenter(PositionSize &element_1, PositionSize &element_2) Устанавливает element_2 по вертикальному центру относительно element_1

Пример использования

Вы можете использовать функции позиционирования для более удобного расположения элеметов, которые зависят друг от друга. Например нам нужно установить элементы в строчку с определенным интервалом, и для этого мы создадим такое решение

label.setPosition(10, 10);
button.setPosition(label.getPosition().x + label.getSize().x + 10,
	label.getPosition().y);

Пример сокращения позиционирования

Но можно использовать функции позиционирования, которые более удобны в данном случае.

label.setPosition(10, 10);
horizontalStack(label, button, 10, true);

Для более эстетичного вида можно и отценрировать надпись относительно кнопки.

label.setPosition(10, 10);
horizontalStack(label, button, 10, true);
horizontalCenter(button, label);

Пример сокращения позиционирования

About

Простая библиотека элементов управления пользовательского интерфейса

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages