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