aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/opengl/opengl-graphics.h
AgeCommit message (Collapse)Author
2012-06-03ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" ↵Johannes Schickel
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-02-15OPENGL: Prevent access to a few more members in the SDL OpenGL code.Johannes Schickel
2012-02-15OPENGL: Use tabs instead of spaces for indentation.Johannes Schickel
2011-08-21BADA: Fix formatting and non bada host compile errorChris Warren-Smith
2011-08-21BADA: Initial BADA port implementationChris Warren-Smith
2011-08-12OPENGL: Fix aspect ratio correction behavior.Johannes Schickel
Now only 320x200 and 640x400 will result in aspect ratio correction to be used if the user requested it. This should fix some strechting in Myst/Riven.
2011-08-09SDL: Take advantage of SdlGraphicsManager.Johannes Schickel
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-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-04BACKENDS: Replace OSystem::disableCursorPalette by setFeatureState callsMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-20OPENGL: Get rid of unused switchDisplayMode.Johannes Schickel
2011-03-20OPENGL: Handle aspect ratio correction as flag instead of having a special ↵Johannes Schickel
mode for it. This partly fixes the OpenGL mode mess, but now OpenGL Normal and OpenGL Conserve will feature the same semantics when aspect ratio correction is enabled... That is still something to solve.
2011-03-17OPENGL: Cleanup switchDisplayMode.Johannes Schickel
2011-03-17OPENGLSDL: More refactoring to avoid direct access of ↵Johannes Schickel
OpenGlGraphicsManager's members.
2011-03-17OPENGL: Move setFullscreenMode to OpenGLGraphicsManager.Johannes Schickel
2011-03-17OPENGLSDL: Handle active fullscreen mode OPENGLSDL internal.Johannes Schickel
2011-03-17OPENGL: Make setScale non-virtual.Johannes Schickel
2011-03-17OPENGL: Get rid of _aspectRatioCorrection.Johannes Schickel
2011-03-17OPENGL: Slight refactoring.Johannes Schickel
First step into making all state variables of the OpenGL backend private, to help making the backend more maintainable, by disallowing subclasses to just mess with everything...
2011-03-17OPENGL: Update the OSD texture when visible while the output mode changes.Johannes Schickel
This fixes annoying graphics glitches, which occured sometimes when resizing the Window.
2011-03-17OPENGL: Refactor warpMouse.Johannes Schickel
Now subclasses will not need to worry about the scaling logic themselves, but just need to implement setInternalMousePosition, which should handles setting the system's mouse coordinates.
2011-02-19OPENGL: Get rid of adjustMouseEvent.Johannes Schickel
Rather than that I introduced a function which converts hardware screen coordinates to overlay / game screen coordinates. The logic which converts mouse movement events with hardware screen coordinates to overlay / game screen coordinates is now inside notifyEvent. This is still broken design, since one should not abuse an observer for that.
2011-02-19OPENGL: Fix documentation of OpenGLGraphicsManager::MousePos.Johannes Schickel
2011-02-07COMMON: OSystem now has a PaletteManagerMax Horn
svn-id: r55806
2010-12-08OPENGL: Fix OSD support by only updating the OSD texture in internUpdateScreen.Johannes Schickel
This actually still has the drawback that if one calls OSystem::updateScreen from the sound thread that it might crash. Hopefully no code does this though... svn-id: r54830
2010-12-03OPENGL: Some slight formatting fixes.Jordi Vilalta Prat
svn-id: r54755
2010-09-03SDL/OPENGL: Fix backend initialization when building with ENABLE_VKEYBD.Alejandro Marzini
svn-id: r52503
2010-09-03OPENGL: Fix enable aspect ratio feature.Alejandro Marzini
svn-id: r52502
2010-09-03OPENGL: Improve scaling, aspect ratio correction and display(GFX) modes.Alejandro Marzini
Now the previous aspect ratio modes are handled as GFX modes. The previous GFX modes were for scaling, but are removed now. A new 4/3 display mode added. Added Ctrl-Shift-A for backward switching through display modes, and Ctrl-Alt-<number key> for switching to a specific GFX mode. Window resizing now is available for all display modes, and will automatically change the scale factor as well as maintain the aspect ratio when needed. svn-id: r52501
2010-08-13OPENGL: Remove unnecessary aspect ratio corrections, and add "Original Size" ↵Alejandro Marzini
correction. Rename _transactionDetails.needHotswap to _transactionDetails.needRefresh. svn-id: r52054
2010-08-06OPENGL: Add 5/3 and 5/4 aspect ratio corrections.Alejandro Marzini
svn-id: r51806
2010-08-05OPENGL: Improve aspect ratio correction mode selection.Alejandro Marzini
svn-id: r51752
2010-08-03OPENGL: Refresh OpenGL textures on all loadGFX() calls.Alejandro Marzini
OpenGL context may be destroyed after calling SDL_SetVideoMode, so it is better to always recreate the textures. svn-id: r51675
2010-08-01OPENGL: By default only enable None, Conserve and 4/3 aspect ratio corrections.Alejandro Marzini
svn-id: r51599
2010-08-01OPENGL: Remove use of floats for aspect ratio correction. Improved ↵Alejandro Marzini
fullscreen toggling default mode selection. Floats can lead to calculation errors because, now uints are used and aspect ratio values are handled with a x 10000 scale. When entering fullscreen, it will be looked for the fullscreen mode with the smallest metric that mantains the game screen aspect ratio. svn-id: r51563
2010-07-31OPENGL: Add support for BGR and rgb(a) reversed formats (Not available for ↵Alejandro Marzini
GLES). General cleanup and commenting. svn-id: r51559
2010-07-30SDL/OPENGL: Add ability to switch between SDL and OpenGL graphics managers.Alejandro Marzini
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-30OSYSTEM: Add resetGraphicsScale() method.Alejandro Marzini
This fixes a hack for resetting the graphics scale to x1 when starting games that have a large screen size. The SDL graphics manager should now scale back to x1 without changing the current scaler in use, as well as the OpenGL graphics manager. svn-id: r51492
2010-07-27OPENGL: Implement aspect ratio support and toggling. Improve fullscreen ↵Alejandro Marzini
switching. Fix cursor scaling bug. Now the hotkey Ctrl-Alt-Enter will switch between all available fullscreen modes. Alt-Enter will only switch to the best mode available, and exit fullscreen mode if already on it. The different aspect ratios can be switched with Ctrl-Alt-A. The normal mode will stretch the contents to the screen, while other modes will stretch only one dimension to the screen size, and maintain the aspect ratio for the other dimension. svn-id: r51346
2010-07-27OPENGL: Add shake effect.Alejandro Marzini
svn-id: r51344
2010-07-26Formatted spaces.Alejandro Marzini
svn-id: r51300
2010-07-26OPENGL: Implement saveScreenshot().Alejandro Marzini
svn-id: r51299
2010-07-26OPENGL: Add OSD message.Alejandro Marzini
svn-id: r51295
2010-07-26OPENGL: Add cursor scaling.Alejandro Marzini
svn-id: r51291
2010-07-24OPENGL: Redesign blitting system. Add basics for aspect correction.Alejandro Marzini
Removed the extra surface in GLTexture. Now there are copies of the texture data in their original format (so engine can get the original data when lockScreen or grabOverlay is called). This copies will be updated when the engine calls a function that modifies the game screen/overlay, and the textures will be marked as dirty. When updating screen, the textures will be updated from the copies data if they are dirty. svn-id: r51234
2010-07-22OPENGL: Add antialiasing, hotkey: ctrl+alt+f. Fixed minor bugs.Alejandro Marzini
svn-id: r51146
2010-07-20OPENGL: Implement fullscreen mode.Alejandro Marzini
svn-id: r51049
2010-07-19OPENGL: Add basic scaler handle.Alejandro Marzini
svn-id: r51016
2010-07-18Improved cursor drawing.Alejandro Marzini
svn-id: r50976