Commit Graph
66 Commits
Author SHA1 Message Date
Krish 34ecd753ad GRAPHICS: MACGUI: Implement submenu scrolling 2024-03-27 15:34:34 +01:00
Torbjörn Andersson d63ad4c2e3 GRAPHICS: MACGUI: Don't filter keypresses in processMenuShortCut()
This is already done in keyEvent(), which is the only place where
processMenuShortCut() is called. This allows using Alt-<key> as
shortcut, which is consistent with how the Mac emulators I've tried does
it.
2023-11-18 18:47:39 +01:00
Harishankar Kumar 76d1590ccc GRAPHICS: Implement smartmenu for macpopups
Smartmenu implementation using offsetY to displace popup such that the previous selected item will fall onto cursor, includes checked item and highlighted.

For `Popup Menu` in theapartment, without this patch the second popmenu was not remembering the last selected item and was opening it from scratch, after this patch popupmenu will open from the last selected item already selected with checkbox.
2023-05-28 13:50:18 +02:00
Harishankar Kumar fd5977b911 GRAPHICS: Add blinking animation when selecting item
Additional logic for drawing blinks when closing popup menu is added, closeMenu is overriden because it is called inside eventLoop and therefore need to be captured when closingMenu.

Add blinking animation support for macpopups, affects `Popup Menu` in theapartment, before this there was no animation when selecting item and the menu just used to immediately close, now however there is proper animation for item selection.
2023-05-28 13:50:18 +02:00
Harishankar Kumar e12d3053cc GRAPHICS: Implement macpopupmenu while reusing macmenu
Added functions for menu drawing/selections, this uses the base functions of macmenu to implement mac-styled popupmenu's, also return selected item index/text.

Used by 'Popup Menu' in theapartment: With this changes the popupmenu is working with both item selectors, doesn't implement the icon selector.
2023-05-28 13:50:18 +02:00
Harishankar Kumar 5bb6e06624 GRAPHICS: Expose internal macmenu structs for reusing in popmenu
Exposed MacMenuItem, MacMenuSubMenu, MacMenuItem and MacMenuData to headers and changed visibility of needed functions to protected.

These structs and functions is used in popupmenu for reusing macmenu code.
2023-05-28 13:50:18 +02:00
Avijeet 94efaeb278 GRAPHICS: MACGUI: Draw SubMenu over copy of game screen 2022-08-05 20:15:03 +02:00
Avijeet 154bcf414a GRAPHICS: MACGUI: Enable all menus in win95 mode 2022-07-31 18:33:22 +02:00
Avijeet 5e5dd3f399 GRAPHICS: MACGUI: Fix signed/unsigned mismatch 2022-07-31 18:33:22 +02:00
Avijeet c031566369 GRAPHICS: MACGUI: Add removeMenuItem 2022-07-31 18:33:22 +02:00
Avijeet 82688d5fb5 GRAPHICS: MACGUI: Add insertMenuItem 2022-07-31 18:33:22 +02:00
Avijeet 44f19d74be COMMON: MACGUI: Fix transparency artifacts in subMenu 2022-06-28 23:36:29 +02:00
Pragyansh Chaturvedi (r41k0u) d5485c7595 DIRECTOR: LINGO: Fix MacMenu::getName() to implement STUB kTheMenu 2022-06-22 00:55:14 +02:00
Pragyansh Chaturvedi (r41k0u) f83934e05b DIRECTOR: LINGO: Implement MENUREF Datum type and STUB for Menu, Menus, MenuItem and MenuItems [WIP] 2022-06-22 00:55:14 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh b531894158 GRAPHICS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:21 +02:00
ysj1173886760 99447ca832 GRAPHICS: MACGUI: implement getting member of menuItem 2021-07-30 15:43:00 +08:00
ysj1173886760 66fb967d56 GRAPHICS: MACGUI: support setting action id for macmenuItem 2021-07-29 19:48:42 +08:00
ysj1173886760 5ae035f4b5 GRAPHICS: MACGUI: implement overload version for the functions for setting menu attributes 2021-07-29 12:45:16 +08:00
ysj1173886760 7673cbcc86 GRAPHICS: MACGUI: implement setMenuItemName 2021-07-29 12:28:05 +08:00
ysj1173886760 53fd14b283 GRAPHICS: MACGUI: add functions for setting member checkMark and Enable of menuItem 2021-07-29 11:40:18 +08:00
ysj1173886760 091e49fb66 GRAPHICS: MACGUI: implement checked item for macmenu 2021-07-24 16:38:57 +08:00
ysj1173886760 60d9b79c0f GRAPHICS: MACGUI: add intersection check with macmenu and macwindow 2021-05-21 10:51:07 +02:00
Eugene Sandulenko d98473ba47 GRAPHICS: MACGUI: Use Win95 fonts for Win95 MacMenu 2021-05-01 01:49:47 +02:00
ysj1173886760 f81ea96421 GRAPHICS: MACGUI: clean the code, modify the behaviour of win95 menu 2021-04-25 02:24:15 +02:00
ysj1173886760 ba4513c10b GRAPHICS: MACGUI: organize the code 2021-04-25 02:24:15 +02:00
ysj1173886760 5d2a73fe01 GRAPHICS: MACGUI: add win95 mode for menu behaviour, currently in win95 mode, it will exit the menu only when you click something useful(trigger some event) 2021-04-25 02:24:15 +02:00
ysj1173886760 e459e5acf8 GRAPHICS: MACGUI: add win95 mode for menu padding 2021-04-25 02:24:15 +02:00
Eugene Sandulenko 838bdf1ba5 GRAPHICS: MACGUI: Fix warnings 2020-08-12 09:07:21 +02:00
Nathanael Gentry a639ae4002 GRAPHICS: MACGUI: Add WM direct copy mode
This does not keep the current screen state cached in a surface, but re-creates
the screen from its various components each time something changes. This avoids
an intermediate blitting.

The mode is enabled just by not providing a surface to the WM, and instead
providing a width and height.
2020-08-12 02:34:45 -04:00
Eugene Sandulenko 670ea3485f GRAPHICS: MACGUI: Extend setVisible() method to allow proper overloading 2020-07-10 10:06:11 +02:00
BLooperZ a92864c8c1 GRAPHICS: MACGUI: allow setting widget alignment 2020-05-12 14:36:09 +02:00
BLooperZ 625241e3b4 GRAPHICS: MACGUI: flip layout on RTL 2020-05-12 14:36:09 +02:00
Eugene Sandulenko 7a4d5f45e9 GRAPHICS: MACGUI: Renamed clashing methods 2020-04-25 13:44:18 +02:00
Eugene Sandulenko 2fb21ba90a GRAPHICS: MACGUI: Split drawing and blitting operations for widgets 2020-04-14 00:42:39 +02:00
Eugene Sandulenko 9b3ca6498e GRAPHICS: MACGUI: Adding style to menu items 2020-02-07 19:21:47 +01:00
Cameron Cawley 948c555ea6 ALL: Create all instances of NEResources and PEResources using new instead of on the stack
Also adapted WinCursorGroup and MacMenu to reflect this.
2020-01-11 17:34:12 +02:00
Eugene Sandulenko 8c0590be77 GRAPHICS: MACGUI: Initial code for truly modal MacMenu 2019-12-16 11:23:06 +01:00
Eugene Sandulenko 98b14a36ad GRAPHICS: MACGUI: Added setup sanity checks to MacMenu 2019-12-11 12:00:16 +01:00
Eugene Sandulenko df93f8a658 GRAPHICS: MACGUI: Process tab symbol in Windows menus 2019-10-13 23:48:42 +02:00
Eugene Sandulenko 35773e76b9 GRAPHICS: MACGUI: Unify MacMenuItem and MacMenuSubItem 2019-10-04 15:54:48 +02:00
Eugene Sandulenko d3df14fce1 GRAPHICS: MACGUI: Finish implementation for nested submenus drawing 2019-10-03 00:05:12 +02:00
Eugene Sandulenko b157a27e2b GRAPHICS: MACGUI: Unify submenu dimension calculations 2019-10-03 00:05:12 +02:00
Eugene Sandulenko 1ced332fde GRAPHICS: MACGUI: Render nested submenus 2019-10-03 00:05:12 +02:00
Eugene Sandulenko 6dee083352 GRAPHICS: MACGUI: Added debug printout for MacMenu 2019-10-02 12:41:45 +02:00
Eugene Sandulenko a49fd0dd5e GRAPHICS: MACGUI: Read nested submenus from PE exes 2019-10-02 12:40:57 +02:00
Eugene Sandulenko cf6e509cc9 GRAPHICS: MACGUI: Render submenus recursively 2019-10-02 01:09:49 +02:00
Eugene Sandulenko ff32309261 GRAPHICS: MACGUI: Change notion of bbox computation to submenus 2019-10-02 00:31:48 +02:00
Eugene Sandulenko da01e83906 GRAPHICS: MACGUI: Further work on nested submenus 2019-10-01 02:05:56 +02:00
Eugene Sandulenko 8357725bc2 GRAPHICS: MACGUI: Code for drawing nested submenu arrows 2019-10-01 00:58:16 +02:00