Bastien Bouclet
1d764bd787
GRAPHICS: Vector renderer clipping rect related cleanups
...
Selecting whether a clipping variant of a draw call needs to be used is
no longer the responsibility to the caller. The clipping rect is now
part of the state of the renderer.
Also fix some of the draw calls to better apply the clipping rect.
2019-10-07 21:47:42 +02:00
D G Turner
d78459f8bc
GUI: Fix GCC Compiler Warnings in GUI Theme Parser Code
...
This removes the usage of memset to clear complex structures and replaces
them with constructor methods for the structures which will be executed
when these are instantiated.
2019-08-17 05:03:04 +01:00
Le Philousophe
3a7219fa57
JANITORIAL: Avoid C4121 warnings in MSVC by reordering fields
...
C4121 is about 'symbol': alignment of a member was sensitive to packing
2019-06-30 21:43:58 +03:00
Adrian Frühwirth
3747d852ee
JANITORIAL: Fix whitespace
2018-04-15 16:31:31 +02:00
Bastien Bouclet
4d0bb753e4
GUI: Remove the ThemeItem draw queues
...
Drawing nows happens directly when the Dialog or Widget draw methods are
called. This makes it easy to debug why a particular low level draw
method was called, by inspecting the call stack.
This replaces the notion of "buffering" by two independant ways to
control what is drawn and where:
- The active layer is used to select whether the foreground or
background part of the dialogs are rendered by the draw calls.
- The active surface is used to select if the draw calls affect the back
buffer or the screen.
The foreground layer of the active dialog is drawn directly to the
screen. Its background layer is drawn to the back buffer. This way
widgets can restore the back buffer in order to update without having to
redraw the dialog's background.
Dialogs lower in the dialog stack are drawn entirely to the back buffer.
2018-03-12 11:46:04 +01:00
Eugene Sandulenko
6524a8d103
GUI: Added transparency to PicWidgets
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
c6e04845cc
GUI: Switched GUI to draw on TransparentSurface
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
94bc75ae46
GUI: Implemented centering of dialog background
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
75f9b099dc
GUI: Added possibility to specify scale mode for AlphaBitmaps
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
38114eb760
GUI: Plug NinePatch bitmaps into parser
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
ec7312ac13
GUI: Implemented more modes to autoscale
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
4474ccf814
GUI: Implemented alphabitmap autoscale
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
53a42ececf
GUI: Added new alphabitmap image type
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6fd6043391
GUI: Fix blitAlphaBitmapClip()
2016-07-03 12:24:11 +02:00
Alexander Tkachev
916c86e689
GUI: Add blitAlphaBitmapClip()
2016-07-03 12:23:41 +02:00
Alexander Tkachev
e636894b06
GUI: Add fillSurfaceClip()
2016-07-03 12:23:12 +02:00
Alexander Tkachev
a39a6533c4
GUI: Add drawCrossClip()
2016-07-03 12:22:41 +02:00
Alexander Tkachev
0dcd29e998
GUI: Fix drawRoundedSquareClip()
2016-07-03 12:22:26 +02:00
Alexander Tkachev
80412a4139
GUI: Add drawTabClip()
2016-07-03 12:22:10 +02:00
Alexander Tkachev
ee00156d54
GUI: Add drawBeveledSquareClip()
2016-07-03 12:21:55 +02:00
Alexander Tkachev
05383532b7
GUI: Add drawLineClip()
2016-07-03 12:21:40 +02:00
Alexander Tkachev
2231de040f
GUI: Add drawCircle()
2016-07-03 12:21:24 +02:00
Alexander Tkachev
f22d11953d
GUI: Add drawSquareClip()
2016-07-03 12:21:09 +02:00
Alexander Tkachev
559ca37daf
GUI: Add VectorRendererSpec::drawTriangleClip()
2016-07-03 12:20:37 +02:00
Alexander Tkachev
3d2730a0dd
GUI: clippingRect propagated deeper
2016-07-03 12:15:51 +02:00
Alexander Tkachev
d7278cc48b
GUI: Prepare button to be clipped
2016-07-03 12:14:45 +02:00
Filippos Karapetis
614de0d761
GRAPHICS: Remove trailing whitespace
2014-10-28 15:38:50 +02:00
Einar Johan Trøan Sømåen
0593c2eab2
GRAPHICS: Fix some Doxygen comments that seem wrong.
2014-08-29 03:26:48 +02:00
Narek Mailian
5c00dbbd2a
GRAPHICS: Add support for Soft Shadows with rounded squares
2013-08-16 20:54:08 +02:00
Narek Mailian
887a99e211
GRAPHICS: Added changes and improved code from inisider/scummvm (partial text)
...
Includes code from https://github.com/inisider/scummvm/ , which has been
squashed and bugfixed
2013-08-16 20:54:08 +02:00
Johannes Schickel
5111746911
GRAPHICS: Take advantage of Surface::getPixels.
2013-08-03 04:02:49 +02:00
Johannes Schickel
affb7c3cb3
GRAPHICS: Prefer getBasePtr over direct Surface::pixels access.
2013-08-03 02:52:34 +02:00
Johannes Schickel
89abab97e3
JANITORIAL: Remove trailing whitespaces.
...
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Eugene Sandulenko
1dbc41d411
GUI: Move _gradientBytes to VectorRendererSpec
2011-12-10 11:51:10 +00:00
MaximRussia
ad4471f70c
GUI: Improved pop up and scrollbar arrows look
...
Previous triangle drawing was all wrong, rewrote it from the scratch.
Added padding to drawsteps in stx files
2011-12-07 14:04:10 +00:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2
JANITORIAL: Reduce header dependencies in shared code
...
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
f242266f6d
Change a couple places from 'end of namespace' to 'End of namespace', for consistency
...
svn-id: r44634
2009-10-04 21:26:33 +00:00
Max Horn
a882a6f467
GUI: Replaced ThemeParser::_drawFunction hashmap by a static function getDrawingFunctionCallback which maps strings to draw funcs
...
svn-id: r41931
2009-06-28 19:57:27 +00:00
Johannes Schickel
b8d2c41cdd
Remove VECTOR_RENDERER_FORMAT check and related documentation.
...
svn-id: r38405
2009-02-17 12:20:40 +00:00
Max Horn
a351648358
Rewrote VectorRendererSpec & VectorRendererAA to use a Graphics::PixelFormat, instead of relying on color masks -> should fix bug #2537212 , possibly at a slow down on low-end systems (a regression which we certainly could resolve, though). Note: I left the PixelType template param in on purpose, in case we want one day to compile in both 16 and 32 bit pixel support simultaneously
...
svn-id: r36288
2009-02-13 00:03:13 +00:00
Max Horn
e354c4b4f2
Got rid of VectorRenderer::surfacePitch() & VectorRenderer::bytesPerPixel(): the latter was not used, for the former it is silly to go through a virtual method to compute that value; all in all, this code performs too many unnecessary divisions ;)
...
svn-id: r36151
2009-01-30 16:18:58 +00:00
Max Horn
f465abb75d
Removed unused area convolution code from VectorRenderer
...
svn-id: r36148
2009-01-30 15:43:45 +00:00
Jordi Vilalta Prat
b1999a2a16
Fixed indentation and removed whitespaces at the end of line
...
svn-id: r35481
2008-12-22 11:22:15 +00:00
Max Horn
c0f82d3518
Renamed Graphics::TextAlignment -> Graphics::TextAlign and merged it with GUI::ThemeEngine::TextAlignVertical
...
svn-id: r35023
2008-11-12 14:30:16 +00:00
Vicent Marti
b98f89c7f0
Merged GUI::Theme and Gui::ThemeEngine into the same class, GUI::ThemeEngine.
...
Massive cleanup.
svn-id: r34983
2008-11-10 11:24:55 +00:00
Nicola Mettifogo
33b6bc4215
Reordered initialization lists to kill a ton of warnings.
...
svn-id: r34892
2008-11-04 05:29:53 +00:00
Johannes Schickel
d8a76a6b59
Typo.
...
svn-id: r34866
2008-10-29 20:05:59 +00:00
Johannes Schickel
ebcb486191
Enable gui renderer for all bit depths we support currently.
...
svn-id: r34865
2008-10-29 20:02:56 +00:00
Johannes Schickel
98b0c4b33c
Committed my patch from -devel, which reintroduces DISABLE_FANCY_THEMES to strip functionallity in theme renderer uneeded by small devices.
...
svn-id: r34864
2008-10-29 19:48:15 +00:00