/
Zamar_Terrier
/
TigorEngine
Обзор
Документация
Войти
/
Zamar_Terrier
/
TigorEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
includes/Objects/shape_object.h
81 строка
2 KB
Zamar_Terrier
Офигенное обновление движка
31 июл 2026, 21:03
Верифицирован
31 июл 2026, 21:03
1682686
Код
Авторство
О чём код?
#ifndef SHAPEOBJECT_H #define SHAPEOBJECT_H #include "gameObject2D.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Параметры линии */ typedef struct{ vec2 position; ///< Позиция начала линии vec2 direction; ///< Вектор направления линии float length; ///< Длина линии vec4 color; ///< Цвет линии } LineParams; /** * @brief Параметры квадрата */ typedef struct{ float size; ///< Размер квадрата vec4 color; ///< Цвет квадрата } QuadParams; /** * @brief Параметры круга */ typedef struct{ float radius; ///< Радиус круга int freq; ///< Частота (количество сегментов) vec4 color; ///< Цвет круга } CircleParams; /** * @brief Параметры многоугольника */ typedef struct{ vec2 *positions; ///< Массив вершин многоугольника uint32_t num_positions; ///< Количество вершин vec4 color; ///< Цвет многоугольника } ShapeParams; /** * @brief Типы объектов фигур */ typedef enum{ TIGOR_SHAPE_OBJECT_LINE, ///< Линия TIGOR_SHAPE_OBJECT_QUAD, ///< Квадрат TIGOR_SHAPE_OBJECT_CIRCLE, ///< Круг TIGOR_SHAPE_OBJECT_SHAPE ///< Многоугольник } ShapeType; /** * @brief Структура объекта фигуры * * Содержит базовый 2D объект и тип фигуры */ typedef struct{ GameObject2D go; ///< Базовый 2D объект для отрисовки uint32_t type; ///< Тип фигуры } ShapeObject; /** * @brief Инициализация многоугольного двумерного объекта * @param so Указатель на объект многоугольника * @param dParam Параметры для рендера * @param type Тип многоугольника * @param param Указатель на параметры многоугольника * @return 0 при успехе, код ошибки в противном случае */ int ShapeObjectInit(ShapeObject *so, DrawParam *dParam, ShapeType type, void *param); #ifdef __cplusplus } #endif #endif // SHAPEOBJECT_H