Commit Graph

129 Commits

Author SHA1 Message Date
Bastien Bouclet
bdc0db97d5 GUI: Add copy and paste support to the graphical console 2018-05-07 22:42:00 +02:00
Bastien Bouclet
4d29ce21d0 GUI: Unify clip and non-clip draw calls 2018-04-19 19:18:39 +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
Bastien Bouclet
5878c618c9 GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
Bastien Bouclet
0496ede62f GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
Paul Gilbert
0b9b3e336a GUI: Remove code that closes debugger if # or ~ keys are pressed 2017-09-05 19:36:47 -04:00
Bastien Bouclet
f5b335af10 GUI: Mark some fall-through cases as intentional
Comments explain how the num lock handling works before the
fall-through cases.
2017-08-06 17:55:33 +02:00
Johannes Schickel
f5dfe6725a GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Joel Teichroeb
51dceaf165 GUI: Use Common::String for console history, to ensure buffer safety.
Previously, if the user enters a command that is more than 256
characters, it will overflow the history buffer.

By using a Common::String, this is not possible.
2013-11-14 15:23:01 +00:00
Johannes Schickel
7f2b2e99f8 GUI: Change scrollbar repeat handling from a timer proc to handleTickle.
This should be less heavy on timer usage and makes sure no race conditions
will occur.
2011-10-28 12:08:15 +02:00
Torbjörn Andersson
642e0baacb GUI: Silence GCC warning
Rename local variable 'buffer' to keep it from clashing with the
buffer() method.
2011-09-19 20:10:46 +02:00
Littleboy
9796890cce GUI: Replace ConsoleDialog use of vsnprintf by Common::String::vformat() 2011-09-19 09:23:00 -04: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
David Turner
de0f878d1e GUI: Fixed build failure in console due to missing header.
svn-id: r54268
2010-11-16 11:07:48 +00:00
Max Horn
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +00:00
Max Horn
2af2704421 GUI: Rename ConsolDialog methods (v)printf, putchar
svn-id: r54006
2010-11-01 16:03:02 +00:00
Eugene Sandulenko
7f7a6cdafd Revert "GUI: Use vprintf in Console class. Patch by littleboy"
svn-id: r53585
2010-10-18 20:19:58 +00:00
Eugene Sandulenko
05b3f2a071 GUI: Use vprintf in Console class. Patch by littleboy
svn-id: r53577
2010-10-18 19:07:24 +00:00
Max Horn
0b48a71c99 Remove PalmOS port
svn-id: r50964
2010-07-17 18:41:38 +00:00
Martin Kiewitz
0a58cdb6e9 common console: also show prompt, if the engine wrote onto gui console since last call - fixes sci breakpoints
svn-id: r50449
2010-06-28 16:09:54 +00:00
Yotam Barnoy
ef330ed9b4 Patch for bug 2943361 by littleboy, adding full kb modifier support to all engines + GUI and proper keypad handling
svn-id: r48101
2010-02-21 04:04:13 +00:00
Johannes Schickel
516d44e65c Fix behavior of delete key, when the cursor is at the end of the input line.
svn-id: r47802
2010-02-01 18:23:23 +00:00
Johannes Schickel
17f198369d Fix assert after ^W and Delete key events in the debugger, when there's nothing on the line.
svn-id: r47801
2010-02-01 18:18:20 +00:00
Martin Kiewitz
bc89883da8 partly reverting r46807 ffs. Regression in numpad handling - ID: 2943361
svn-id: r47796
2010-02-01 15:44:24 +00:00
Yotam Barnoy
080d6da6e4 Minor additions: added full keypad support to GUI and SCI
svn-id: r46808
2009-12-31 23:52:49 +00:00
Max Horn
d60b5ca516 Include font.h instead of fontman.h in places that don't need fontman :)
svn-id: r46311
2009-12-09 16:46:14 +00:00
Vicent Marti
62de2d9edc Fixed bug: In-game console doesn't stay centered when switching resolutions on the fly.
svn-id: r42540
2009-07-16 17:51:12 +00:00
Max Horn
95a4b26efe Turned fixed-size lists of debugger/console commands and variables into more flexible data structures
svn-id: r40458
2009-05-11 18:02:27 +00:00
Johannes Schickel
7270c87919 Fix bug #2621207 "GUI: Debug console glitch".
svn-id: r39128
2009-03-04 12:28:23 +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
190468c79a GUI: Turn scrollbar width into a theme variable
svn-id: r35021
2008-11-12 13:07:41 +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
Vicent Marti
70091a6484 Fixed: Ingame debug console in all games.
svn-id: r34792
2008-10-13 10:04:42 +00:00
Vicent Marti
2b52383534 Finished legacy API cleanup. Removed all legacy code.
Possible regressions.

svn-id: r33833
2008-08-13 17:46:00 +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
Johannes Schickel
600ab40bca Changed all delete [] usages to delete[].
svn-id: r31927
2008-05-07 14:31:45 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
2243197f50 Changed GUI system to use Common::KeyState state
svn-id: r27786
2007-06-30 12:26:59 +00:00
Torbjörn Andersson
4305483ad0 Use KEYCODE constants.
svn-id: r27598
2007-06-22 07:49:02 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Max Horn
4c14cf6d1a Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle the linker dependency graph). Porters will have to update project files
svn-id: r23974
2006-09-23 00:42:35 +00:00
Max Horn
1add07beca Renamed kLineWidth to kCharsPerLine, and moved some enum constants into class ConsoleDialog (to avoid name clashes with other code)
svn-id: r23889
2006-09-16 15:19:23 +00:00
Max Horn
0485f76c8d Changed GUI code to do 'lazy'/'just-in-time' reflowing, so that client code doesn't have to forward EVENT_SCREEN_CHANGED to us (this may initially cause some regressions, please report any induced crashes or oddities you observe to me)
svn-id: r23663
2006-08-04 15:48:37 +00:00
Max Horn
1a10cacfb9 Renamed handleScreenChanged() -> reflowLayout() in the GUI code
svn-id: r23662
2006-08-04 13:55:53 +00:00
Torbjörn Andersson
6eecad5722 Call handleScreenChanged() when opening the console. Otherwise, we may get
garbage and/or crashes if the scaler has changed since the console was created.

svn-id: r23480
2006-07-10 15:45:09 +00:00
Torbjörn Andersson
49af7d44c2 Applied patches from bug report #1276480, "GUI: Accented characters". This
changes quite a lot of things in the font renderer and the convbdf tools, so
there may be regressions, but we want this feature for 0.9.0.

svn-id: r23208
2006-06-20 22:50:27 +00:00
Max Horn
c0805830eb Fix various typenames to comply to the ScummVM coding guidelines
svn-id: r22928
2006-06-05 12:22:51 +00:00
Eugene Sandulenko
b56c7b88d7 Major GUI update:
- Implemented padding in console
- Update only current line in console instead of whole screen
- Fixed caret positioning in edit text widget
- Improved buttons drawing, now they look more realistic
- Added label spacing in popup widget
- Correct shadow in popup widget
- Fixed up with selected popup widget being drawn on wrong tab
- Added shading to list dialog
- Adjusted shading of inactive widgets
- Proper coloring of browset (add game) dialog
- Introduced Container widget
- Used Container widget in scumm save/load dialog. Now it looks properly
- Adjusted button colors even more. Now they match almost perfectly albeit with banding
- Made scrollbar appear only when it is really needed

svn-id: r22670
2006-05-27 05:46:04 +00:00