Commit Graph

80 Commits

Author SHA1 Message Date
Cameron Cawley
6c5c6f8140 GUI: Add a resolution property for layouts 2023-03-20 00:18:25 +01:00
Cameron Cawley
28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko
6ba2fb9f3b
GUI: Fixed crash in 640x400 theme. Bumped theme version.
This is made by allowing widgets to be skipped for certain resolutions.
In this particlar case, the new layour switcher buttons were not
fitting by height on 640x400 theme, so we now reduce spacing
between the action buttons.
2021-11-21 20:00:08 +01:00
Eugene Sandulenko
2839715a45 GUI: Remove TransparentSurface remnants aka alphabitmaps from themes 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
3021f34060 GUI: Add support for specified dimensions for bitmaps in theme file
When we are using SVG, there is no reliable way to get the proper
dimensions. The original code was relying on the dimensions of
the BMP file, and then was using those for understanding the
rendering positions e.g. for PicButtons.
2021-04-11 21:21:44 +02:00
Eugene Sandulenko
55ae2e4367 GUI: Added SVG support to theme parser 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
982e500660 GUI: Added 'scalable' parameter to theme variables 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
b29f457548 GUI: Scale theme on loading 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
a0d4162a2b GUI: Compute base scale factor and set it for ThemeParser 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
93791189fa GUI: Relaxed property requirement in <font> key.
<language> now inherits values from <font>, thus, any could be missing
2020-09-17 02:27:15 +02:00
Eugene Sandulenko
65e38680dd GUI: Added XML theme setting for overriding the fonts depending on the selected language.
- Added Japanese, Korean and Traditional Chinese fonts to fonts.dat
- Bumped fonts.dat file version to 1.4
- Bumped theme version to 0.8.39
- Regenerated built-in theme
2020-09-17 02:00:33 +02:00
aryanrawlani28
08f5efd23e GUI: RTL: Add rtl flag and helper function to widget 2020-06-22 00:03:02 +02:00
Bastien Bouclet
8ae288c52f GUI: Allow defining layouts programmatically with a chaining syntax 2020-03-28 07:38:39 +01:00
Bastien Bouclet
94344ccf8e GUI: Allow providing an explicit size for screen_center dialogs
Without an explicit size the layout system does not have enough
constraints to produce nice looking dialogs. Up until now the workaround
was to set explicit an size for some of the widget. This worked well
enough except when resizing down the window up until the widget size
constraints could no longer be enforced. At that point, produced layouts
looked too squished.
2020-02-22 13:14:04 +02:00
Bastien Bouclet
c566d02992 GUI: Add override markers where appropriate 2020-01-19 15:08:37 +01:00
Bastien Bouclet
346d53b034 GUI: Add finer control over cross-direction alignment for layout items
Previously it was only possible to specify whether items where aligned
to the start or centered in the cross direction of the layouts. It is
now additionally possible to align the items to the far end of the cross
direction or to resize them to match the size of the layout.

Terminology and behavior are loosely based on CSS's flexbox containers.
2020-01-04 10:56:25 +01:00
Bastien Bouclet
2c812a6b7a GUI: Add DropdownButtonWidget and use it in the launcher for mass add
DropdownButtonWidget is a button split in two parts vertically. Clicking
the left part triggers a default action. Clicking the right part shows a
list of other actions the user can choose from.

Using this widget on the launcher lets 'Mass add' be a secondary action
of the 'Add' button, removing the necessity of pressing the shift key to
access the feature.
2019-11-24 14:06:25 +01: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
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
Johannes Schickel
a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Johannes Schickel
d21ae1aa40 GUI: Add support for loading TTF files with ISO-8859-1 charset. 2012-01-29 16:26:20 +01: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
Max Horn
92c896d883 Patch #2973290: Semicolon cleanup
svn-id: r48359
2010-03-22 20:28:08 +00:00
Johannes Schickel
d8b2baee97 Rename 'font_color' attribute for 'text' draw step to 'text_color'.
svn-id: r43206
2009-08-10 14:05:14 +00:00
Johannes Schickel
f812d0e7b7 Made font color configuration independend from font style configuration.
svn-id: r43205
2009-08-10 13:46:17 +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
Eugene Sandulenko
b0f7f2e8d4 Implement widget property "textalign". Added it to all theme layouts
svn-id: r41265
2009-06-06 17:51:41 +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
1ad8e59c12 minor tweaks
svn-id: r34961
2008-11-09 15:59:14 +00:00
Max Horn
f5b70114ca Removed many unnecessary #includes
svn-id: r34959
2008-11-09 15:14:01 +00:00
Max Horn
7cbd04dc23 Thou shalst never use the 'using' keyword in a header file, lest the wrath of ye fingolfin will crush your sorrow bones to dust... *grrr* ;)
svn-id: r34937
2008-11-08 01:34:02 +00:00
Max Horn
4a56e0d9c1 Merged ThemeEngine::themeEval() and ThemeEngine::evaluator() methods into a single getEvaluator() method
svn-id: r34789
2008-10-12 22:25:35 +00:00
Vicent Marti
dcc72fe29e Massive refactoring/cleanup on the theme engine/parser.
svn-id: r34285
2008-09-02 17:51:08 +00:00
Vicent Marti
784c1114cc Deprecated support for "direction" layout keys.
svn-id: r33904
2008-08-15 16:44:44 +00:00
Vicent Marti
8eaa982c41 Added Classic Theme - WIP (yes, it's working).
Added Builtin theme back.
Added Python script to automatically build themes.

svn-id: r33868
2008-08-14 18:43:27 +00:00
Vicent Marti
0bf2187039 Finished GUI layout in g1x.
svn-id: r33818
2008-08-13 10:42:01 +00:00
Vicent Marti
a4b3434af9 Bugfix: Selection background too short when scrollbar not present.
Bugfix: Vector renderer drawstep for bitmap blitting.
Added bitmap GFX for checkboxes.

svn-id: r33771
2008-08-10 22:03:00 +00:00
Vicent Marti
8a31616f46 Bitmap cursor loading from XML files.
svn-id: r33760
2008-08-10 17:22:12 +00:00
Vicent Marti
103a4f6681 Added support for image loading/blitting.
Added support for loading theme files.
(Make sure to grab the sample theme "scummodern.zip" from the gui/themes/ directory to try it out)
Misc fixes.

svn-id: r33718
2008-08-09 18:34:16 +00:00
Vicent Marti
ea69217a13 Fixed 1.000.000 Valgrind warnings.
svn-id: r33711
2008-08-09 14:15:34 +00:00
Vicent Marti
dab1fa0942 Resolution-dependence in XML files.
G1X scaler GUI now loads. Added layout for the launcher menu.
MILESTONE: All core GUI dialogs/widgets working on G2x/G3x
MILESTONE: Completely removed old Evaluator/Parser.
Improved layout expanding again.
Improved XML parser.
Several bugfixes.

svn-id: r33704
2008-08-08 18:30:16 +00:00
Vicent Marti
7c132d340a Misc text drawing improvements.
Added carets/text edit widgets.

svn-id: r33684
2008-08-07 18:42:47 +00:00
Vicent Marti
21989844a9 Game Options menu parsing.
Added support for importing layouts inside other layouts.
Misc bugfixes.

svn-id: r33676
2008-08-07 10:53:33 +00:00
Vicent Marti
8cb26074bd Added support for customized background dimming on dialogs.
Bugfix: Popup widgets were dimming the background.

svn-id: r33663
2008-08-06 15:06:22 +00:00
Vicent Marti
bd0cdd0f74 Cleanup on default theme.
Added support for Widget Type Declaration (makes XML much cleaner).

svn-id: r33661
2008-08-06 14:28:37 +00:00
Vicent Marti
4256c35791 Options menu layout parsing, featuring the brand new FATPOPUPS.
svn-id: r33651
2008-08-05 23:58:45 +00:00
Vicent Marti
eb3d163439 Look, the launcher is rendered with the new layout parser.
svn-id: r33641
2008-08-05 16:23:17 +00:00