From bf420b8adfb4cc668ec7fe4198d2edfb22969d2c Mon Sep 17 00:00:00 2001 From: Frater <13979047+saintfrater@users.noreply.github.com> Date: Fri, 20 Feb 2026 16:46:54 +0100 Subject: [PATCH] fix transparence --- src/drivers/gfx_cgam.asm | 4 ++++ src/gui/lib-draw.asm | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/drivers/gfx_cgam.asm b/src/drivers/gfx_cgam.asm index b7754a0..21d2378 100644 --- a/src/drivers/gfx_cgam.asm +++ b/src/drivers/gfx_cgam.asm @@ -41,6 +41,10 @@ %define GFX_TXT_WHITE 00000010b %define GFX_TXT_BLACK 00000011b +%define GFX_TXT_TRANSPARENT_BKG 11111111b +%define GFX_TXT_TRANSPARENT_TEXT 00000010b + + %macro GFX 1-* ; %1 est l'index de la fonction ; On itère sur les arguments suivants en sens inverse (Convention C) diff --git a/src/gui/lib-draw.asm b/src/gui/lib-draw.asm index 7a37542..1dfaf0e 100644 --- a/src/gui/lib-draw.asm +++ b/src/gui/lib-draw.asm @@ -288,6 +288,7 @@ draw_button: je .paint_pressed cmp byte [gs:si + widget.state], GUI_STATE_HOVER je .paint_hover + GFX TXT_MODE, GFX_TXT_BLACK & GFX_TXT_TRANSPARENT_BKG .draw_default_style: ; Bordure extérieure épaisse (2px) @@ -313,7 +314,8 @@ draw_button: .paint_pressed: GFX RECTANGLE_FILL, ax, bx, cx, dx, PATTERN_BLACK, 15, 0 - GFX TXT_MODE, GFX_TXT_WHITE_TRANSPARENT + jmp .done + .done: ; on affiche le texte @@ -321,7 +323,6 @@ draw_button: mov ax, [gs:si + widget.x] mov bx, [gs:si + widget.y] - GFX TXT_MODE, GFX_TXT_BLACK_TRANSPARENT call draw_text ret @@ -500,8 +501,6 @@ draw_text: pop cx ; CX = X Final, BX = Y Final GFX GOTOXY, cx, bx - GFX TXT_MODE, GFX_TXT_WHITE & GFX_TXT_TRANSPARENT_BKG - mov dx, [gs:si + widget.text_seg] mov ax, [gs:si + widget.text_ofs] GFX WRITE, dx, ax