scummvm/backends/graphics
Lars Sundström e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
..
android BACKENDS: OPENGL: Allow the backend to specify the render target 2023-07-03 21:50:32 +02:00
atari BACKENDS: ATARI: Use unordered_set for dirty rects 2023-06-15 22:58:13 +02:00
gph
ios IOS7: Add iOSGraphicsManager class 2023-07-03 21:50:32 +02:00
maemosdl
miyoo MIYOO: Use 640x480 GUI 2023-01-29 10:41:10 +01:00
null COMMON: Fix null graphics backend without USE_RGB_COLOR 2023-03-04 23:38:42 +01:00
opendingux OPENDINGUX: use 320x200 videomode for the RG99 instead of 320x240 2023-01-23 12:04:25 +01:00
opengl BACKENDS: OPENGL: Allow the backend to specify the render target 2023-07-03 21:50:32 +02:00
openglsdl BACKENDS: OPENGL: Allow the backend to specify the render target 2023-07-03 21:50:32 +02:00
openpandora
riscossdl RISCOS: Use double buffering in full screen mode when V-sync is enabled 2023-02-19 21:27:45 +00:00
sdl JANITORIAL: Fix code indentation 2023-06-17 22:14:37 +03:00
surfacesdl GUI: Ommit aspect ratio checkbox if this feature is missing 2023-06-17 20:21:29 +02:00
default-palette.h
graphics.h GRAPHICS: Add support for pixels with masks and inverted pixels 2023-02-19 23:51:09 +01:00
windowed.h BACKENDS: Fix typo in WindowedGraphicsManager 2022-11-13 09:14:25 +01:00