aboutsummaryrefslogtreecommitdiff
path: root/src/gfx
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-09-27 17:03:06 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-11-01 16:26:16 +0100
commit980858186149651df5543b6fc99a4f7db0cdd089 (patch)
treed347200b0a562d84df505097651ad0642f207fdd /src/gfx
parent39f50e601d395bbd2d78d0147ac530b756da2fff (diff)
downloadjancity-980858186149651df5543b6fc99a4f7db0cdd089.tar.gz
WIP
Diffstat (limited to 'src/gfx')
-rw-r--r--src/gfx/inc/gfx.h4
-rw-r--r--src/gfx/ps1/src/env.c15
-rw-r--r--src/gfx/sdl-1.2/src/env.c17
-rw-r--r--src/gfx/sdl-1.2/src/sprite.c1
4 files changed, 30 insertions, 7 deletions
diff --git a/src/gfx/inc/gfx.h b/src/gfx/inc/gfx.h
index 9c4eccd..a6a16bc 100644
--- a/src/gfx/inc/gfx.h
+++ b/src/gfx/inc/gfx.h
@@ -13,8 +13,10 @@ extern "C"
int gfx_init(void);
int gfx_draw(void);
int gfx_toggle_fullscreen(void);
-bool gfx_toggle_fullscreen_available(void);
+int gfx_set_fullscreen(short w, short h);
+bool gfx_fullscreen_available(void);
bool gfx_fullscreen(void);
+int gfx_display_size(short *w, short *h);
void sprite_sort(struct sprite *s);
int sprite_clone(const struct sprite *src, struct sprite *dst);
void rect_init(struct rect *r);
diff --git a/src/gfx/ps1/src/env.c b/src/gfx/ps1/src/env.c
index 41f490e..a373b9c 100644
--- a/src/gfx/ps1/src/env.c
+++ b/src/gfx/ps1/src/env.c
@@ -38,7 +38,13 @@ int gfx_toggle_fullscreen(void)
return -1;
}
-bool gfx_toggle_fullscreen_available(void)
+int gfx_set_fullscreen(const short w, const short h)
+{
+ /* Not supported. */
+ return -1;
+}
+
+bool gfx_fullscreen_available(void)
{
return false;
}
@@ -48,6 +54,13 @@ bool gfx_fullscreen(void)
return true;
}
+int gfx_display_size(short *const w, short *const h)
+{
+ *w = SCREEN_W;
+ *h = SCREEN_H;
+ return 0;
+}
+
bool gfx_inside_drawenv(const short x, const short y, const short w,
const short h)
{
diff --git a/src/gfx/sdl-1.2/src/env.c b/src/gfx/sdl-1.2/src/env.c
index 27ed55d..4bd174a 100644
--- a/src/gfx/sdl-1.2/src/env.c
+++ b/src/gfx/sdl-1.2/src/env.c
@@ -102,6 +102,13 @@ SDL_Surface *gfx_screen(void)
return screen;
}
+int gfx_display_size(short *const w, short *const h)
+{
+ *w = display.w;
+ *h = display.h;
+ return 0;
+}
+
int gfx_init(void)
{
if (SDL_InitSubSystem(SDL_INIT_VIDEO))
@@ -157,13 +164,15 @@ int gfx_toggle_fullscreen(void)
const int w = fullscreen ? display.w : windowed.w;
const int h = fullscreen ? display.h : windowed.h;
- if ((resize_screen(w, h, fullscreen)))
- return -1;
+ return resize_screen(w, h, fullscreen);
+}
- return 0;
+int gfx_set_fullscreen(const short w, const short h)
+{
+ return resize_screen(display.w = w, display.h = h, fullscreen = true);
}
-bool gfx_toggle_fullscreen_available(void)
+bool gfx_fullscreen_available(void)
{
return true;
}
diff --git a/src/gfx/sdl-1.2/src/sprite.c b/src/gfx/sdl-1.2/src/sprite.c
index 4c1ecbc..011b2ec 100644
--- a/src/gfx/sdl-1.2/src/sprite.c
+++ b/src/gfx/sdl-1.2/src/sprite.c
@@ -37,7 +37,6 @@ int sprite_screen_resize_ev(struct sprite *const s)
int ret = -1;
SDL_Surface *const old = s->s, *const old_x = s->s_x;
- /* Magenta as transparent. */
if (s->transparent && (set_transparent(old) || set_transparent(old_x)))
goto end;
else if (!(s->s = SDL_DisplayFormat(old)))