Commit graph

153 commits

Author SHA1 Message Date
Cameron Cawley
2f6d219dce SDL: Move detection of the desktop resolution into the SdlWindow class 2020-05-10 21:53:07 +02:00
Bastien Bouclet
85e3fb38fb SDL: Change keyboard repeat to apply on unmapped events
The keyboard repeat event generator is used when building against SDL1.
Previously the repeat events would generate based on the event stream
produced by the keymapper which is not guaranteed to have matching up
and down events in the case the keymaps are changed while a key is
pressed.

Fixes #11417.
2020-04-12 11:11:00 +02:00
Eugene Sandulenko
6817478967 BACKENDS: SDL: Add override keywords 2020-01-31 12:39:23 +01:00
Bastien Bouclet
32174c9067 KEYMAPPER: Actions can now be bound to joystick buttons 2020-01-29 08:51:29 +01:00
Bastien Bouclet
be49fc4b9a SDL: Add a keymap for the graphics manager 2020-01-29 08:51:29 +01:00
Cameron Cawley
014bef9eab BACKENDS: Add a default clipboard implementation 2019-09-21 22:16:01 +03:00
Jaromir Wysoglad
d6d6ac1823 SDL: Add SDL implementation of convertEncoding 2019-08-24 18:12:45 +03:00
Cameron Cawley
8b8fb6d3a4 SDL: Simplify implementation of createLogFile() 2019-08-05 10:01:30 +03:00
Thierry Crozat
3fe0e3c38e OSYSTEM: Add API to copy text to clipboard
This has also been implemented for the SDL2 and macOS backends.
2018-04-29 21:47:10 +01:00
Colin Snover
ebe6c40a6a SDL: Do not reset window size when engines update rendering surface
This change allows:

* Engines to update their target rendering surface/size and pixel
  format with the backend multiple times during gameplay;
* Users to resize the ScummVM window without having it reset
  size/position every time an engine updates its target surface
  format;
* Conversions/scaling to continue to run efficiently in hardware,
  instead of requiring engines to pick their maximum possible
  output format once and upscale inefficiently in software;
* The window to reset size once when an engine calls to set its
  initial output size, and to reset again once ScummVM returns to
  the launcher.

This is relevant for at least SCI32 and DreamWeb engines, which
perform graphics mode switches during games.
2017-10-07 12:30:29 -05:00
Pala
3849a3e90e WINDOWS: Change location where screenshot are saved
This fixes bug #9701: WINDOWS: Flow of taking screenshots
on Windows is broken
2017-04-24 01:06:29 +01:00
Alexander Tkachev
b9bba9bd4b ALL: Move Clipboard support to OSystem
Commit adds kFeatureClipboardSupport. hasTextInClipboard() and
getTextFromClipboard().

OSystem_SDL has this feature if SDL2 is used.

EditableWidget and StorageWizardDialog use g_system to access clipboard
now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
9f7bea156a CLOUD: Init SDL_Net 2016-08-24 16:07:55 +06:00
Bastien Bouclet
ad3ab61241 COMMON: Remove the EventRecorder dependency from OSystem
EventRecorder is in the gui lib which is not linked in the cxxtest suite.
2016-07-28 18:23:46 +02:00
Matthew Hoops
55a87c59b6 BACKENDS: Use a virtual function for creating the SDL audio CD manager 2016-03-13 13:53:40 +01:00
Johannes Schickel
3f22c12c56 SDL: Handle icon setup in SdlWindow. 2015-02-16 01:25:22 +01:00
Johannes Schickel
627d766325 SDL: Add basic abstraction class for the SDL window. 2015-02-16 01:03:29 +01:00
Johannes Schickel
63304ee9ec SDL: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel
c323dedf3c SDL: Fix default graphics mode for switchable case.
The former code (incorrectly) assumed that the getDefaultGraphicsMode returns
the index in the table returned by getSupportedGraphicsModes. Now the correct
ID is searched and then used.
2013-10-23 22:59:09 +02:00
Johannes Schickel
38543f772c SDL: Make setupGraphicsModes non-virtual.
The logic of switching the managers is pretty much fixed at the same level
and cannot be easily overwritten.
2013-10-23 22:58:57 +02:00
Johannes Schickel
4080a7a3f6 SDL: Get rid of _glModesCount. 2013-10-23 22:58:50 +02:00
Johannes Schickel
c5e2b5158c SDL: Get rid of loop in OSystem_SDL::setGraphicsMode. 2013-10-23 22:58:46 +02:00
Johannes Schickel
e91300f70c SDL: Clean up graphics mode handling for OpenGL backend.
Instead of custom memory management Common::Array is used now.
2013-10-23 22:58:42 +02:00
Johannes Schickel
5ce830b976 SDL: Add a OpenGL SDL backend and hook it into the SDL backend.
The hooking code is nearly exactly the old hooking code. Only the OpenGL SDL
creation has been adapted since it uses a different constructor now.
2013-10-19 22:14:24 +02:00
Johannes Schickel
8a6e57cba1 BACKENDS: Remove OpenGL and OpenGL SDL backend.
This breaks our Tizen port.
2013-10-05 00:20:02 +02:00
Eugene Sandulenko
f59512c47e RECORDER: Implement Events Recorder 2013-05-17 00:18:09 +03:00
Tarek Soliman
477c1b9a87 KEYMAPPER: HardwareInputSet now has defaults
Ports can add additional special keys.
SDL no longer carries the static tables.
Default behavior unchanged: HardwareInputSet() still gives an empty one.
2012-02-28 06:45:35 -06:00
Tarek Soliman
6afac4e01e KEYMAPPER: Rename HardwareKey to HardwareInput 2012-02-27 13:00:56 -06:00
Johannes Schickel
57e3388197 SDL: Get rid of unneeded forwards. 2012-02-13 01:25:25 +01:00
Johannes Schickel
d811240a9d ALL: Enable Keymapper specific OSystem API only when the Keymapper is enabled. 2012-02-13 01:20:02 +01:00
Tarek Soliman
52da780fbc KEYMAPPER: Refactor HardwareKeySet generation 2012-02-12 13:28:13 -06:00
Johannes Schickel
04ab0e58b4 SDL: Take advantage of SdlGraphicsManager.
This gets rid of the hacks, where SdlEventSource added events with custom type
numbers to pass SDL_VIDEOEXPOSE and SDL_VIDEORESIZE to the graphics manager.

Furthermore it get rids of the uninituitive and hard to trace way of assigning
the proper mouse coordinates to mouse related events. Formerly it passed the
real screen coordinates through the even dispatching api to the graphics
manager (at least hopefully ;-) and let that handle creating a new event with
the proper coordinates. Now instead SdlEventSource handles the proper
coordinate setup itself.

Since this is a behavior change and I can not test all the SDL based small
devices ports this commit might break compilation for them and more serve it
might also break mouse position behavior. If any of that occurs I am sorry
about it.
2011-08-09 00:03:11 +02:00
Littleboy
9614834548 BACKENDS/COMMON/GUI: Remove complete support for TaskbarManager when taskbar integration is not enabled 2011-06-16 14:23:28 -04:00
Littleboy
71e457783e BACKENDS: Add generic TaskbarManager class to handle taskbar integration 2011-06-16 10:26:51 -04:00
Max Horn
fce7f90a94 BACKENDS: Shuffle backends class hierarchy and module initialization 2011-06-08 14:29:22 +02:00
Max Horn
c847522422 BACKENDS: Add OSystem::getDefaultConfigFileName
This is used to provide default implementations for createConfigWriteStream
and createConfigReadStream, which can be used by most backends.

Note that backends can still override createConfigRead/WriteStream;
this could be useful if settings on some port are not stored in a
regular file (think 'Windows registry', for a hypothetical example).
2011-06-06 15:30:21 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel
39aad6ece7 SDL: Move createLogFile implementions to the OSystem_SDL subclasses.
svn-id: r54581
2010-11-29 18:30:23 +00:00
Max Horn
4e0e406181 SDL: Move #include <SDL.h> into a special wrapper file
svn-id: r54572
2010-11-29 16:16:50 +00:00
Max Horn
8f37f6634c SDL: Merge deinit() into OSystem_SDL destructor and overload fatalError
svn-id: r54526
2010-11-28 15:44:34 +00:00
Max Horn
7760077cf5 Merging the gsoc2010-opengl branch
svn-id: r54518
2010-11-28 14:56:31 +00:00
Johannes Schickel
1ad63b431e BACKEND: Switch OSystem::getSystemLanguage return type to Common::String.
This is done as discussed on -devel.

svn-id: r54516
2010-11-28 02:12:33 +00:00
Johannes Schickel
425f284050 SDL: Hook up file logger to log on UNIX-like systems.
As discussed on -devel this always logs to ~/.scummvm/logs/scummvm.log.

svn-id: r54489
2010-11-26 00:51:42 +00:00
Johannes Schickel
189c9bf216 OSYSTEM: Add API to query the system locale.
I also adapted the SDL backend to implement the API.

svn-id: r54479
2010-11-25 18:40:56 +00:00
Johannes Schickel
e1030e53a5 BACKENDS: Implement logging API proposed by Max on -devel.
This commits a slightly modified patch from my patch tracker item #3104630
"OSYSTEM: Add logging API as proposed by Max on -devel".

I was not able to test compilation on Android and SamsungTV, since there is no
toolchain for those on buildbot (or I was too blind to find them).

svn-id: r54339
2010-11-18 19:12:14 +00:00
Max Horn
82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Johannes Schickel
b713beed18 OPENGL: Add an SdlEventSource member to OSystem_SDL instead of subclassing SdlEventSource.
Derived backends are allowed to overwrite that member in case they need special
handling of SDL events.

svn-id: r53675
2010-10-21 18:13:13 +00:00
Johannes Schickel
a2b96a2516 OPENGL: Replace SdlEventManager by SdlEventSource.
Formerly SdlEventManager was a subclass of DefaultEventManager but did not
really have anything in common with the idea of our EventManager interface.
Now I made a new object SdlEventSource which only subclasses EventSource
and which is responsible for obtaining events from SDL (and processing them).

svn-id: r53433
2010-10-13 15:42:16 +00:00
Jordi Vilalta Prat
8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Alejandro Marzini
7b070bbef8 SDL/OPENGL: Add ability to switch between SDL and OpenGL graphics managers.
OSystem_SDL will create a merged list of all graphics modes from SDL and OpenGL. When the user changes the graphics mode in options and restarts ScummVM should switch to that graphics mode in the corresponding graphics manager.

svn-id: r51493
2010-07-30 03:31:05 +00:00