In file libs/cs2d/dosraw/djvidsys.h:

## class VideoSystem

> Auxiliary helper class for SysGraphics2D when not using Allegro

> This video driver can use back buffers if enough video RAM is available: this allows us to use page flip instead of copy operation which is substantialy faster

### Public Methods

unsigned char* BackBuffer()
  Return address of back buffer
void Clear(int Color)
  Clear current buffer
void Close()
  Close graphics screen
bool DoubleBuffer()
  Return double buffering state
bool DoubleBuffer(bool Enable)
  Enable or disable double buffering
bool FindMode(int Width, int Height, int Depth, int &PaletteSize, long &RedMask, long &GreenMask, long &BlueMask)
  Find closest vide mode; return false if failed; maybe set W & H to closest
void Flush(int x, int y, int w, int h)
  Flushes double buffer out to VRAM
inline int GetPage()
  Return active video page
void GetPalette(RGBpaletteEntry *Palette, int iColors)
  Puts current pal in Palette
int Open()
  Open graphics screen; return error code
void SetPalette(RGBpaletteEntry *Palette, int iColors)
  Writes out Palette
VideoSystem()
  Video susbsystem constructor: fix up Width and Height to closest possible
inline void WaitVRetrace(bool Enable)
  Enable/disabling wait for vertical retrace
~VideoSystem()
  Video susbsystem destructor

### Private Fields

unsigned int BytesPerPixel
  Bytes per pixel
unsigned int BytesPerScanLine
  Bytes per scan line
bool IsBanked
  Is selected video mode banked?
bool IsXmode
  Is selected video mode a X-mode?
int PageSize
  Size of one videopage
unsigned int ScanLinesPerPage
  Scan lines per page
int ScreenSize
  Screen image size
bool UseDoubleBuffering
  Use two videopages if available?
int VESAversion
  VESA BIOS extensions version number
int VideoMode
  Selected video mode number
unsigned int VideoPage
  Current video page we are writing to
int VideoPages
  How many linearly addressable video pages fits in video RAM?
unsigned int VideoRAM
  Total amount of video RAM on board
unsigned char* VRAM
  A pointer to linearly mapped video RAM
unsigned char* VRAMBuffer
  Second buffer if it is not available in video RAM
unsigned short VRAMSelector
  Selector of video RAM if linear address unavailable
bool WaitVR
  Wait for vertical retrace when switching pages?
unsigned int WindowGranularity
  VESA SVGA window granularity
unsigned int WindowSize
  VESA SVGA window size

## Documentation

> Auxiliary helper class for SysGraphics2D when not using Allegro

> This video driver can use back buffers if enough video RAM is available: this allows us to use page flip instead of copy operation which is substantialy faster

`VideoSystem()`
  Video susbsystem constructor: fix up Width and Height to closest possible

`~VideoSystem()`
  Video susbsystem destructor

`bool FindMode(int Width, int Height, int Depth, int &PaletteSize, long &RedMask, long &GreenMask, long &BlueMask)`
  Find closest vide mode; return false if failed; maybe set W & H to closest

`void Flush(int x, int y, int w, int h)`
  Flushes double buffer out to VRAM

`void GetPalette(RGBpaletteEntry *Palette, int iColors)`
  Puts current pal in Palette

`void SetPalette(RGBpaletteEntry *Palette, int iColors)`
  Writes out Palette

`void Clear(int Color)`
  Clear current buffer

`int Open()`
  Open graphics screen; return error code

`void Close()`
  Close graphics screen

`unsigned char* BackBuffer()`
  Return address of back buffer

`bool DoubleBuffer(bool Enable)`
  Enable or disable double buffering

`bool DoubleBuffer()`
  Return double buffering state

`inline int GetPage()`
  Return active video page

`inline void WaitVRetrace(bool Enable)`
  Enable/disabling wait for vertical retrace

`unsigned char* VRAM`
  A pointer to linearly mapped video RAM

`unsigned char* VRAMBuffer`
  Second buffer if it is not available in video RAM

`unsigned short VRAMSelector`
  Selector of video RAM if linear address unavailable

`int VESAversion`
  VESA BIOS extensions version number

`int VideoMode`
  Selected video mode number

`bool IsXmode`
  Is selected video mode a X-mode?

`bool IsBanked`
  Is selected video mode banked?

`int VideoPages`
  How many linearly addressable video pages fits in video RAM?

`unsigned int BytesPerScanLine`
  Bytes per scan line

`unsigned int BytesPerPixel`
  Bytes per pixel

`unsigned int WindowGranularity`
  VESA SVGA window granularity

`unsigned int WindowSize`
  VESA SVGA window size

`unsigned int ScanLinesPerPage`
  Scan lines per page

`unsigned int VideoPage`
  Current video page we are writing to

`int ScreenSize`
  Screen image size

`int PageSize`
  Size of one videopage

`unsigned int VideoRAM`
  Total amount of video RAM on board

`bool WaitVR`
  Wait for vertical retrace when switching pages?

`bool UseDoubleBuffering`
  Use two videopages if available?

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de