Everywhere: Set default ctx->opacity to -1

This commit is contained in:
Alec Murphy 2025-04-04 11:14:30 -04:00
parent a9c623685d
commit 3de382e6c5
2 changed files with 4 additions and 1 deletions

View file

@ -670,6 +670,7 @@ Context2D* NewContext2D(I64 width, I64 height,
ctx->width = width; ctx->width = width;
ctx->height = height; ctx->height = height;
ctx->fb = CAlloc((width * height) * bpp / 8); ctx->fb = CAlloc((width * height) * bpp / 8);
ctx->opacity = -1;
return @create_callable_context2d(ctx); return @create_callable_context2d(ctx);
} }
@ -819,7 +820,7 @@ U0 Blot2D(Context2D* dst, I64 x, I64 y, Context2D* src)
dst_col = Peek2D(dst, x + xx, y + yy); dst_col = Peek2D(dst, x + xx, y + yy);
alpha = src_col.u8[3] / 128; // FIXME: Alpha blending not working correctly. alpha = src_col.u8[3] / 128; // FIXME: Alpha blending not working correctly.
plot_col = Blend2D(alpha, dst_col, src_col); plot_col = Blend2D(alpha, dst_col, src_col);
if (src->opacity) { if (src->opacity > -1) {
plot_col.u8[3] = src->opacity; plot_col.u8[3] = src->opacity;
} }
Plot2D(dst, x + xx, y + yy, plot_col); Plot2D(dst, x + xx, y + yy, plot_col);
@ -1454,6 +1455,7 @@ U0 @graphics2d_init()
Graphics2D.fb->width = Display.width; Graphics2D.fb->width = Display.width;
Graphics2D.fb->height = Display.height; Graphics2D.fb->height = Display.height;
Graphics2D.fb->fb = Display.fb; Graphics2D.fb->fb = Display.fb;
Graphics2D.fb->opacity = -1;
Graphics2D.qwords = (Display.width * Display.height) / 2; Graphics2D.qwords = (Display.width * Display.height) / 2;
Fill2D(Graphics2D.fb, 0x0); Fill2D(Graphics2D.fb, 0x0);
} }

View file

@ -26,6 +26,7 @@ Context2D* @image_buffer_to_context2d(U8* buffer, I64 size)
ctx->width = x; ctx->width = x;
ctx->height = y; ctx->height = y;
ctx->fb = pixels; ctx->fb = pixels;
ctx->opacity = -1;
I64 i; I64 i;
for (i = 0; i < x * y; i++) { for (i = 0; i < x * y; i++) {
ctx->fb(U32*)[i] = @image_pixel_flip_rgb_bgr(ctx->fb(U32*)[i]); ctx->fb(U32*)[i] = @image_pixel_flip_rgb_bgr(ctx->fb(U32*)[i]);