Commit Graph
923 Commits
Author SHA1 Message Date
Nathanael Gentry 281c89f05f GRAPHICS: MACGUI: Process windowed widget events
This ensures the correct dimensions are passed to ensure widgets within windows
process their events properly.
2020-08-13 00:05:32 -04: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
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
Nathanael Gentry 59dd1716b1 GRAPHICS: MACGUI: Put pause token on heap 2020-08-12 02:34:24 -04:00
Nathanael Gentry 07166de33f GRAPHICS: MACGUI: Add dirty rect handling to MacWindow
The Director engine, which relied on this functionality in its Window class, is
also updated.
2020-08-12 02:34:24 -04:00
Eugene Sandulenko 8432933c04 GRAPHICS: MACGUI: Fixed moving cursor back to previous line in MacText 2020-08-09 00:20:55 +02:00
Eugene Sandulenko 5b30501f18 GRAPHICS: MACGUI: Make cursor up/down movement more logical in MacText 2020-08-09 00:20:55 +02:00
Eugene Sandulenko 16d7359498 GRAPHICS: MACGUI: Make cursor height variable in MacText 2020-08-09 00:20:55 +02:00
Eugene Sandulenko e8aa105779 GRAPHICS: MACGUI: Make sure we always undraw cursor 2020-08-08 11:24:34 +02:00
Eugene Sandulenko ffed05f498 GRAPHICS: MACGUI: Clear surface before full refresh 2020-08-08 11:04:42 +02:00
djsrv 1678c7621e GRAPHICS: MACGUI: Fix inactive title color 2020-08-07 19:00:07 -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 92abe49c5b GRAPHICS: MACGUI: Resize border surface 2020-08-07 15:21:39 -04:00
djsrv 1352ab6f9f GRAPHICS: MACGUI: Don't draw title on thin border 2020-08-07 13:45:55 -04:00
djsrv 8bc5e73d0a DIRECTOR: LINGO: Properly implement titleVisible 2020-08-07 13:40:52 -04:00
Eugene Sandulenko 09c12a820a GRAPHICS: MACGUI: Make sure MacText is updated on cursor change 2020-08-07 10:07:32 +02:00
Eugene Sandulenko 2c4de514a5 GRAPHICS: MACGUI: Remove unused variable 2020-08-07 09:45:26 +02:00
djsrv 686bc49050 GRAPHICS: MACGUI: Full refresh on dims changes
The desktop needs to be redrawn.
2020-08-06 18:55:13 -04:00
djsrv 570e33cc8a GRAPHICS: MACGUI: Draw bitmap desktop background 2020-08-06 18:32:08 -04:00
djsrv 752833ff39 GRAPHICS: MACGUI: Set _borderIsDirty on change 2020-08-06 14:45:27 -04:00
djsrv f5d1858da9 GRAPHICS: MACGUI: Allow border to be changed 2020-08-06 14:29:24 -04:00
djsrv 85b2770d7f GRAPHICS: MACGUI: Fix inactive window coloring 2020-08-06 13:21:44 -04:00
Nathanael Gentry fba1993465 GRAPHICS: MACGUI: MacWindow: Add centering function 2020-08-06 12:50:25 -04:00
Eugene Sandulenko eb92e613be GRAPHICS: MACGUI: Fix warning 2020-08-06 12:24:54 +02:00
djsrv c29ccaa0bb GRAPHICS: MACGUI: Draw title on ninepatch borders 2020-08-05 19:20:14 -04:00
djsrv 74f0434d42 GRAPHICS: MACGUI: Add _colorOffWhite 2020-08-05 19:20:14 -04:00
djsrv 43f999d8a8 GRAPHICS: MACGUI: Fix mistakes in border defs 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 2f1736892a GRAPHICS: MACGUI: Properly update border dims 2020-07-31 16:38:37 -04:00
djsrv 6189a36d12 GRAPHICS: MACGUI: Add border types 2020-07-31 16:38:37 -04:00
djsrv 313f4bda00 GRAPHICS: MACGUI: Fix MacWindowBorder::hasOffsets 2020-07-31 16:38:37 -04:00
djsrv d4c825b089 GRAPHICS: Allow using Mac WM best color in 9patch 2020-07-31 16:38:37 -04:00
Nathanael Gentry 4c996feb5d GRAPHICS: MACGUI: MacText: Fix selection condition
Outside the while loop we only check pos > 0 once.
2020-07-31 01:08:56 -04:00
Nathanael Gentry 1ef07ff5dd GRAPHICS: MACGUI: MacText: Fix selection offsets
There is an additional "character" at the end of each line that we weren't
counting, which is what caused selection setting to get off.
2020-07-31 01:08:45 -04:00
Nathanael Gentry d9e2420e90 GRAPHICS: MACGUI: Fix warnings 2020-07-30 13:54:11 -04:00
Nathanael Gentry 4907aae05e GRAPHICS: MACGUI: MacText: Add selection index getter 2020-07-30 13:54:11 -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
djsrv 1f48c98b7b GRAPHICS: MACGUI: Refesh WM on set window visible 2020-07-24 14:32:54 -04:00
djsrv d7b1d27ccd GRAPHICS: MACGUI: Add title functions 2020-07-24 00:32:02 -04:00
Nathanael Gentry a7426c2872 GRAPHICS: MACGUI: Eliminate window composition surface
Now there is just the composeSurface from the widget. This fixes a bug where the
inner window contents would be blitted with transparency and also eliminates a
redundant copying. Now the border and inner surfaces are composed together on demand.
2020-07-21 14:48:27 -04: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
Eugene Sandulenko fff4cc4fe1 GRAPHICS: MACGUI: Properly draw re-activated MacText 2020-07-19 15:43:45 +02:00
Eugene Sandulenko 575d79b1d4 GRAPHICS: MACGUI: Do not draw selection on non-active MacText 2020-07-19 15:43:45 +02:00
Eugene Sandulenko af7c9ab14f GRAPHICS: MACGUI: Implement API for setting selection in MacText 2020-07-19 15:43:45 +02:00
Nathanael Gentry 79acd63dc0 GRAPHICS: MACGUI: Generalize WM cursor handling 2020-07-18 00:37:57 -04:00
Eugene Sandulenko fe3ddd12a2 GRAPHICS: MACGUI: Initial code for marking whole text 2020-07-18 00:46:16 +02:00