117 Commits

Author SHA1 Message Date
Cameron Cawley a3fd645179 GRAPHICS: MACGUI: Support rendering with any 8/16/32bpp pixel format 2026-05-05 13:45:11 +02:00
dhruv 89765fe991 GRAPHICS: MACGUI: fix #16266 Wrong window priority. 2026-01-21 02:36:55 +03:00
Eugene Sandulenko 10c673c757 GRAPHICS: MACGUI: Avoid text flicker when scrolling MacTextWindow 2025-10-07 12:07:27 +02:00
Scott Percival bfad1db6be DIRECTOR: Remove multiple inheritance from Window class
Previously this was both a subclass of Object<Window> and MacWindow.
This could cause issues because the lifetime of both object types is not
the same; the MacWindow object is owned by the window manager, whereas
Object<Window> is managed with reference counting. To sort this out,
split the MacWindow object to be a pointer held by Window.
2025-10-03 01:00:34 +02:00
Eugene Sandulenko 1bb5f3d996 GRAPHICS: MACGUI: Invoke callback for moving/resizing windows 2025-09-28 00:17:36 +02:00
Eugene Sandulenko 37f0ef950d GRAPHICS: MACGUI: Invoke callback on activating/deactivating windows 2025-09-28 00:17:36 +02:00
Orgad Shaneh 050067294f MACGUI: Avoid needless copies of BorderOffsets 2025-08-17 00:25:43 +02:00
Alikhan Balpykov 3835bde895 GRAPHICS: MACGUI: Add offset fields for resize button 2025-08-14 23:38:27 +02:00
Alikhan Balpykov 665fefda79 GRAPHICS: MACGUI: Add offset fields for close button 2025-08-14 23:38:27 +02:00
Malhar ac6ed58737 GRAPHICS: MACGUI: Define custom copy constructor for MacWindow
To avoid using the deprecated copy constructor for `ManagedSurface`
MacWindow has a member `_borderSurface` of type ManagedSurface
2025-08-12 10:49:48 +03:00
Alikhan Balpykov 9f184bfad1 GRAPHICS: MACGUI: Fix borders stop being drawn when resizing 2025-08-09 21:11:29 +02:00
Scott Percival c79f84e787 GRAPHICS: MACGUI: Move scrollbar support into MacText 2025-04-19 18:22:48 +08:00
Cameron Cawley 8d9614ccd5 GRAPHICS: MACGUI: Extend the font ID enum 2024-12-09 23:24:23 +02:00
Cameron Cawley 35138892c2 GRAPHICS: MACGUI: Use a const pointer for MacPatterns arrays 2024-11-26 00:32:00 +01:00
Scott Percival a205480946 MACGUI: Fix getBorderFlags for titleless window types
Fixes rendering of game viewport in Zeddas: Servant of Sheol.
2024-11-11 20:40:06 +01:00
s-m33r b2851f8128 GRAPHICS: MACGUI: add _draggable property to BaseMacWindow 2024-03-25 21:22:56 +01:00
Nabeel Khan 5b10353a68 GUI: Implement Window border draggability 2024-03-14 18:59:16 +01:00
Cameron Cawley 6ee5aad258 GRAPHICS: Remove use of TransparentSurface in NinePatch code 2023-10-24 20:16:34 +02:00
Scott Percival 52fb94307c GRAPHICS: MACGUI: Add guardrails for MacWindow::updateInnerDims() 2023-10-22 17:19:54 +02:00
Harishankar Kumar f3a6c27df6 GRAPHICS: MACGUI: Add no-border scrollbar, Win95 Border Refactored
Win95 scrollbar loading is refactored to use existing `borders` array
in `datafiles.cpp`, Added no-border scrollbar for MacOS, Win95.

This is to support scrollable text cast members in Director, which
will be used by `totaldistortion-win` game.
--start-movie="ATD\HD\bbTWRFL2.DXR@392" totaldistortion-win
2023-08-03 09:49:20 +02:00
Harishankar Kumar dd72dd09ca DIRECTOR: Implement the titleVisible property of window
Modifies border of window by first changing title to "", then updating
window border to borderType 2 `ThinNoTitle`.

`titleVisible of window` to verify this behavior.

Co-authored-by: Pragyansh Chaturvedi <pragyanshchaturvedi18@gmail.com>
2023-06-01 20:17:23 +02:00
Harishankar Kumar 4f07e8dec4 GRAPHICS: MACGUI: Added support to change inner dimension of macwindow derived object
Added setInnerDimension which calls resize (with bool inner dimension change: true), moveto and finally updateOuterDimension.

This was implemented to match window rectangle size as used by window property `rect`, `rect of window` in `workshop` uses this.
2023-05-31 13:29:33 +02:00
Harishankar Kumar 23f1229e67 GRAPHICS: MACGUI: Refactor resize() to extract inner window resizing
resize function is extracted to new function resize and resizeInner,
also a new private function rebuildSurface is created to handle common
code of refreshing/rebuilding surface after modifying inner or outer
window dimensions.
2023-05-31 13:29:33 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Martin Gerhardy 37de1b3146 MACGUI: const for some methods 2021-09-19 15:21:56 +02:00
ysj1173886760 ecac522c7f GRAPHICS: MACGUI: make mactext can scrollable now 2021-06-03 13:19:10 +02:00
ysj1173886760 0176107051 GRAPHICS: MACGUI: add a check when we disabling the hoveredWidget 2021-06-03 13:19:10 +02:00
ysj1173886760 c84f16ca22 GRAPHICS: MACGUI: fix the coordinate calculating, bring the mactext selection work again 2021-06-03 13:19:10 +02:00
Eugene Sandulenko f1f031449b GRAPHICS: MACGUI: Expose another way of setting MacWindow borders 2021-05-26 12:00:28 +02:00
Eugene Sandulenko c60009da68 GRAPHICS: MACGUI: Initialized class variables 2021-05-01 01:49:48 +02:00
ysj1173886760 fb7ed6f845 GRAPHICS: MACGUI: add textRGB for mactextwindow to suit new logic of mactext when drawing the text with color. add window feature DynamicScrollbar 2021-04-25 02:24:15 +02:00
ysj1173886760 c317ca1900 GRAPHICS: MACGUI: load win95scrollbar border as default when enable win95 mode 2021-04-25 02:24:15 +02:00
ysj1173886760 3b47e56155 GRAPHICS: MACGUI: clean the codes 2021-04-12 14:04:25 +02:00
ysj1173886760 3b53a4f2f7 GRAPHICS: MACGUI: move titlePos into BorderOffsets 2021-04-12 14:04:25 +02:00
ysj1173886760 7f47b9f6c0 GRAPHICS: MACGUI: move border stuff into macwindowborder 2021-04-12 14:04:25 +02:00
ysj1173886760 c2353d3797 GRAPHICS: MACGUI: use lazy load to load built-in border types, add scrollbar flag to indicate whether the window has scroll bar 2021-04-12 14:04:25 +02:00
ysj1173886760 83341beddd GRAPHICS: MACGUI: modify the way that setBorderType set the border, currently, it will set all borders which is the subset of flag 2021-04-12 14:04:25 +02:00
ysj1173886760 a0964d690c GRAPHICS: MACGUI: Add border flags to the builtin border types, fix the remaining part of macgui which are not adapt to border flags. 2021-04-12 14:04:25 +02:00
ysj1173886760 858624c0c9 GRAPHICS: MACGUI: fix the bug of the border flag is not correctly initialized 2021-04-12 14:04:25 +02:00
ysj1173886760 6d7e794ed3 GRAPHICS: MACGUI: Add flag to indicate the border type, move drawTitle and drawScrollBar into macwindowborder 2021-04-12 14:04:25 +02:00
ysj1173886760 307147c565 GRAPHICS: MACGUI: use titlePos to calc titleIndex, change the titleWidth in 9-patch when title is changed 2021-04-12 14:04:25 +02:00
ysj1173886760 8894317e89 GRAPHICS: MACGUI: add titleIndex and titleWidth to macborder in order suit to 9-patch 2021-04-12 14:04:25 +02:00
Orgad Shaneh 49053f2b9b GRAPHICS: Remove unused const
Amends commit 0443d5a133.

Detected by Clang.
2021-04-10 15:29:08 +03:00
ysj1173886760 0dcde7c96a GRAPHICS: MACGUI: add new feature that when scroll wheel, the scroll bar will also display 2021-04-01 16:08:56 +02:00
ysj1173886760 1afc246a69 GRAPHICS: MACGUI: Added the callback function for drawing invert pixel for default palette, which is used to draw the scroll bar 2021-04-01 16:08:56 +02:00
ysj1173886760 aba96cb38f GRAPHICS: MACGUI: recalc the scrollSize and scrollPos, in order to fix scroll bar for mactextwindow 2021-04-01 16:08:56 +02:00
ysj1173886760 0443d5a133 GRAPHICS: MACGUI: remove drawSimpleBorder which draws the border manually 2021-04-01 16:08:56 +02:00
Eugene Sandulenko e604c97607 GRAPHICS: MACGUI: Made MacDrawPixel bpp-aware 2020-08-15 16:09:20 +02:00
Eugene Sandulenko 43c3407557 GRAPHICS: MACGUI: More work on making MacWindowBorder 32bpp-aware 2020-08-15 16:09:20 +02:00
Eugene Sandulenko ff49cb2303 GRAPHICS: MACGUI: Make pattern drawing 32bpp-aware 2020-08-15 14:50:27 +02:00