From 085712437e7710a400a7ae79a342c6df6d93de38 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Tue, 10 Dec 2024 16:42:01 +0100 Subject: [PATCH] =?UTF-8?q?-=20[NEW]=20Durant=20l'execuci=C3=B3=20la=20fin?= =?UTF-8?q?estra=20de=20debug=20est=C3=A0=20dimmada=20-=20[NEW]=20La=20fin?= =?UTF-8?q?estra=20del=20spectrum=20mostra=20en=20el=20titol=20si=20est?= =?UTF-8?q?=C3=A0=20stoppada=20l'execuci=C3=B3=20-=20[FIX]=20Durante=20el?= =?UTF-8?q?=20debuguech=20la=20finestra=20del=20spectrum=20ara=20s'actuali?= =?UTF-8?q?tza?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- z80debug.cpp | 10 ++++++++++ zx_screen.cpp | 16 ++++++++++++++-- zx_screen.h | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/z80debug.cpp b/z80debug.cpp index fe59f05..fd1c675 100644 --- a/z80debug.cpp +++ b/z80debug.cpp @@ -153,6 +153,7 @@ namespace z80debug void stop() { + zxscreen::setTitle(" (stopped)"); pause(); is_debugging = true; show(); @@ -160,6 +161,7 @@ namespace z80debug } void cont() { + zxscreen::setTitle(""); is_debugging = is_paused = false; //hide(); refresh(); @@ -380,6 +382,14 @@ namespace z80debug ui::printtxt(strlen(console)+1,0, "\x7F", COLOR_WHITE); ui::printtxt(1,1, console_error, COLOR_RED); + if (!is_debugging) { + SDL_SetRenderDrawBlendMode(ren, SDL_BLENDMODE_BLEND); + SDL_SetRenderDrawColor(ren, 0, 0, 0, 128); + SDL_Rect rect {0,0,83*CHR_W, 34*CHR_H}; + SDL_GetWindowSize(win, &rect.w, &rect.h); + SDL_RenderFillRect(ren, &rect); + } + SDL_RenderPresent(ren); for (int i=0; i<65536; ++i) mem_modified[i] = false; diff --git a/zx_screen.cpp b/zx_screen.cpp index b1c0a58..60a6e1b 100644 --- a/zx_screen.cpp +++ b/zx_screen.cpp @@ -92,8 +92,12 @@ namespace zxscreen bool eventHandler(SDL_Event *e) { - if ((e->type==SDL_WINDOWEVENT) && (e->window.event==SDL_WINDOWEVENT_CLOSE)) { - return false; + if (e->type==SDL_WINDOWEVENT) { + if (e->window.event==SDL_WINDOWEVENT_CLOSE) { + return false; + } else if ((e->window.event==SDL_WINDOWEVENT_SHOWN) || (e->window.event==SDL_WINDOWEVENT_EXPOSED)) { + redraw(); + } } if (!z80debug::debugging()) { if (z80debug::paused()) { @@ -270,6 +274,14 @@ namespace zxscreen SDL_RenderPresent(ren); } + void setTitle(const char* title) + { + char tmp[256]; + strcpy(tmp, "ZX Spectrum Screen"); + strcat(tmp, title); + SDL_SetWindowTitle(win, tmp); + } + void setZoom(const int value) { if (value < 1) return; diff --git a/zx_screen.h b/zx_screen.h index 5b9c487..057b8b9 100644 --- a/zx_screen.h +++ b/zx_screen.h @@ -10,6 +10,7 @@ namespace zxscreen void fullrefresh(); void redraw(const bool present=true); void present(); + void setTitle(const char* title); void incZoom(); void decZoom();