Commit Graph

66 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
Bastien Bouclet
bdc0db97d5 GUI: Add copy and paste support to the graphical console 2018-05-07 22:42:00 +02:00
Adrian Frühwirth
699a73d510 JANITORIAL: Fix whitespace 2018-05-02 12:10:32 +02:00
Eugene Sandulenko
b0affe5bf2 GUI: Added override specifiers 2018-03-28 12:47:23 +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
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
Max Horn
b25fa194b3 GUI: Fix some comments 2011-06-03 16:16:38 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
5b735131ba GUI: Push down some header (inter)dependencies
svn-id: r54267
2010-11-16 10:29:31 +00:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
2af2704421 GUI: Rename ConsolDialog methods (v)printf, putchar
svn-id: r54006
2010-11-01 16:03:02 +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
Max Horn
cbea1a1193 Added more GCC_PRINTF attributes, and fixed resulting warnings in format strings
svn-id: r42054
2009-07-03 10:40:49 +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
690b88f982 Renamed gui/newgui.cpp -> gui/GuiManager.cpp and gui/newgui.h -> gui/GuiManager.h
svn-id: r35668
2009-01-02 03:21:40 +00:00
Jordi Vilalta Prat
d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +00:00
Max Horn
2243197f50 Changed GUI system to use Common::KeyState state
svn-id: r27786
2007-06-30 12:26:59 +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
728d01cb17 Removing some unnecessary #includes
svn-id: r26044
2007-03-09 23:46:45 +00:00
Max Horn
6c26712960 Added GUI::ConsoleDialoggetCharsPerLine() method, and added a big FIXME comment to gui/console.h
svn-id: r23892
2006-09-16 17:29:43 +00:00
Max Horn
919092e5fc Overhaul of the debugger code
* Moved Common::Debuggger to GUI::Debugger (mainly to satisfy linker
  restrictions)
* Change the base Debugger class to *not* be a template class anymore;
  instead, a thin (template based) wrapper class is used to hook up
  debugger commands
* Removed duplicate Cmd_Exit and Cmd_Help methods in favor of a single
  version of each in GUI::Debugger
* New Cmd_Help doesn't word wrap after 39/78 chars, but rather queries
  the console to determine when to wrap
* Debugger::preEnter and postEnter aren't pure virtual anymore

svn-id: r23890
2006-09-16 16:58:27 +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
1a10cacfb9 Renamed handleScreenChanged() -> reflowLayout() in the GUI code
svn-id: r23662
2006-08-04 13:55:53 +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
Eugene Sandulenko
9828eb7a0b Properly process screen change event in console
svn-id: r22643
2006-05-26 00:17:55 +00:00
Max Horn
b34e207dbb Change CVS keywords to SVN keywords
svn-id: r20518
2006-02-11 10:08:56 +00:00
Johannes Schickel
5051b080a2 - adds the new gui renderer also a new implementation for the classic gui
- adds a ImageMan and ImageDec class for loading and managing image files
 - adds a loader for zip files which is used by the new theme and the image manager
 - changes the widgets to use the new gui code
 - changes the scumm dialogs to use the new gui code
 - fixes a #include problem in the sky debugger with the new gui code

 To use the new gui copy gui/themes/default-theme.zip to your extrapath.
If the theme zip can not be found the gui will fallback to the classic theme.
If you want to change the gui styles use "gui_theme=classic" for the classic theme
and "gui_theme=default-theme" for the new theme.

Thanks to eriktorbjorn for testing and help with the new theme and to sev for
reviewing this patch.

svn-id: r20227
2006-01-27 15:43:23 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Chris Apers
3bd243e043 Use font manager
svn-id: r18964
2005-10-08 19:40:47 +00:00
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Torbjörn Andersson
983643bc5a Cache the blended background in a surface, so that the blending only needs
to be made once, instead of whenever the console is redrawn. (This is the
same trick as the About dialog uses.)

It should speed up the drawing quite a bit, though it's not particularly
noticeable on the computer I'm using at the moment, so I can't say for
sure.

svn-id: r18540
2005-07-13 14:38:26 +00:00
Torbjörn Andersson
bf89c8a4b9 The GUI has reached the point where I think it's safe to begin removing the
old auto-scaling hack. Removed wantsScaling(), USE_AUTO_SCALING,
_scaleFactor and _scaleEnable.

Also removed drawBitmap() since we no longer use bitmaps for widget
decorations.

svn-id: r18310
2005-06-02 12:29:01 +00:00
Max Horn
2141a2648c Use variable width scrollbar in the console dialog
svn-id: r17652
2005-04-17 12:03:03 +00:00
Max Horn
919af98314 Added Dialog::wantsScaling(), to allow dialogs to turn off automatic scaling
svn-id: r17646
2005-04-17 11:20:59 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
74e789ce99 clean up slide code
svn-id: r16040
2004-12-12 21:23:21 +00:00
Max Horn
096f2b6110 Add slide animation effect to the console
svn-id: r15903
2004-11-27 01:25:25 +00:00
Torbjörn Andersson
8b5f08efb6 Applied patch #956989 ("Varous console fixes"). Fingolfin said it looked
ok, and as far as I can tell it does fix bugs #941811 and #941814, just as
it promised.

svn-id: r13849
2004-05-23 14:06:52 +00:00
Max Horn
71df4c5e72 Cleaned up console code a bit - wrap around logic needs work
svn-id: r13793
2004-05-05 23:06:44 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
3944eb4494 cleanup
svn-id: r11416
2003-11-28 22:08:52 +00:00
Max Horn
b8c0fbf06e new font code (currently disabled by default), which allows using 'arbitrary' BDF fonts (via convbdf)
svn-id: r11350
2003-11-19 23:46:39 +00:00
Max Horn
22c22d1e81 added namespace GUI
svn-id: r11255
2003-11-10 23:40:48 +00:00
Paweł Kołodziejski
14b7d027a2 cleanup whitespaces
svn-id: r11223
2003-11-08 23:22:16 +00:00
Max Horn
b27a871f87 turned NewGui into a singleton, and made OSystem a pseudo-singleton; added Widget::findWidget (preparing to add support for nested widgets, for the tab widget)
svn-id: r11045
2003-11-02 02:18:16 +00:00
Max Horn
d581c99ab5 cleanup
svn-id: r10982
2003-10-26 19:16:59 +00:00
Max Horn
21ce55bc9f make console height/width based on a float percentage of the overlay size -> the overlay isn't so tiny anymore in COMI
svn-id: r10329
2003-09-20 01:08:48 +00:00