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
Eugene Sandulenko
b91cd981ef
GRPAHICS: Match new[] with proper delete[]
2020-07-27 12:15:11 +02: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
Cameron Cawley
453cc63c02
BACKENDS: Remove unneeded use of Graphics::createPixelFormat
2020-07-25 13:32:45 +02:00
Cameron Cawley
0a29fced6e
WII: Replace use of Graphics::ColorMasks
2020-07-25 13:32:45 +02:00
Cameron Cawley
80430b4756
GRAPHICS: Ensure that creating a ManagedSurface from another preserves the palette
2020-07-25 13:29:09 +02:00
Cameron Cawley
731596b5f7
GRAPHICS: Support converting between different palettes using ManagedSurface
2020-07-25 13:29:09 +02:00
Cameron Cawley
44e948a283
GRAPHICS: Support full alpha when blitting using masks in ManagedSurface
2020-07-25 13:29:09 +02: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
51c7e019d9
GRAPHICS: MacCursor: Make two virtual functions
...
This is for the Director engine, which has a cursor class inheriting from MacCursor.
2020-07-22 10:20:56 -04:00
Vladimir Serbinenko
49979f1665
GRAPHICS: Support 4-bit windows cursors
2020-07-22 00:06:36 +02: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
Cameron Cawley
352653b8a2
GRAPHICS: Add a function for scaling a standard Graphics::Surface
...
This also makes use of it in the SCI and Wintermute engines
2020-07-18 12:16:52 +02:00
Cameron Cawley
ff1474591f
GRAPHICS: Allow using scaleBlitBilinear using different pixel formats and pitches
2020-07-18 12:16:52 +02:00
Cameron Cawley
b2f2069fb0
GRAPHICS: Move code for bilinear scaling out of TransparentSurface
2020-07-18 12:16:52 +02:00
Cameron Cawley
42019d4252
GRAPHICS: Move code for nearest neighbour scaling out of TransparentSurface
2020-07-18 12:16:52 +02:00
Nathanael Gentry
79acd63dc0
GRAPHICS: MACGUI: Generalize WM cursor handling
2020-07-18 00:37:57 -04:00
Nathanael Gentry
0b6e441241
GRAPHICS: MacCursor: Change private to protected
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
Eugene Sandulenko
0654be0322
GRAPHICS: MACGUI: Implement hashing to findBestColor()
2020-07-17 14:19:22 +02:00
Nathanael Gentry
91409d2cc1
GRAPHICS: MACGUI: MacWidget: Handle priorities properly
2020-07-16 18:36:33 -04:00
Nathanael Gentry
a292aab351
GRAPHICS: MACGUI: Add missing window manager assignment
2020-07-16 18:36:24 -04:00
Eugene Sandulenko
ed76a70d58
GRAPHICS: MACGUI: Fix warning
2020-07-17 00:30:56 +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
296b42b2c0
GRAPHICS: MACGUI: Don't redundantly clear text surface
...
This fixes the issue in Director where text redrawing would overwrite the button
indication. Now, the changed-area clearance in MacText::render is the only
clearance of the text surface that occurs.
The contentIsDirty setting is removed from MacButton because this flag is
already reset in MacText::draw.
2020-07-16 00:27:37 -04:00
Eugene Sandulenko
a24a934a97
GRAPHICS: MACGUI: Fix warning
2020-07-15 23:31:10 +02: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
Nathanael Gentry
454be019ff
DIRECTOR: Remove maskSurface from MacWidget
2020-07-13 13:29:54 -04:00
Eugene Sandulenko
24695be687
GRAPHICS: MACGUI: Added sanity check
2020-07-13 11:41:54 +02:00
Eugene Sandulenko
670ea3485f
GRAPHICS: MACGUI: Extend setVisible() method to allow proper overloading
2020-07-10 10:06:11 +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
57bb4359ef
DIRECTOR: LINGO: Implement the visible of window
2020-07-09 00:54:31 -04:00
djsrv
94d8c49a84
DIRECTOR: LINGO: Properly init/destroy windows
2020-07-09 00:37:23 -04:00
djsrv
3aaeced035
GRAPHICS: MACGUI: Allow windows to be hidden
2020-07-08 17:10:55 -04:00
Nathanael Gentry
03ddc4dd4d
GRAPHICS: MACGUI: Standardize destructors for widget subclasses
2020-07-07 16:41:53 -04:00
Eugene Sandulenko
927825f6ac
GRAPHICS: MACGUI: Fix overridden method footprint
2020-07-07 12:17:18 +02:00
Nathanael Gentry
63071473af
Revert "GRAPHICS: MACGUI: Remove colour settings from base widget"
...
This reverts commit 39c4a0f524 .
2020-07-06 23:15:56 -04:00
Nathanael Gentry
39c4a0f524
GRAPHICS: MACGUI: Remove colour settings from base widget
...
The Director engine, for which I introduced this setting, has also been updated.
To account for different ink types, the background colour will be applied in the
blitting step, and each text chunk keeps its own palette information.
2020-07-06 23:06:04 -04:00
djsrv
d8725510b6
GRAPHICS: MACGUI: Don't draw border over contents
2020-07-06 13:12:55 -04:00