From 65bfe5289ae5bcb4c1ea9bee97ebc619e1ecfc16 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Thu, 19 Sep 2019 19:58:38 +0200 Subject: [PATCH] added overlay touch buttons for door request dialog --- graphics/gfx_classic/Makefile | 1 + graphics/gfx_classic/RocksTouch.ilbm | Bin 0 -> 32512 bytes src/conf_gfx.c | 26 +++++++++++++ src/init.c | 3 ++ src/main.h | 5 +++ src/tools.c | 55 ++++++++++++++++++++------- 6 files changed, 76 insertions(+), 14 deletions(-) create mode 100644 graphics/gfx_classic/RocksTouch.ilbm diff --git a/graphics/gfx_classic/Makefile b/graphics/gfx_classic/Makefile index 558a63cd..d38d1b00 100644 --- a/graphics/gfx_classic/Makefile +++ b/graphics/gfx_classic/Makefile @@ -40,6 +40,7 @@ FILES = RocksBusy.$(EXT) \ RocksSP.$(EXT) \ RocksScreen.$(EXT) \ RocksToons.$(EXT) \ + RocksTouch.$(EXT) \ \ RocksCE.$(EXT) # dynamically generated from template diff --git a/graphics/gfx_classic/RocksTouch.ilbm b/graphics/gfx_classic/RocksTouch.ilbm new file mode 100644 index 0000000000000000000000000000000000000000..07d04a45475f19f471cf36ef746cee483a80c759 GIT binary patch literal 32512 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 int gd_y = gfx->src_y; int gd_xp = gfx->src_x + gfx->pressed_xoffset; @@ -5607,9 +5633,9 @@ void CreateToolButtons(void) int y = pos->y; int id = i; - if (global.use_envelope_request) + if (global.use_envelope_request && !is_touch_button) { - setRequestPosition(&dx, &dy, TRUE); + setRequestPosition(&base_x, &base_y, TRUE); // check if request buttons are outside of envelope and fix, if needed if (x < 0 || x + gfx->width > request.width || @@ -5656,8 +5682,8 @@ void CreateToolButtons(void) gi = CreateGadget(GDI_CUSTOM_ID, id, GDI_IMAGE_ID, graphic, GDI_INFO_TEXT, toolbutton_info[i].infotext, - GDI_X, dx + x, - GDI_Y, dy + y, + GDI_X, base_x + x, + GDI_Y, base_y + y, GDI_WIDTH, gfx->width, GDI_HEIGHT, gfx->height, GDI_TYPE, GD_TYPE_NORMAL_BUTTON, @@ -5669,6 +5695,7 @@ void CreateToolButtons(void) GDI_DECORATION_SIZE, pos->size, pos->size, GDI_DECORATION_SHIFTING, 1, 1, GDI_DIRECT_DRAW, FALSE, + GDI_OVERLAY_TOUCH_BUTTON, is_touch_button, GDI_EVENT_MASK, event_mask, GDI_CALLBACK_ACTION, HandleToolButtons, GDI_END); -- 2.34.1