openMSX
Public Member Functions | List of all members
openmsx::SDLGLVisibleSurface Class Referencefinal

Visible surface for openGL renderers, both SDLGL-PP and SDLGL-FBxx. More...

#include <SDLGLVisibleSurface.hh>

Inheritance diagram for openmsx::SDLGLVisibleSurface:
Inheritance graph
[legend]
Collaboration diagram for openmsx::SDLGLVisibleSurface:
Collaboration graph
[legend]

Public Member Functions

 SDLGLVisibleSurface (unsigned width, unsigned height, Display &display, RTScheduler &rtScheduler, EventDistributor &eventDistributor, InputEventGenerator &inputEventGenerator, CliComm &cliComm, FrameBuffer frameBuffer=FB_NONE)
 
 ~SDLGLVisibleSurface () override
 
- Public Member Functions inherited from openmsx::VisibleSurface
 ~VisibleSurface () override
 
void updateWindowTitle ()
 
bool setFullScreen (bool fullscreen)
 
DisplaygetDisplay () const
 
- Public Member Functions inherited from openmsx::OutputSurface
 OutputSurface (const OutputSurface &)=delete
 
OutputSurfaceoperator= (const OutputSurface &)=delete
 
virtual ~OutputSurface ()=default
 
int getWidth () const
 
int getHeight () const
 
gl::ivec2 getLogicalSize () const
 
gl::ivec2 getPhysicalSize () const
 
gl::ivec2 getViewOffset () const
 
gl::ivec2 getViewSize () const
 
gl::vec2 getViewScale () const
 
bool isViewScaled () const
 
const SDL_PixelFormat & getSDLFormat () const
 
SDL_Surface * getSDLSurface () const
 
SDL_Renderer * getSDLRenderer () const
 
unsigned mapRGB (gl::vec3 rgb)
 Returns the pixel value for the given RGB color. More...
 
unsigned mapRGB255 (gl::ivec3 rgb)
 Same as mapRGB, but RGB components are in range [0..255]. More...
 
template<typename Pixel >
Pixel getKeyColor () const
 Returns the color key for this output surface. More...
 
template<typename Pixel >
Pixel getKeyColorClash () const
 Returns a color that is visually very close to the key color. More...
 
template<typename Pixel >
Pixel mapKeyedRGB255 (gl::ivec3 rgb)
 Returns the pixel value for the given RGB color. More...
 
template<typename Pixel >
Pixel mapKeyedRGB (gl::vec3 rgb)
 Returns the pixel value for the given RGB color. More...
 
void lock ()
 Lock this OutputSurface. More...
 
void unlock ()
 Unlock this OutputSurface. More...
 
bool isLocked () const
 Is this OutputSurface currently locked? More...
 
template<typename Pixel >
PixelgetLinePtrDirect (unsigned y)
 Returns a pointer to the requested line in the pixel buffer. More...
 
- Public Member Functions inherited from openmsx::SDLGLOutputSurface
FrameBuffer getFrameBufferType () const
 

Additional Inherited Members

- Public Types inherited from openmsx::SDLGLOutputSurface
enum  FrameBuffer { FB_NONE, FB_16BPP, FB_32BPP }
 These correspond respectively with the renderers: SDLGL-PP, SDLGL-FB16, SDLGL-FB32. More...
 
- Protected Member Functions inherited from openmsx::VisibleSurface
 VisibleSurface (Display &display, RTScheduler &rtScheduler, EventDistributor &eventDistributor, InputEventGenerator &inputEventGenerator, CliComm &cliComm)
 
void createSurface (int width, int height, unsigned flags)
 
- Protected Member Functions inherited from openmsx::OutputSurface
 OutputSurface ()=default
 
void calculateViewPort (gl::ivec2 physSize)
 
void setSDLSurface (SDL_Surface *surface_)
 
void setSDLRenderer (SDL_Renderer *r)
 
void setSDLFormat (const SDL_PixelFormat &format)
 
void setBufferPtr (char *data, unsigned pitch)
 
- Protected Member Functions inherited from openmsx::EventListener
 EventListener ()=default
 
 ~EventListener ()=default
 
- Protected Member Functions inherited from openmsx::SDLGLOutputSurface
 SDLGLOutputSurface (FrameBuffer frameBuffer=FB_NONE)
 
 ~SDLGLOutputSurface ()=default
 
void init (OutputSurface &output)
 
void flushFrameBuffer (unsigned width, unsigned height)
 
void clearScreen ()
 
void saveScreenshot (const std::string &filename, const OutputSurface &output) const
 
- Protected Attributes inherited from openmsx::VisibleSurface
SDLSubSystemInitializer< SDL_INIT_VIDEO > videoSubSystem
 
SDLWindowPtr window
 
SDLRendererPtr renderer
 
SDLSurfacePtr surface
 
SDLTexturePtr texture
 

Detailed Description

Visible surface for openGL renderers, both SDLGL-PP and SDLGL-FBxx.

Definition at line 11 of file SDLGLVisibleSurface.hh.

Constructor & Destructor Documentation

◆ SDLGLVisibleSurface()

openmsx::SDLGLVisibleSurface::SDLGLVisibleSurface ( unsigned  width,
unsigned  height,
Display display,
RTScheduler rtScheduler,
EventDistributor eventDistributor,
InputEventGenerator inputEventGenerator,
CliComm cliComm,
FrameBuffer  frameBuffer = FB_NONE 
)

◆ ~SDLGLVisibleSurface()

openmsx::SDLGLVisibleSurface::~SDLGLVisibleSurface ( )
override

The documentation for this class was generated from the following files: