Commit Graph
113 Commits
Author SHA1 Message Date
Nathanael Gentry d2a1102423 GRAPHICS: MACGUI: Fix screen copying with direct draw 2020-08-19 16:59:18 -04:00
Eugene Sandulenko 367dd5ff66 GRAPHICS: MACGUI: More fixed for 32bpp mode 2020-08-16 23:08:33 +02:00
Eugene Sandulenko f05d2f17c2 GRAPHICS: MACGUI: Made MacDrawPixPtr a global typedef 2020-08-16 00:59:05 +02:00
Eugene Sandulenko 695e8349fe GRAPHICS: MACGUI: BE-safe color creation 2020-08-16 00:59:05 +02:00
Eugene Sandulenko e604c97607 GRAPHICS: MACGUI: Made MacDrawPixel bpp-aware 2020-08-15 16:09:20 +02:00
Eugene Sandulenko 56fddcb965 GRAPHICS: MACGUI: Tidy up code 2020-08-15 14:50:27 +02:00
Eugene Sandulenko 6d72ebd1e2 GRAPHICS: MACGUI: Made MacButtons and desktop render in 32bpp 2020-08-15 14:50:26 +02:00
Eugene Sandulenko 29533d9c5e GRAPHICS: MACGUI: Fix typo in findBestColor 2020-08-15 14:50:26 +02:00
Eugene Sandulenko 659e3c72b8 GRAPHICS: MACGUI: Further work on 32bpp blitting 2020-08-14 23:54:16 +02:00
Nathanael Gentry b4c6ab24b0 GRAPHICS: MACGUI: Restore window border transparency 2020-08-13 21:24:52 -04:00
Eugene Sandulenko d61eeb9880 GRAPHICS: MACGUI: Added 32bpp mode form MacWindowManager 2020-08-14 01:10:32 +02:00
Nathanael Gentry 8b7f9d4ab2 GRAPHICS: MACGUI: Handle direct draw window offsets 2020-08-12 16:34:24 -04:00
Nathanael Gentry 3a69512fe1 GRAPHICS: MACGUI: Fix menu direct rendering 2020-08-12 16:34:24 -04: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
Nathanael Gentry 59dd1716b1 GRAPHICS: MACGUI: Put pause token on heap 2020-08-12 02:34:24 -04:00
djsrv a9346eea42 GRAPHICS: MACGUI: Improve grays naming 2020-08-07 18:55:17 -04:00
djsrv 61cfbdc469 GRAPHICS: MACGUI: Add more colors as properties
Finding the closets color in the current palette is necessary for
transparency in bitmap borders to work.
2020-08-07 16:47:19 -04:00
djsrv 570e33cc8a GRAPHICS: MACGUI: Draw bitmap desktop background 2020-08-06 18:32:08 -04:00
djsrv 74f0434d42 GRAPHICS: MACGUI: Add _colorOffWhite 2020-08-05 19:20:14 -04:00
Nathanael Gentry 6b2ed3c8ca GRAPHICS: MACGUI: Properly reset cursor visibility 2020-08-04 18:33:09 -04:00
djsrv 6189a36d12 GRAPHICS: MACGUI: Add border types 2020-07-31 16:38:37 -04:00
Scott Percival 4bfffc43a7 DIRECTOR: Move widgets from cast members to channels (#2372)
This change is required to support copies of the same cast member running in different channels.

* DIRECTOR: Move widget ownership from cast member to channel

* DIRECTOR: Cache cast dimensions from createWidget

* DIRECTOR: Add null checks for createWidget

* GRAPHICS: MACGUI: Clear active/hover WM references if the widget is destroyed

* DIRECTOR: LINGO: Re-add null check for kTheEditableText

* DIRECTOR: Avoid destroying widgets if the channel isn't dirty

* DIRECTOR: Fix dirty test

* DIRECTOR: Fix text field writeback

* DIRECTOR: Fix null cast check

* DIRECTOR: Add bbox as argument to createWidget

* DIRECTOR: Add setCast method to Channel

* DIRECTOR: Fix use-after-free in Channel::getMask

* DIRECTOR: Fix bounding box for Button sprites

* DIRECTOR: Cache widget dimensions in cast member

* DIRECTOR: Remove widget from channel if nextSprite is empty

* GRAPHICS: MACGUI: Fix MacText::splitString for empty string case

* DIRECTOR: Add null checks for movie and score in processEvents
2020-07-26 04:32:29 +00:00
Nathanael Gentry 4d2da628df GRAPHICS: MACGUI: Set WM cursor visible on cursor pop 2020-07-20 16:49:11 -04:00
Eugene Sandulenko 540fdb1de6 GRAPHICS: MACGUI: Initialize newly added class variables 2020-07-20 15:05:45 +02:00
Nathanael Gentry 79acd63dc0 GRAPHICS: MACGUI: Generalize WM cursor handling 2020-07-18 00:37:57 -04:00
Eugene Sandulenko 0654be0322 GRAPHICS: MACGUI: Implement hashing to findBestColor() 2020-07-17 14:19:22 +02:00
Nathanael Gentry dfd522bbe1 GRAPHICS: MACGUI: Reduce erroneous button activations 2020-07-16 10:31:51 -04:00
Nathanael Gentry e23c264873 GRAPHICS: MACGUI: Remove mouseDownWidget
The functionality I needed here can be implemented in the Director engine instead.
2020-07-16 09:59:05 -04:00
Nathanael Gentry d770b21094 GRAPHICS: MACGUI: Remove macInvertPixel callback
Instead, the addition to macDrawPixel is used instead.
2020-07-15 11:50:57 -04:00
Eugene Sandulenko 24695be687 GRAPHICS: MACGUI: Added sanity check 2020-07-13 11:41:54 +02:00
djsrv a7319b0df5 GRAPHICS: MACGUI: Fix window layering
If a window is redrawn, any windows on top of it need to be redrawn.
2020-07-09 16:29:42 -04:00
djsrv 3aaeced035 GRAPHICS: MACGUI: Allow windows to be hidden 2020-07-08 17:10:55 -04:00
Nathanael Gentry 2643e2f957 GRAPHICS: MACGUI: MacWindowManager: Optionally set custom patterns
The Director engine, which uses custom patterns, is also updated.
2020-06-29 09:07:05 -04:00
Nathanael Gentry a3f649c10d GRAPHICS: MACGUI: Add colour decomposer 2020-06-23 12:50:58 -04:00
Nathanael Gentry f8fa6ec649 GRAPHICS: MACGUI: Remove redundant conversion 2020-06-17 15:32:18 -04:00
Nathanael Gentry 01b2e97c6e GRAPHICS: MACGUI: Draw zoomBox with pixel inversion
The Director engine, which relies upon zoomBox, is also updated.
2020-06-16 08:48:21 -04:00
Nathanael Gentry 3b795ae07a GRAPHICS: MACGUI: Enable macDrawPixel to invert pixels 2020-06-16 08:48:21 -04:00
djsrv 51b37067ca GRAPHICS: MACGUI: Add removeMenu 2020-06-12 10:49:57 -04:00
Nathanael Gentry 033e025365 GRAPHICS: MACGUI: MacWindowManager: Deactivate widget when mouse leaves 2020-06-10 15:42:49 +02:00
Nathanael Gentry ecb0df0620 GRAPHICS: MACGUI: Ensure proper cursor change 2020-06-10 15:42:49 +02:00
Nathanael Gentry f099b6a073 GRAPHICS: MACGUI: Generalize pixel inversion plotproc 2020-06-10 15:42:49 +02:00
Eugene Sandulenko 37744bc7bf GRAPHICS: MACGUI: Properly fix double activation of menu 2020-06-10 15:37:51 +02:00
Andrei Prykhodko bb1ad3f357 MACGUI: don't activate menu if it is active 2020-06-04 23:45:19 +02:00
Nathanael Gentry 6cb1c92e23 GRAPHICS: MACGUI: Add fullscreen menu-on-demand mode 2020-06-01 19:00:27 +02:00
Eugene Sandulenko bad0e9e169 GRAPHICS: MACGUI: Properly take into account active widget for cursor selection 2020-05-23 16:29:21 +02:00
Henrik "Henke37" Andersson 8079dc8d72 MACGUI, PINK: Rename setEnginePauseCallback to setEngine 2020-05-10 23:39:31 +02:00
Henrik "Henke37" Andersson d315fc8add MACGUI: Use real Engine and PauseToken classes 2020-05-10 23:39:31 +02:00
Cameron Cawley ef7edf95d1 GRAPHICS: MACGUI: Allow specifying a custom cursor using Graphics::Cursor 2020-05-09 09:40:38 +02:00
Eugene Sandulenko bfdc650d95 GRAPHICS: MACGUI: Unset previous active widget when setting the new one 2020-05-01 00:49:58 +02:00
Eugene Sandulenko 7a4d5f45e9 GRAPHICS: MACGUI: Renamed clashing methods 2020-04-25 13:44:18 +02:00