HoverRace
2.0
|
Video framebuffer for legacy (8-bit, palettized) rendering. More...
#include <VideoBuffer.h>
Classes | |
class | Lock |
Public Types | |
typedef boost::signals2::signal< void()> | paletteChangedSignal_t |
typedef std::pair< int, int > | pixelMeter_t |
Public Member Functions | |
VideoBuffer (Display::Display &display) | |
Constructor. More... | |
virtual | ~VideoBuffer () |
void | AssignPalette () |
void | Clear (MR_UInt8 color=0) |
void | CreatePalette () |
void | DrawHorizontalLine (int pY, int pX0, int pX1, MR_UInt8 pColor) |
void | DrawLine (int pX0, int pY0, int pX1, int pY1, MR_UInt8 pColor) |
void | DrawPoint (int pX, int pY, MR_UInt8 pColor) |
MR_UInt8 * | GetBuffer () const |
int | GetHeight () const |
const ColorPalette::paletteEntry_t * | GetPalette () const |
paletteChangedSignal_t & | GetPaletteChangedSignal () |
int | GetPitch () const |
pixelMeter_t | GetPixelMeter () const |
int | GetWidth () const |
MR_UInt16 * | GetZBuffer () const |
int | GetZPitch () const |
void | OnDesktopModeChange (int width, int height) |
Notify the video buffer that the desktop resolution has changed. More... | |
void | SetBackgroundPalette (std::unique_ptr< MR_UInt8[]> &palette) |
Protected Member Functions | |
virtual void | Flip ()=0 |
SDL_Surface * | GetLegacySurface () const |
void | LockLegacySurface () |
virtual void | OnWindowResChange () |
Notify the video buffer that the window size has changed. More... | |
void | UnlockLegacySurface () |
Private Attributes | |
std::unique_ptr< MR_UInt8[]> | bgPalette |
int | desktopHeight |
int | desktopWidth |
bool | fullscreen |
int | height |
SDL_Surface * | legacySurface |
ColorPalette::paletteEntry_t | palette [256] |
paletteChangedSignal_t | paletteChangedSignal |
int | pitch |
MR_UInt8 * | vbuf |
int | width |
MR_UInt16 * | zbuf |
Video framebuffer for legacy (8-bit, palettized) rendering.
typedef boost::signals2::signal<void()> HoverRace::VideoServices::VideoBuffer::paletteChangedSignal_t |
typedef std::pair<int,int> HoverRace::VideoServices::VideoBuffer::pixelMeter_t |
HoverRace::VideoServices::VideoBuffer::VideoBuffer | ( | Display::Display & | display | ) |
Constructor.
display | The display this is connected to. |
|
virtual |
void HoverRace::VideoServices::VideoBuffer::AssignPalette | ( | ) |
void HoverRace::VideoServices::VideoBuffer::Clear | ( | MR_UInt8 | color = 0 | ) |
void HoverRace::VideoServices::VideoBuffer::CreatePalette | ( | ) |
void HoverRace::VideoServices::VideoBuffer::DrawHorizontalLine | ( | int | pY, |
int | pX0, | ||
int | pX1, | ||
MR_UInt8 | pColor | ||
) |
void HoverRace::VideoServices::VideoBuffer::DrawLine | ( | int | pX0, |
int | pY0, | ||
int | pX1, | ||
int | pY1, | ||
MR_UInt8 | pColor | ||
) |
void HoverRace::VideoServices::VideoBuffer::DrawPoint | ( | int | pX, |
int | pY, | ||
MR_UInt8 | pColor | ||
) |
|
protectedpure virtual |
Implemented in HoverRace::Display::SDL::SdlLegacyDisplay.
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
VideoBuffer::pixelMeter_t HoverRace::VideoServices::VideoBuffer::GetPixelMeter | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
protected |
void HoverRace::VideoServices::VideoBuffer::OnDesktopModeChange | ( | int | width, |
int | height | ||
) |
Notify the video buffer that the desktop resolution has changed.
This should be called immediately after the video buffer instance is created and every time the desktop resolution changes.
width | The desktop resolution width. |
height | The desktop resolution height. |
|
protectedvirtual |
Notify the video buffer that the window size has changed.
Reimplemented in HoverRace::Display::SDL::SdlLegacyDisplay.
void HoverRace::VideoServices::VideoBuffer::SetBackgroundPalette | ( | std::unique_ptr< MR_UInt8[]> & | palette | ) |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |