Убраны комментарии лишние и улучшены модели
This commit is contained in:
@@ -27,7 +27,6 @@ pub fn init(allocator: Allocator, render_type: Type) CpuRenderEngine {
|
||||
}
|
||||
|
||||
pub fn exampleReset(self: *CpuRenderEngine) void {
|
||||
// Сгенерировать случайные цвета градиента
|
||||
var prng = std.Random.DefaultPrng.init(@intCast(std.time.microTimestamp()));
|
||||
const random = prng.random();
|
||||
self.gradient_start = Color.PMA{ .r = random.int(u8), .g = random.int(u8), .b = random.int(u8), .a = 255 };
|
||||
@@ -64,12 +63,12 @@ fn renderSquares(self: CpuRenderEngine, pixels: []Color.PMA, canvas_size: ImageS
|
||||
_ = self;
|
||||
|
||||
const colors = [_]Color.PMA{
|
||||
.{ .r = 255, .g = 0, .b = 0, .a = 255 }, // red
|
||||
.{ .r = 255, .g = 165, .b = 0, .a = 255 }, // orange
|
||||
.{ .r = 255, .g = 255, .b = 0, .a = 255 }, // yellow
|
||||
.{ .r = 0, .g = 255, .b = 0, .a = 255 }, // green
|
||||
.{ .r = 0, .g = 255, .b = 255, .a = 255 }, // cyan
|
||||
.{ .r = 0, .g = 0, .b = 255, .a = 255 }, // blue
|
||||
.{ .r = 255, .g = 0, .b = 0, .a = 255 },
|
||||
.{ .r = 255, .g = 165, .b = 0, .a = 255 },
|
||||
.{ .r = 255, .g = 255, .b = 0, .a = 255 },
|
||||
.{ .r = 0, .g = 255, .b = 0, .a = 255 },
|
||||
.{ .r = 0, .g = 255, .b = 255, .a = 255 },
|
||||
.{ .r = 0, .g = 0, .b = 255, .a = 255 },
|
||||
};
|
||||
|
||||
const squares_num = 5;
|
||||
@@ -106,7 +105,6 @@ fn renderSquares(self: CpuRenderEngine, pixels: []Color.PMA, canvas_size: ImageS
|
||||
const canvas_x = x + visible_rect.x;
|
||||
if (canvas_x >= canvas_size.w) continue;
|
||||
|
||||
// Check vertical line index
|
||||
var vertical_index: ?u32 = null;
|
||||
for (0..x_pos.len) |i| {
|
||||
if (canvas_x >= x_pos[i] and canvas_x < x_pos[i] + thikness) {
|
||||
@@ -115,7 +113,6 @@ fn renderSquares(self: CpuRenderEngine, pixels: []Color.PMA, canvas_size: ImageS
|
||||
}
|
||||
}
|
||||
|
||||
// Check horizontal line index
|
||||
var horizontal_index: ?u32 = null;
|
||||
for (0..y_pos.len) |i| {
|
||||
if (canvas_y >= y_pos[i] and canvas_y < y_pos[i] + thikness) {
|
||||
@@ -129,7 +126,6 @@ fn renderSquares(self: CpuRenderEngine, pixels: []Color.PMA, canvas_size: ImageS
|
||||
} else if (horizontal_index) |idx| {
|
||||
pixels[y * visible_rect.w + x] = colors[idx];
|
||||
} else {
|
||||
// Find square
|
||||
var square_x: u32 = 0;
|
||||
for (0..squares_num) |i| {
|
||||
if (canvas_x >= x_pos[i] + thikness and canvas_x < x_pos[i + 1]) {
|
||||
@@ -161,12 +157,9 @@ pub fn example(self: CpuRenderEngine, canvas_size: ImageSize, visible_rect: Imag
|
||||
const width = visible_rect.w;
|
||||
const height = visible_rect.h;
|
||||
|
||||
// Выделить буфер пиксельных данных
|
||||
const pixels = try self._allocator.alloc(Color.PMA, @as(usize, width) * height);
|
||||
defer self._allocator.free(pixels);
|
||||
|
||||
// std.debug.print("w={any}, fw={any};\th={any}, fh={any}\n", .{ width, full_w, height, full_h });
|
||||
|
||||
switch (self.type) {
|
||||
.Gradient => self.renderGradient(pixels, width, height, full_w, full_h, visible_rect),
|
||||
.Squares => self.renderSquares(pixels, canvas_size, visible_rect),
|
||||
|
||||
Reference in New Issue
Block a user