Commit Graph

81 Commits

Author SHA1 Message Date
Johannes Schickel
956affd3d2 Moved definition of ThemeClassic and ThemeModern to their own files.
svn-id: r25432
2007-02-08 23:25:07 +00:00
Max Horn
f01f4eea98 Added NewGui::getTopDialog method
svn-id: r24938
2006-12-27 22:51:14 +00:00
Eugene Sandulenko
3be9c44dc4 Fix bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
svn-id: r24656
2006-11-08 10:06:42 +00:00
Johannes Schickel
ab7bced4fd Final fix for wrong cursor palettes in SCUMM games after using the GUI.
svn-id: r24233
2006-10-08 20:37:39 +00:00
Johannes Schickel
3a81941981 - Added dialog for selecting the theme to use
- Added runtime theme switching

svn-id: r24213
2006-10-08 18:22:28 +00:00
Max Horn
40835e42b9 There is no need anymore to report EVENT_SCREEN_CHANGED changes to the GUI code
svn-id: r23668
2006-08-04 18:01:43 +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
Torbjörn Andersson
ca84620745 When the screen changes, redraw all dialogs *immediately* rather than waiting
for the main loop to check for _needRedraw. Otherwise subsequent events can
cause widgets to be redrawn before the theme has had a chance to re-open the
dialogs, and this could cause at least the modern theme to crash.

svn-id: r22860
2006-06-03 10:48:37 +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
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Johannes Schickel
9e734b0851 Adds handleScreenChanged() to NewGui, so (scumm) engine can call it when it recives a EVENT_SCREEN_CHANGED.
svn-id: r22025
2006-04-19 06:22:15 +00:00
Johannes Schickel
96cf7028b9 - implements .bdf font loader based on convbdf (sure could have some clean up)
- adds three different font styles to the themes (normal, bold (default one), italic)
- implements code for specifing the font files in the theme config ('fontfile_normal','fontfile_bold' and 'fontfile_italic' in the 'extra' section)
- changes EditTextWidget to use the normal font (has some minor aligment problems with the caret now, though)
- extends the FontManager (new functions: getFontByName, assignFontToName, removeFontName)
- adds the font style constans to the builtin constants for the evaluator)

svn-id: r21868
2006-04-14 02:16:55 +00:00
Max Horn
08ad918af6 Reduce (indirect) dependencies on gui/eval.h (and thus common/assocarray.h) to a minimum
svn-id: r21426
2006-03-24 14:15:45 +00:00
Eugene Sandulenko
a8a8624511 o Converted most (all?) widgets to new scheme.
o Converted global options dialog to new scheme.

svn-id: r21137
2006-03-08 01:42:02 +00:00
Eugene Sandulenko
018c93b14a More work on customizable GUI.
o Implemented special alias 'prev'
o Added new calling scheme to several widgets
o Partially converted launcher dialog to new scheme
o Converted couple widgets of chooser dialog

svn-id: r21118
2006-03-07 05:39:52 +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
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Torbjörn Andersson
63984c3a23 The alternative form of drawString() is no longer needed.
svn-id: r18326
2005-06-03 13:09:24 +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
Torbjörn Andersson
801db4a515 Added big editable text widget, and removed some cruft. I think this means
that all our widgets are able to scale themselves now, but I could be
mistaken.

svn-id: r18192
2005-05-20 15:03:26 +00:00
Torbjörn Andersson
8e7c4ffa37 Quick fix to make button texts etc. draw at the correct position. (They
were being drawn at unscaled coordinates.) I don't know if this is the
correct fix, but the change is small and easy to revert, if need be.

svn-id: r18072
2005-05-12 15:46:03 +00:00
Max Horn
79241d323f Start work on support for 'big' widgets
svn-id: r18060
2005-05-11 19:30:30 +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
7aebedcc14 Patch #1183808 (GUI: Less CPU-intensive credits scroll), with some tweaks by me
svn-id: r17620
2005-04-16 11:40:15 +00:00
Max Horn
cffd917165 system.h was being included in tons of places, without any good reason; reduced this (total dependencies on system.h went down from 193 to 85 files)
svn-id: r16527
2005-01-10 22:06:49 +00:00
Max Horn
858c6c4d5b Switching GUI to an alternate font; using a second, bigger, font for 640x480 games like COMI. Note: we can always easily switch back to the SCUMM font or any other font, if we want to
svn-id: r16467
2005-01-06 22:48:42 +00:00
Max Horn
c6e0d31e76 Added a font manager (work in progress)
svn-id: r16460
2005-01-06 21:15:52 +00:00
Max Horn
4fae197c67 Patch #1092994 (Selfscaling GUI)
svn-id: r16455
2005-01-06 19:09:34 +00:00
Max Horn
5d88c39549 Modify the singleton code once more to help overcome an issue with MSVC 7 (see also patch #1095133)
svn-id: r16454
2005-01-06 18:38:34 +00:00
Max Horn
74bf578bda Changed the singleton code to allow for custom object factories; this allowed me to change OSystem to use the singleton base class, too
svn-id: r16404
2005-01-01 19:19:06 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
5ad29fd7e0 Make use of the new graphic primitives
svn-id: r15886
2004-11-25 23:35:02 +00:00
Max Horn
0f142572f7 Allow char drawing with a custom font
svn-id: r14624
2004-08-15 13:49:13 +00:00
Max Horn
e27f2c5592 Removed some obsolete stuff; made switching to the alt font less intrusive (you only have to recompile a single file now); foundation for future run-time font switching...
svn-id: r14623
2004-08-15 13:15:55 +00:00
Max Horn
5d0f0ea0c6 Added generic variable size stack class - COMPLETELY UNTESTED. Really should add some unit tests for this...
svn-id: r13776
2004-05-05 01:19:42 +00:00
Max Horn
178bf539b4 Make use of Stack template
svn-id: r13430
2004-03-29 22:29:30 +00:00
Max Horn
7b158941e7 cleanup
svn-id: r13364
2004-03-22 22:01:10 +00:00
Max Horn
a9789acfc6 Moved Surface/Font code into new 'graphics' module
svn-id: r13357
2004-03-21 21:20:25 +00:00
Max Horn
4aa240e0e5 use 'Surface' in NewGui
svn-id: r13244
2004-03-13 13:22:14 +00:00
Max Horn
a0bde7a732 Revamped the font code: now it's very easy to switch between the 'original' SCUMM font and any new font... or to have multiple different fonts (like, one for 320x240 and and one for 640x480); furthermore, font rendering can now be done w/o using NewGui
svn-id: r13243
2004-03-13 13:03:25 +00:00
Max Horn
c6752cccf5 renamed more OSystem methods to follow our naming scheme; renamed NewGuiColor to OverlayColor; fixed some calls to error() in the SDL backend
svn-id: r13087
2004-02-28 12:58:13 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
e04d8576cb explicitly specify namespace in g_gui helper macro
svn-id: r11450
2003-12-01 21:16:18 +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
ee253d4c90 modified NewGui::drawString to shorten strings which don't fit using ellipsis (disabled for the EditTextWidget for now)
svn-id: r11136
2003-11-04 22:00:36 +00:00