- Установка
- Начало работы
- Документация API
- Базовые классы
- Элементы управления
- Функции позиционирования элементов
Для работы библиотеки необходимо наличие в проекте установленной, вышеупомянутой, библиотеки 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();
}
}
Данная структура самая оптимальная для использования фреймвока. Глобализация компонентов необходима для более легкой видимости. К примеру, это пригодится при установки событийных методов или процедур.
Изначально фреймворк имеет базовые классы из которых состоит основа каждого элемента.
Базовые классы:
- PositionSize - класс, передающий свойства размера и позиции элемента.
- IsIn - передает методы, определяющие нахождение курсора относительно элемета.
- isEnabled - доступность элемента.
- Visible - видимость элемента.
- Checked - "включенность" элемента.
- ActiveColor - цвета состояний.
- RenderWindowElement - передает поля и методы необходимые для работы с окнами.
- Caption - поля и свойства для изменения надписей элемента.
- Background - поля и свойства для изменения тела или заднего фона элемента.
- Click - класс, используемый для определния нажатия на элемент.
Фремворк имеет следующие элементы управления, которые основаны на базовых классах:
- Label - простая надпись.
- CaptionButton - кнопка с надписью.
- CheckBox - переключатель с меткой.
- RadioButton - переключатель между несколькими подобными элементами.
- RadioButtonContainer - контейнер для переключателей RadioButton.
- TextBox - поле ввода текста.
- ProgressBar - полоса отображения выполненного прогресса в процентах.
Класс предназначен для добавления позиции и размеров. После изменения одного из параметров (к примеру размера) будет вызвана соответствующая процедура:
- изменение позиции -
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() Возвращает текущий размер элемента. |
Класс предназначен для определение позции курсора относительно элемента.
- Является дочерним классом класса
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() Возвращает текущий размер элемента. |
Класс, котрый указывает доступность элемента и изменение этого свойства.
Тип | Метод / Поле |
---|---|
bool |
is_enabled = true Поле доступности элемента. |
Тип | Метод / Поле |
---|---|
bool |
isEnabled() Возвращает значение true или false в зависимости от того, доступен элемент или нет. |
void |
enable() Устанавливет полю is_enabled значение true . |
void |
unable() Устанавливет полю is_enabled значение false . |
Устанавливает видимость элемента.
Тип | Метод / Поле |
---|---|
bool |
is_visible = true Поле видимости элемента. |
Тип | Метод / Поле |
---|---|
bool |
isVisible() Возвращает значение true или false в зависимости от того, видим элемент или нет. |
void |
visible() Устанавливет полю is_visible значение true . |
void |
invisible() Устанавливет полю is_visible значение false . |
Добавляет информации об отмеченности элемента (отмечен он или нет, к примеру, меткой).
- Имеет дружественный класс
RadioButtonContainer
.
Тип | Метод / Поле |
---|---|
bool |
is_checked = false Поле отмеченности элемента. |
Тип | Метод / Поле |
---|---|
bool |
isChecked озвращает значение true или false в зависимости от того, отмечен элемент или нет. |
void |
checked() Устанавливет полю is_checked значение true . |
void |
unchecked() Устанавливет полю is_checked значение false . |
Добавлет 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 цвет наведенного состояния. |
Добавляет поля и методы для привязки элемента к определенному окну.
Тип | Метод / Поле |
---|---|
sf::RenderWindow* |
window = NULL Поле, хранящее в себе указатель на окно, к кторому привязан элемент. |
Тип | Метод / Поле |
---|---|
sf::RenderWindow* |
getWindow() Возвращает указатель на на окно, к кторому привязан элемент. |
void |
setWindow(sf::RenderWindow &window) Устанавливет связь между окном и элементом. Параметры: sf::RenderWindow &window окно, к которому следует привязать элемент. |
Добавляет элементу надпись. Надпись имеет таже настройки отображения. К примеру какой шрифт будет использован и какого цвета. После каждого изменения надписи вызываеся соответвующая процедура 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_update()
.
Тип | Метод / Поле |
---|---|
sf::RectangleShape |
background Поле, хранящее в себе геометрическую фигуру фона элемента. |
virtual void |
background_update() = 0 Метод, который вызвается после каждого изменения фона. Параметры: тип имя описание. |
Тип | Метод / Поле |
---|---|
void |
setBorderSize(float size) Метод, который изменяет размер рамки. Параметры: float size размер рамки фона. |
void |
setBackgroundColor(sf::Color color) Метод, который изменяет цвет фона. Параметры: sf::Color color цвет фона. |
Добавляет к элементу возможность нажатия на него курсором мыши.
- Является производным классом
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(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(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 |
На элемент было произведено нажатие |
Предназначен для создания переключателя, имеющего два состояния Checked
и Unchecked
.
Тип | Метод / Поле |
---|---|
Конструктор |
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 |
Метка была снята |
Элемент схож с CheckBox (предназначен для создания переключателя, имеющего два состояния Checked
и Unchecked
), но зависит от других элементов, находящихся в контенере RadioButtonContainer
. А именно только один переключатель может быть включен в данном контейнере.
Тип | Метод / Поле |
---|---|
Конструктор |
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 |
Метка была снята |
Указатель на элементы RadioButton
, которые должны быть связаны между собой. Обеспечевает ограничение по включенным элементам (из всех добавленных только один элемент может находится в состоянии Checked
, остальные - Unchecked
).
Тип | Метод / Поле |
---|---|
void |
add(RadioButton &radio_button) Метод, добавляющий к связи элементы RadioButton . Параметры RadioButton &radio_button элемент, который нужно добавить к связи. |
void |
events(sf::Event &event) Обработчик событий привязанных элеметов. Параметры sf::Event &event переменная событий. |
void |
display() Отображение всех привязанных элеметов на тех окнах, которым был привязан соответствующий элемент. |
Предназначен для создания поле ввода для текста.
Тип | Метод / Поле |
---|---|
Конструктор |
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 |
Полоса отображающая прогресс в процентах. Имеет диапазон значений: 0% - 100%. Если будет установлено вне данного диапазона, то будет установлен один из порогов.
Тип | Метод / Поле |
---|---|
Конструктор |
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);