Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-10-15 | GRAPHICS: Send blank cursors to graphics backends | Colin Snover | |
Blank cursors don't mean to continue drawing the previous cursor, they mean that the cursor in the backend needs to be blank. | |||
2017-10-15 | BACKENDS: Refactor OpenGL & SDL graphics backends | Colin Snover | |
This patch refactors the OpenGL and SDL graphics backends, primarily to unify window scaling and mouse handling, and to fix coordinate mapping between the ScummVM window and the virtual game screen when they have different aspect ratios. Unified code for these two backends has been moved to a new header-only WindowedGraphicsManager class, so named because it contains code for managing graphics managers that interact with a windowing system and render virtual screens within a larger physical content window. The biggest behavioral change here is with the coordinate system mapping: Previously, mouse offsets were converted by mapping the whole space within the window as input to the virtual game screen without maintaining aspect ratio. This was done to prevent 'stickiness' when the mouse cursor was within the window but outside of the virtual game screen, but it caused noticeable distortion of mouse movement speed on the axis with blank space. Instead of introducing mouse speed distortion to prevent stickiness, this patch changes coordinate transformation to show the system cursor when the mouse moves outside of the virtual game screen when mouse grab is off, or by holding the mouse inside the virtual game screen (instead of the entire window) when mouse grab is on. This patch also improves some other properties of the GraphicsManager/PaletteManager interfaces: * Nullipotent operations (getWidth, getHeight, etc.) of the PaletteManager/GraphicsManager interfaces are now const * Methods marked `virtual` but not inherited by any subclass have been de-virtualized * Extra unnecessary calculations of hardware height in SurfaceSdlGraphicsManager have been removed * Methods have been renamed where appropriate for clarity (setWindowSize -> handleResize, etc.) * C++11 support improved with `override` specifier added on overridden virtual methods in subclasses (primarily to avoid myself accidentally creating new methods in the subclasses by changing types/names during refactoring) Additional refactoring can and should be done at some point to continue to deduplicate code between the OpenGL and SDL backends. Since the primary goal here was to improve the coordinate mapping, full refactoring of these backends was not completed here. | |||
2017-10-07 | BACKENDS: Fix window sizing of games that switch between multiple resolutions | Colin Snover | |
2017-09-11 | GRAPHICS: Compare all fields in a PixelFormat individually instead of using ↵ | Cameron Cawley | |
memcmp. | |||
2017-09-10 | GRAPHICS: Remove dead code in BDF loadCharacter code | Colin Snover | |
2017-08-28 | GRAPHICS: MACGUI: Do not crash when nothing was drawn yet | Eugene Sandulenko | |
2017-08-26 | GRAPHICS: MACGUI: Clear whole surface when resizing | Eugene Sandulenko | |
This removes black artifacts when previous text was narrower | |||
2017-08-22 | GRAPHICS: MACGUI: Now MacWindowManager processes most of the events, remove ↵ | Eugene Sandulenko | |
filter | |||
2017-08-22 | GRAPHICS: MACGUI: Added support for scrolling with mouse wheel | Eugene Sandulenko | |
2017-08-22 | GRAPHICS: MACGUI: Ignore keys with modifiers in MacTextWindow | Eugene Sandulenko | |
2017-08-22 | GRAPHICS: MACGUI: Improved debug output in MacFontManager | Eugene Sandulenko | |
2017-08-21 | GRAPHICS: MACGUI: Pass command id when creating menu to avoid namespace clashes | Eugene Sandulenko | |
This fixes Command menu in WAGE. | |||
2017-08-21 | JANITORIAL: Fix spelling error in comment | Eugene Sandulenko | |
2017-08-18 | GRAPHICS: MACGUI: Fix MacTextWindow dragging and resizing | Eugene Sandulenko | |
2017-08-18 | GRAPHICS: MACGUI: Perform sanity checks before blitting | Eugene Sandulenko | |
2017-08-15 | GRAPHICS: MACGUI: Syncronise internal state when selection is cut | Eugene Sandulenko | |
2017-08-15 | GRAPHICS: MACGUI: Fix crash in selection when there is no text found | Eugene Sandulenko | |
2017-08-15 | GRAPHICS: MACGUI: Fix MacText::getTextChunk() for multiline selections | Eugene Sandulenko | |
2017-08-14 | GRAPHICS: MACGUI: Initial code for MacTextWindow::cutSelection() | Eugene Sandulenko | |
2017-08-12 | Graphics:: Add multiply blend mode | Simei Yin | |
2017-08-12 | GRAPHICS: Consider flip mode when handling off-screen clipping | Simei Yin | |
2017-08-11 | GRAPHICS: MACGUI: Fix GCC Compiler Warnings. | D G Turner | |
2017-08-08 | GRAPHICS: MACGUI: Initial code for Cutting/Paste multiline input texts | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Do not resize MacTextWindow when not necessary | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Fix selection visual feedback | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Correctly process revere oneliner selections | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Correctly expand selection beyond last line | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Correctly display last selection line | Eugene Sandulenko | |
2017-08-07 | GRAPHICS: MACGUI: Do not draw selection in the initial state | Eugene Sandulenko | |
2017-08-06 | GRAPHICS: MACGUI: Better handling for displaying selection end | Eugene Sandulenko | |
2017-08-06 | JANITORIAL: Silence some more GCC 7 fallthrough warnings | Torbjörn Andersson | |
These weren't explicitly flagged as deliberate, but I recognize Duff's Device when I see it. | |||
2017-08-06 | GRAPHICS: MACGUI: Fix cursor position when MacTextWindow is scrolled | Eugene Sandulenko | |
2017-08-05 | GRAPHICS: MACGUI: Enforce surface cleanup on MacText clearing | Eugene Sandulenko | |
2017-08-05 | GRAPHICS: MACGUI: More work on clearing MacTextWindow content | Eugene Sandulenko | |
2017-08-05 | GRAPHICS: MACGUI: Made CLIP statemements more useful | Eugene Sandulenko | |
2017-08-05 | GRAPHICS: MACGUI: Fix GCC Compiler Warnings. | D G Turner | |
2017-08-05 | GRAPHICS: MACGUI: Do not crash when window callback is null | Eugene Sandulenko | |
2017-08-05 | GRAPHICS: MACGUI: Added more selection manipulation methods to MacTextWindow | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Fix compilation | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Fix displaying two line text selections | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Fixed bug with column detection in text selection | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Fix end line text selection hihglight | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Fix detection for Cut command enablement | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Better selection row detection | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Improved text selection edge case behaviour | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Leave text highlight after selection is made | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Added method to append input to MacTextWindow | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Bugfixes for selection copying in MacText | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Initial code for copying selection to clipboard | Eugene Sandulenko | |
2017-08-04 | GRAPHICS: MACGUI: Correctly display selection during scrolling | Eugene Sandulenko | |