Commit graph

130 commits

Author SHA1 Message Date
Bastien Bouclet
a5d93d933a GUI: Use a truetype font for the debug console 2019-05-05 08:52:12 +02:00
Thierry Crozat
e7ba15fa32 GUI: Add option to enable/disable using the system file browser 2018-12-16 15:58:44 +00:00
Thierry Crozat
182a87f81c GUI: Use ScrollContainer in graphics tab
This fixes bug #10634 - GUI: Options cutoff for Edit Game when
Graphics mode is x2 or less
2018-07-22 00:01:01 +01:00
Thierry Crozat
788574e751 GUI: Bump theme version
I meant to, but forgot, to do it when adding the stretch factor
to the Options dialog. Doing it now should prevent from using
older themes that do not have the position for this widget.
2018-07-13 07:58:10 +01:00
Bastien Bouclet
4d29ce21d0 GUI: Unify clip and non-clip draw calls 2018-04-19 19:18:39 +02:00
Bastien Bouclet
dcfac42bb3 GUI: Remove alpha bitmap support
It was never used since its introduction 4 years ago
It was not updated to work with the clipping rect
2018-04-19 19:13:12 +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
Willem Jan Palenstijn
5510640dbc GUI: Give each tab in TabWidget its own width
The width of each tab is now computed from its title, independently of
the other tabs. This increases the number of tabs that fit on the
screen.

This rewrite also fixes a bug where if the window size increased while
_firstVisibleTab > 0, some tabs would become inaccessible when the
scroll buttons were hidden.

The layout key Globals.TabWidget.Tab.Width is now treated as minimal
tab width. This is set so that the tabs fit reasonably well in lowres
layouts.

At the same time, this reduces the lowres scroll buttons heights to fit.

This patch makes the Nintento DS hacks in TabWidget obsolete.
(Hopefully! I'm not able to test.)
2017-02-28 15:55:52 +01:00
Thierry Crozat
59675d2e4c GUI: Add Apply button in global options dialog 2016-10-30 15:43:14 +00:00
Thierry Crozat
8b1bb08a6e GUI: Increase theme version
This should have been done when making changes to it but I forgot.
2016-10-21 21:33:53 +01:00
Alexander Tkachev
091ff83ed6 GUI: Add Storage providers logos
StorageWizardDialog now shows logo of the Storage being connected (in
modern highres theme).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c74ba4652d GUI: Add "Paste" button in StorageWizardDialog
It pastes clipboard contents as code into 8 fields of that dialog.
(Clipboard support works with SDL2 only.)

"Open URL" and "Paste" buttons are placed in the left column under the
picture (because there is no room for 4 buttons in the bottom row).

Commit also adds "dropbox.bmp", which is just a square 115x115 picture.
Such pictures are would be used as Storages logos in that dialog.

In lowres there is no left column, so all 4 buttons are in the same row.
None of them are visible, because they are overflowed. Container has to
be added to continue working on them.
2016-08-24 16:07:55 +06: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
1359255ea8 GUI: Added empty 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
f0c52096f3 GUI: Implemented possibility to use alphabitmaps in GraphicsWidget 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
3d636617d0 GUI: Use clipping everywhere 2016-07-03 12:24:46 +02:00
Alexander Tkachev
6fd6043391 GUI: Fix blitAlphaBitmapClip() 2016-07-03 12:24:11 +02:00
Alexander Tkachev
80412a4139 GUI: Add drawTabClip() 2016-07-03 12:22:10 +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
fca0f0ed34 GUI: Make PopUpWidget clip 2016-07-03 12:16:43 +02:00
Alexander Tkachev
d7278cc48b GUI: Prepare button to be clipped 2016-07-03 12:14:45 +02:00
Alexander Tkachev
08727857bc GUI: Use boss's x/y/w/h instead of clippingArea 2016-07-03 12:10:26 +02:00
Johannes Schickel
5a63ee5375 GUI: Use "button" instead of "btn" in variable names. 2016-01-24 03:41:29 +01:00
Johannes Schickel
83df1eb43b GUI: Only use image for delete when applicable in PredictiveDialog. 2016-01-24 03:06:47 +01:00
Einar Johan Trøan Sømåen
e34a8fe9eb GUI: Fix some Doxygen comments that seem wrong. 2014-08-29 03:28:59 +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
Narek Mailian
f545a2f08f GUI: Change name of GUI-renderers to remove "16-bit" 2013-08-08 08:35:08 +02:00
Eugene Sandulenko
f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03:00
Johannes Schickel
0a3e00b307 GUI: Allow user to display hidden files in the browser dialog.
This implements feature request #3600774 "File browser: show hidden files".
2013-01-27 19:13:44 +01:00
Torbjörn Andersson
e4a77aff06 GUI: Move the FluidSynth reset button from Misc tab to bottom
This should make it clearer that Reset applies to all of the
FluidSynth settings, not just the Misc tab.
2013-01-26 13:53:43 +01:00
Torbjörn Andersson
c780df5175 GUI: Add "Reset" button to FluidSynth settings dialog
This resets the FluidSynth settings to their default values.
2013-01-26 13:52:32 +01:00
Torbjörn Andersson
681f81211f FLUIDSYNTH: Add separate dialog for FluidSynth settings
I don't really understand what these parameters do, or what the
sensible values are, so for now the sliders are limited only by
the allowed (or, in one case, "safe") values.
2013-01-26 13:36:37 +01:00
Johannes Schickel
90eb773c5d GUI: Implement saving in the grid based save/load chooser. 2012-07-24 23:23:06 +02:00
Johannes Schickel
3256081b2b GUI: Add page display to grid based load chooser. 2012-07-01 16:49:07 +02:00
Johannes Schickel
d3e5763276 GUI: Allow the user to switch between list and thumbnail based load chooser. 2012-06-29 15:52:56 +02:00
Johannes Schickel
d5eb3e3c06 GUI: Allow querying of the pixel format used by ThemeEngine. 2012-06-13 04:32:11 +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
Oleksiy Kurochko
e6c317a922 GUI: Implemented pressed state for buttons 2012-05-03 19:32:08 +03:00
Filippos Karapetis
346c1fe461 GUI: Change the undithering checkbox to be an engine-specific option 2012-03-25 18:51:23 +03:00
Oleksiy Kurochko
ec32ccb6d6 GUI: Move predictive dialog to common gui 2012-03-25 12:21:38 +03:00
Filippos Karapetis
c84cd8dee8 GUI: Add per-engine and per-game options 2012-03-19 20:32:34 +01:00
Johannes Schickel
9f3fbe1bd7 GRAPHICS/GUI: Implement kerning support for Font.
This adapts the related graphics code, which is the generic Font API and the
TTF font implementation.

It furthermore adapts the GUI to properly take care of kerning in text input
widgets.
2012-01-29 16:26:20 +01:00
Johannes Schickel
d21ae1aa40 GUI: Add support for loading TTF files with ISO-8859-1 charset. 2012-01-29 16:26:20 +01:00
Johannes Schickel
050b8e3360 GUI: Rework how the default localized font is managed.
Now we set the default localized font to the "text_default" font of the
currently active theme and default to the big GUI font in case none is
specified properly.
2012-01-07 01:03:07 +01:00
Johannes Schickel
4531f0173e GUI: Slight cleanup for font/image loading. 2012-01-06 22:24:12 +01:00
Johannes Schickel
08b6f28d54 GRAPHICS: Rework BDF font code. 2012-01-06 15:38:29 +01:00