feat: VESA rendering implementation & LVGL for graphics drawing #10

Merged
admin merged 42 commits from feature/lvgl into develop 2026-03-01 02:25:51 +00:00
Showing only changes of commit a7111d3cac - Show all commits
+16 -1
View File
@@ -22,7 +22,7 @@ unit video;
interface
uses
lmemorymanager, tracer, color, videotypes, hashmap, util;
lmemorymanager, tracer, color, videotypes, hashmap, util, texture;
procedure init();
procedure DrawPixel(X : uint32; Y : uint32; Pixel : TRGB32);
@@ -41,6 +41,8 @@ function backBufferWidth : uint32;
function backBufferHeight : uint32;
function backBufferBpp : uint8;
Procedure basicFDrawTexture(Buffer : PVideoBuffer; X : uint32; Y : uint32; Texture : PTexture);
implementation
Procedure dummyFDrawPixel(Buffer : PVideoBuffer; X : uint32; Y : uint32; Pixel : TRGB32);
@@ -70,6 +72,19 @@ begin
end;
end;
Procedure basicFDrawTexture(Buffer : PVideoBuffer; X : uint32; Y : uint32; Texture : PTexture);
var
i, j : uint32;
begin
//Draw texture to Buffer at x and y
for i:=0 to Texture^.Height - 1 do begin
for j:=0 to Texture^.Width - 1 do begin
DrawPixel(X + j, Y + i, Texture^.Pixels[(i * Texture^.Width) + j]);
end;
end;
end;
procedure basicFDrawLine(Buffer : PVideoBuffer; x1,y1,x2,y2 : uint32; thickness : uint32; Color : TRGB32);
var
X, Y, DX, DY, DX1, DY1, PX, PY, XE, YE, I : sint32;