feat: Добавил толщину линий, унифицировал геометрию
Переименовал основные геометрические модели (Point, Size, Rect, Scale, Radii), явно разделив их на типы с плавающей точкой (_f) и целочисленные (_i). Обновил использование этих типов во всем проекте для улучшения типобезопасности и ясности. Ввел новое свойство thickness для объектов и реализовал его применение при отрисовке линий и ломаных. Добавил Point2_i для целочисленных координат буфера в конвейере отрисовки.
This commit is contained in:
@@ -1,37 +1,43 @@
|
||||
pub const ImageRect = struct {
|
||||
pub const Rect_i = struct {
|
||||
x: u32,
|
||||
y: u32,
|
||||
w: u32,
|
||||
h: u32,
|
||||
};
|
||||
|
||||
pub const ImageSize = struct {
|
||||
pub const Size_i = struct {
|
||||
w: u32,
|
||||
h: u32,
|
||||
};
|
||||
|
||||
pub const Size = struct {
|
||||
width: f32,
|
||||
height: f32,
|
||||
pub const Size_f = struct {
|
||||
w: f32,
|
||||
h: f32,
|
||||
};
|
||||
|
||||
pub const Point2 = struct {
|
||||
pub const Point2_f = struct {
|
||||
x: f32 = 0,
|
||||
y: f32 = 0,
|
||||
};
|
||||
|
||||
pub const Radii = struct {
|
||||
/// Целочисленная точка (например, координаты в буфере пикселей).
|
||||
pub const Point2_i = struct {
|
||||
x: i32 = 0,
|
||||
y: i32 = 0,
|
||||
};
|
||||
|
||||
pub const Radii_f = struct {
|
||||
x: f32,
|
||||
y: f32,
|
||||
};
|
||||
|
||||
pub const Scale2 = struct {
|
||||
pub const Scale2_f = struct {
|
||||
scale_x: f32 = 1,
|
||||
scale_y: f32 = 1,
|
||||
};
|
||||
|
||||
/// Прямоугольник в координатах документа (f32), например локальные границы объекта.
|
||||
pub const Rect = struct {
|
||||
pub const Rect_f = struct {
|
||||
x: f32 = 0,
|
||||
y: f32 = 0,
|
||||
w: f32 = 0,
|
||||
|
||||
Reference in New Issue
Block a user