Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::Display Class Reference

Base class for instantiating a video display and the API to drive it. More...

Inheritance diagram for Burger::Display:
Collaboration diagram for Burger::Display:

Classes

struct  Globals_t
 Values to describe the default settings of the display. More...
 
struct  OpenGLVertexBufferObjectDescription_t
 Description of an OpenGL vertex buffer object. More...
 
struct  OpenGLVertexInputs_t
 Description of an OpenGL vertex input list. More...
 
class  VideoCardDescription
 Description of a video card's available video modes. More...
 
struct  VideoMode_t
 Description of a video card's video mode. More...
 

Public Types

enum  {
  INWINDOW = 0x0 , FULLSCREEN = 0x1 , ALLOWFULLSCREENTOGGLE = 0x2 , ALLOWRESIZING = 0x4 ,
  MAINTAIN_ASPECT_RATIO = 0x8 , STENCILENABLE = 0x20 , FULLPALETTEALLOWED = 0x40 , STEREO = 0x80 ,
  MULTITHREADED = 0x100 , GAMMAENABLE = 0x200 , DITHERENABLE = 0x400 , INTERLACEENABLE = 0x800 ,
  LANDSCAPE = 0x0000 , PORTRAIT = 0x1000 , INVERTED = 0x2000 , LANDSCAPEINVERTED = 0x2000 ,
  PORTRAITINVERTED = 0x3000 , PALMODE = 0x4000 , DEFAULTFLAGS = INWINDOW
}
 
enum  eAspectRatio {
  kAspectRatioUnknown , kAspectRatio1x1 , kAspectRatio4x3 , kAspectRatio16x10 ,
  kAspectRatio16x9 , kAspectRatio21x9 , kAspectRatio32x9 , kAspectRatioCustom ,
  kAspectRatioCount
}
 
enum  eClearBits { CLEAR_COLOR = 0x01 , CLEAR_DEPTH = 0x02 , CLEAR_STENCIL = 0x04 }
 Settings for Clear(uint_t) More...
 
enum  eDepthFunction {
  DEPTHCMP_NEVER , DEPTHCMP_LESS , DEPTHCMP_EQUAL , DEPTHCMP_LESSEQUAL ,
  DEPTHCMP_GREATER , DEPTHCMP_NOTEQUAL , DEPTHCMP_GREATEREQUAL , DEPTHCMP_ALWAYS
}
 Settings for SetDepthTest(eDepthFunction) More...
 
enum  eCullMode { CULL_NONE , CULL_CLOCKWISE , CULL_COUNTERCLOCKWISE }
 Settings for SetCullMode(eCullMode) More...
 
enum  eSourceBlendFactor {
  SRCBLEND_ZERO , SRCBLEND_ONE , SRCBLEND_COLOR , SRCBLEND_ONE_MINUS_COLOR ,
  SRCBLEND_SRC_ALPHA , SRCBLEND_ONE_MINUS_SRC_ALPHA , SRCBLEND_DST_ALPHA , SRCBLEND_ONE_MINUS_DST_ALPHA ,
  SRCBLEND_SRC_ALPHA_SATURATE
}
 Settings for SetBlendFunction(eSourceBlendFactor) More...
 
enum  eDestinationBlendFactor {
  DSTBLEND_ZERO , DSTBLEND_ONE , DSTBLEND_COLOR , DSTBLEND_ONE_MINUS_COLOR ,
  DSTBLEND_DST_ALPHA , DSTBLEND_ONE_MINUS_DST_ALPHA , DSTBLEND_SRC_ALPHA , DSTBLEND_ONE_MINUS_SRC_ALPHA
}
 Settings for SetBlendFunction(eDestinationBlendFactor) More...
 
enum  ePrimitiveType {
  PRIM_POINTS , PRIM_LINES , PRIM_LINESTRIP , PRIM_TRIANGLES ,
  PRIM_TRIANGLESTRIP , PRIM_TRIANGLEFAN
}
 Describe how to render a vertex array. More...
 
typedef uint_t(*) FadeProc(void *pThis, uint_t uStep)
 Callback function prototype for palette fading functions.
 
typedef void(*) ResizeProc(void *pThis, uint_t uWidth, uint_t uHeight)
 Callback function prototype for window resizing.
 
typedef void(*) RenderProc(void *pThis)
 Callback function for rendering the scene.
 
typedef void(*) ReleaseProc(void *pThis)
 Callback function for releasing resources on shutdown.
 

Public Member Functions

const Burger::StaticRTTIget_StaticRTTI (void) const noexcept override
 Get the description to the class.
 
 Display (GameApp *pGameApp)
 Default constructor.
 
virtual ~Display ()
 Default destructor.
 
uint_t Init (uint_t uWidth, uint_t uHeight, uint_t uDepth=32, uint_t uFlags=DEFAULTFLAGS)
 Initialize the display.
 
void Shutdown (void)
 Shut down the current video display context.
 
void BeginScene (void)
 Prepare the display for rendering.
 
void EndScene (void)
 Render the scene to the display.
 
TextureCreateTextureObject (void)
 
VertexBufferCreateVertexBufferObject (void)
 
void Resize (uint_t uWidth, uint_t uHeight)
 
void SetViewport (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight)
 
void SetScissorRect (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight)
 
void SetClearColor (float fRed, float fGreen, float fBlue, float fAlpha)
 
void SetClearDepth (float fDepth)
 
void Clear (uint_t uMask)
 
void Bind (Texture *pTexture, uint_t uIndex=0)
 
void Bind (Effect *pEffect)
 
void SetBlend (uint_t bEnable)
 
void SetBlendFunction (eSourceBlendFactor uSourceFactor, eDestinationBlendFactor uDestFactor)
 
void SetLighting (uint_t bEnable)
 
void SetZWrite (uint_t bEnable)
 
void SetDepthTest (eDepthFunction uDepthFunction)
 
void SetCullMode (eCullMode uCullMode)
 
void SetScissor (uint_t bEnable)
 
void DrawPrimitive (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer)
 
void DrawElements (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer)
 
tagWINDOWPLACEMENT * GetWindowedPlacement (void) noexcept
 Return the pointer to a WINDOWPLACEMENT.
 
uint_t HandleMinMax (HWND__ *pWindow, uintptr_t lParam)
 Handler for WM_GETMINMAXINFO events.
 
virtual void CheckForWindowSizeChange (void)
 Resize the back buffer if the window size changed.
 
virtual void CheckForWindowChangingMonitors (void)
 Check if the window has changed monitors.
 
D3DVertexShader * CreateVertexShader (const void *pVertexShaderBinary) const
 
D3DPixelShader * CreatePixelShader (const void *pPixelShaderBinary) const
 
D3DDevice * GetD3DDevice (void) const noexcept
 
void InitState (void)
 
uint_t IsWideScreen (void) noexcept
 
uint_t IsHiDef (void) noexcept
 
uint_t IsInterlaced (void) noexcept
 
NSView * GetView (void) const noexcept
 Get the window's NSView.
 
NSWindowController * GetWindowController (void) const noexcept
 Get the window's NSWindowController.
 
NSOpenGLView * GetOpenGLView (void) const noexcept
 Get the window's NSOpenGLView.
 
_CGLContextObject * GetOpenGLContext (void) const noexcept
 Get the window's _CGLContextObject.
 
NSWindow * GetFullScreenWindow (void) const noexcept
 Get the window pointer.
 
void SetFullScreenWindow (NSWindow *pFullScreenWindow) noexcept
 Enable a full screen window and disable the primary game window.
 
EAGLContext * GetGLContext (void) const noexcept
 The currently active OpenGL context.
 
uint_t GetFrontBuffer (void) const noexcept
 Front buffer index.
 
uint_t GetColorBuffer (void) const noexcept
 Color buffer index.
 
uint_t GetDepthBuffer (void) const noexcept
 Depth buffer index.
 
void Pause (uint_t bPauseRendering)
 Pause or resume rendering.
 
TextureGetBoundTexture (uint_t uIndex=0) const noexcept
 
TextureCreateTexture (Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping and filters preset.
 
TextureCreateTexture (uint_t uWidth, uint_t uHeight, Image::ePixelTypes uPixelType, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with buffer and wrapping and filters preset.
 
TextureCreateTexturePNG (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTexturePNG (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTexturePNG (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
VertexBufferCreateVertexBuffer (const VertexBuffer::VertexAoS_t *pDescription)
 Create a vertex buffer object with from a vertex description.
 
void SetPalette (uint_t uStart, uint_t uCount, const uint8_t *pPalette)
 Update the color palette.
 
void SetPalette (uint_t uStart, uint_t uCount, const RGBAWord8_t *pPalette)
 Update the color palette.
 
void SetBorderColor (uint_t uColor)
 Update the display border color.
 
void SetWindowTitle (const char *pTitle)
 Set the display window title.
 
void SetPaletteBlack (void)
 Set the screen palette to all black.
 
void SetPaletteWhite (void)
 Set the screen palette to all white.
 
void SetPalette (const uint8_t *pPalette)
 Update the color palette.
 
void SetPalette (const RGBAWord8_t *pPalette)
 Update the color palette.
 
void SetPalette (void **pHandle)
 Update the color palette using a memory handle.
 
void SetPalette (RezFile *pRez, uint_t uResID)
 Update the color palette using a resource.
 
void SetPalette (uint_t uStart, uint_t uCount, RezFile *pRez, uint_t uResID)
 Update a partial color palette using a resource.
 
void FadeTo (const uint8_t *pPalette, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
void FadeToBlack (FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to black.
 
void FadeToWhite (FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to white.
 
void FadeTo (RezFile *pRez, uint_t uResID, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
void FadeTo (void **pHandle, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
GameAppGetGameApp (void) const noexcept
 Get the parent application pointer.
 
uint_t GetWidth (void) const noexcept
 Get the width in pixels of the display buffer.
 
uint_t GetHeight (void) const noexcept
 Get the height in pixels of the display buffer.
 
uint_t GetDepth (void) const noexcept
 Get the depth in bits of the display buffer.
 
uint_t GetFlags (void) const noexcept
 Get the flags associated with this Display class instance.
 
uint_t GetDisplayWidth (void) const noexcept
 Get the width in pixels of the display hardware.
 
uint_t GetDisplayHeight (void) const noexcept
 Get the height in pixels of the display hardware.
 
float GetWidthFloat (void) const noexcept
 Get the width in pixels of the display buffer.
 
float GetHeightFloat (void) const noexcept
 Get the height in pixels of the display buffer.
 
float GetAspectRatioX (void) const noexcept
 Get the aspect ratio in the format of width/height.
 
float GetAspectRatioY (void) const noexcept
 Get the aspect ratio in the format of height/width.
 
eAspectRatio GetAspectRatio (void) const
 Get the enumeration of the screen aspect ratio.
 
const uint8_t * GetPalette (void) const noexcept
 Get the current palette.
 
uint_t GetBorderColor (void) const noexcept
 Get the hardware border color.
 
uint_t GetFadeSpeed (void) const noexcept
 Return the timer constant in Burger::Tick.
 
void SetFadeSpeed (uint_t uPaletteFadeSpeed) noexcept
 Set the timer constant in Burger::Tick.
 
uint_t GetPaletteVSync (void) const noexcept
 Return non-zero if palette updates are synced to vertical blank.
 
void SetPaletteVSync (uint_t bPaletteVSync) noexcept
 Set the flag to enable palette updates.
 
void SetResizeCallback (ResizeProc pResize, void *pResizeData) noexcept
 Set window resize callback.
 
ResizeProc GetResizeCallback (void) const noexcept
 Return the function pointer for the callback when the window's size is changed.
 
void * GetResizeCallbackData (void) const noexcept
 Return the window resize function.
 
void SetRenderCallback (RenderProc pRender, void *pRenderData) noexcept
 Set window update function.
 
RenderProc GetRenderCallback (void) const noexcept
 Set the window updat function.
 
void * GetRenderCallbackData (void) const noexcept
 Get the redraw callback function.
 
void SetReleaseCallback (ReleaseProc pRelease, void *pReleaseData) noexcept
 Set the purge callback.
 
ReleaseProc GetReleaseCallback (void) const noexcept
 Purge resource callback.
 
void * GetReleaseCallbackData (void) const noexcept
 Return pointer to callback void *.
 
- Public Member Functions inherited from Burger::Base
const char * get_class_name (void) const noexcept
 Get the name of the class.
 
virtual ~Base () noexcept=default
 Destructor.
 

Static Public Member Functions

static float GetRetinaScale (void) noexcept
 Get the scale factor for the retina display.
 
static uint_t GetVideoModes (ClassArray< VideoCardDescription > *pOutput)
 Get a list of available video modes.
 
static uint_t GetDefaultWidth (void) noexcept
 Get the width of the default monitor.
 
static uint_t GetDefaultHeight (void) noexcept
 Get the height of the default monitor.
 
static uint_t GetDefaultDepth (void) noexcept
 Get the pixel depth of the default monitor.
 
static uint_t GetDefaultHertz (void) noexcept
 Get the refresh rate of the default monitor.
 
static uint_t GetDefaultTotalWidth (void) noexcept
 Get the width of the default monitor.
 
static uint_t GetDefaultTotalHeight (void) noexcept
 Get the height of the default monitor.
 
static uint_t GetDefaultMonitorCount (void) noexcept
 Get the number of active monitors.
 
static eAspectRatio get_aspect_ratio (uint32_t uWidth, uint32_t uHeight, uint_t bExactOnly) noexcept
 Calculate the screen aspect ratio.
 

Static Public Attributes

static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Base
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 

Protected Member Functions

void InitDefaults (GameApp *pGameApp)
 Initialize shared variables.
 
void SetWidthHeight (uint_t uWidth, uint_t uHeight)
 Set the width and height of the screen.
 

Static Protected Member Functions

static void InitGlobals (void)
 Initialize video globals.
 

Protected Attributes

GameAppm_pGameApp
 Pointer to the game application instance.
 
Rendererm_pRenderer
 Pointer to a renderer.
 
uint32_t m_WindowPlacement [11]
 WINDOWPLACEMENT record.
 
D3DDevice * m_pD3DDevice
 (Xbox 360 Only) Direct 3D device
 
uint_t m_uClearColor
 (Xbox 360 Only) 32 bit RGBA color for screen clear
 
float m_fClearDepth
 (Xbox 360 Only) ZValue to write for screen clear
 
uint_t m_bWideScreen
 (Xbox 360 Only) TRUE if wide screen display is active
 
NSView * m_pView
 (MacOSX Only) Pointer to the main view
 
NSWindowController * m_pWindowController
 (MacOSX Only) Pointer to the window controller
 
NSOpenGLView * m_pOpenGLView
 (MacOSX Only) Pointer to the OpenGL view
 
_CGLContextObject * m_pOpenGLContext
 (MacOSX Only) Pointer to the OpenGL context
 
NSWindow * m_pFullScreenWindow
 (MacOSX Only) Pointer to the main full screen window
 
EAGLContext * m_pEAGLContext
 (iOS Only) OpenGL Context
 
uint_t m_uFrontBuffer
 (iOS Only) Main render buffer GL name
 
uint_t m_uColorRenderBuffer
 (iOS Only) Color render buffer GL name
 
uint_t m_uDepthRenderBuffer
 (iOS Only) Depth buffer for rendering
 
ResizeProc m_pResize
 Callback if the screen changed sizes.
 
void * m_pResizeData
 pThis pointer for m_pResize calls
 
RenderProc m_pRender
 Callback if the operating system requests a scene draw.
 
void * m_pRenderData
 pThis pointer for m_pRender calls
 
ReleaseProc m_pRelease
 Callback if the operating system requests a scene draw.
 
void * m_pReleaseData
 pThis pointer for m_pRender calls
 
Texturem_pBoundTextures [8]
 Bound textures for the current context.
 
uint_t m_uWidth
 Width in pixels of the display buffer.
 
uint_t m_uHeight
 Height in pixels of the display buffer.
 
uint_t m_uDepth
 Depth in bits of the display buffer.
 
uint_t m_uFlags
 Flags for describing available features.
 
uint_t m_uDisplayWidth
 Width of the display hardware (Can differ from m_uWidth for pixel stretching)
 
uint_t m_uDisplayHeight
 Height of the display hardware (Can differ from m_uHeight for pixel stretching)
 
uint_t m_uDisplayDepth
 Depth of the display hardware (Can differ from m_uDepth for pixel depth change)
 
float m_fWidth
 Width of the rendering target as a float.
 
float m_fHeight
 Height of the rendering target as a float.
 
float m_fAspectRatioX
 Width/Height.
 
float m_fAspectRatioY
 Height/Width.
 
uint_t m_uBorderColor
 Hardware border color (MSDOS / Amiga only)
 
uint_t m_uPaletteFadeSpeed
 Speed in 1/60ths of a second for a palette fade.
 
int m_iPauseRenderingCount
 Rendering pausing reference count.
 
uint8_t m_bRenderingPaused
 If TRUE, rendering is paused.
 
uint8_t m_bPaletteDirty
 TRUE if the palette buffer was changed
 
uint8_t m_bPaletteVSync
 TRUE if palette updates sync to video
 
uint8_t m_bNotUsed [1]
 Padding.
 
uint8_t m_Palette [256 *3]
 Palette of 256 RGB values.
 

Static Protected Attributes

static Globals_t g_Globals
 Global values initialized when the first Display class is created.
 

Private Member Functions

 Display (const Display &)=delete
 
Displayoperator= (const Display &)=delete
 
 Display (Display &&)=delete
 
Displayoperator= (Display &&)=delete
 

Detailed Description

Base class for instantiating a video display and the API to drive it.


This class manages video displays, resources and APIs to render images.

Since palettes are tied to a video display, this class will manage palettes for palette display contexts. If the display is in true color, palette functions will only update internal buffers but will not affect actual rendering.

Classes for specific rendering APIs derive from this base class.

See also
Burger::Renderer, Burger::Display, Burger::DisplayOpenGL, Burger::DisplayDirectX9, Burger::DisplayDirectX11, Burger::DisplayOpenGLSoftware16 or Burger::DisplayOpenGLSoftware8

Member Typedef Documentation

◆ FadeProc

uint_t( *) Burger::Display::FadeProc(void *pThis, uint_t uStep)

Callback function prototype for palette fading functions.

◆ ReleaseProc

void( *) Burger::Display::ReleaseProc(void *pThis)

Callback function for releasing resources on shutdown.

◆ RenderProc

void( *) Burger::Display::RenderProc(void *pThis)

Callback function for rendering the scene.

◆ ResizeProc

void( *) Burger::Display::ResizeProc(void *pThis, uint_t uWidth, uint_t uHeight)

Callback function prototype for window resizing.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
INWINDOW 

The display is in a desktop window, best for debugging.

FULLSCREEN 

Set if full screen is desired.

ALLOWFULLSCREENTOGGLE 

Set if Alt-Enter is allowed to switch from full screen to windowed mode.

ALLOWRESIZING 

On desktop platforms, allow the window to be resized.

MAINTAIN_ASPECT_RATIO 

If Resizing is allowed, maintain the aspect ratio.

STENCILENABLE 

Enable stencil mode.

FULLPALETTEALLOWED 

Set if all 256 colors of the palette can be used.

STEREO 

Set if 3D Glasses support is enabled.

MULTITHREADED 

Hint that rendering is performed on multiple threads.

GAMMAENABLE 

Enable gamma support.

DITHERENABLE 

Enable dithering.

INTERLACEENABLE 

Enable interlacing.

LANDSCAPE 

Landscape mode.

PORTRAIT 

Portrait mode.

INVERTED 

Inverted.

LANDSCAPEINVERTED 

Inverted landscape mode.

PORTRAITINVERTED 

Inverted portrait mode.

PALMODE 

PAL interlace mode.

DEFAULTFLAGS 

Default window flags (Debug is in a window, release is full screen)

◆ eAspectRatio

Enumerator
kAspectRatioUnknown 

Undefined aspect ratio.

kAspectRatio1x1 

Square aspect ratio.

kAspectRatio4x3 

4x3 aspect ratio (TV)

kAspectRatio16x10 

16x10 aspect ratio (laptops)

kAspectRatio16x9 

16x9 aspect ratio (wide screen)

kAspectRatio21x9 

21x9 aspect ratio (super wide monitors)

kAspectRatio32x9 

32x9 aspect ratio (Ultra wide monitors)

kAspectRatioCustom 

Non-standard aspect ratio (Custom monitors)

kAspectRatioCount 

Number of aspect ratios.

◆ eClearBits

Settings for Clear(uint_t)


Bitfield for which buffers to clear upon the start of rendering a frame buffer

See also
Clear(uint_t)
Enumerator
CLEAR_COLOR 

Used by Clear(uint_t) to clear the color buffer.

CLEAR_DEPTH 

Used by Clear(uint_t) to clear the depth buffer.

CLEAR_STENCIL 

Used by Clear(uint_t) to clear the stencil buffer.

◆ eCullMode

Settings for SetCullMode(eCullMode)


Enumeration to set the polygon culling mode.

See also
SetCullMode(eCullMode)
Enumerator
CULL_NONE 

Don't cull any polygons.

CULL_CLOCKWISE 

Don't render clockwise oriented polygons.

CULL_COUNTERCLOCKWISE 

Don't render counter clockwise oriented polygons.

◆ eDepthFunction

Settings for SetDepthTest(eDepthFunction)


Enumeration to set the depth test type.

See also
SetDepthTest(eDepthFunction)
Enumerator
DEPTHCMP_NEVER 

Never render the pixel.

DEPTHCMP_LESS 

Render if Z is less than Depth Z.

DEPTHCMP_EQUAL 

Render if Z is equal to the Depth Z.

DEPTHCMP_LESSEQUAL 

Render if Z is less than or equal to the Depth Z.

DEPTHCMP_GREATER 

Render if Z is greater than Depth Z.

DEPTHCMP_NOTEQUAL 

Render if Z is not equal to the Depth Z.

DEPTHCMP_GREATEREQUAL 

Render if Z is greater than or equal to the Depth Z.

DEPTHCMP_ALWAYS 

Always render the pixel (Same as turning off depth testing, allows zwrites)

◆ eDestinationBlendFactor

Settings for SetBlendFunction(eDestinationBlendFactor)


Enumeration to set the destination pixel blending mode.

See also
SetBlendFunction(eSourceBlendFactor,eDestinationBlendFactor)
Enumerator
DSTBLEND_ZERO 

Destination alpha is forced to zero.

DSTBLEND_ONE 

Destination alpha is forced to one.

DSTBLEND_COLOR 

Destination alpha is each color component.

DSTBLEND_ONE_MINUS_COLOR 

Destination alpha is 1-color component.

DSTBLEND_DST_ALPHA 

Destination alpha is the alpha component.

DSTBLEND_ONE_MINUS_DST_ALPHA 

Destination alpha is 1-alpha component.

DSTBLEND_SRC_ALPHA 

Destination alpha is the source buffer alpha component.

DSTBLEND_ONE_MINUS_SRC_ALPHA 

Destination alpha is the source buffer 1-alpha component.

◆ ePrimitiveType

Describe how to render a vertex array.


Enumeration to determine how to render an array of vertices

See also
DrawElements(ePrimitiveType) or DrawPrimitive(ePrimitiveType)
Enumerator
PRIM_POINTS 

Draw array as points.

PRIM_LINES 

Draw array as line end to end pairs.

PRIM_LINESTRIP 

Draw array as a long line.

PRIM_TRIANGLES 

Draw array as triangles.

PRIM_TRIANGLESTRIP 

Draw array as triangle strip.

PRIM_TRIANGLEFAN 

Draw array as a triangle fan.

◆ eSourceBlendFactor

Settings for SetBlendFunction(eSourceBlendFactor)


Enumeration to set the source pixel blending mode.

See also
SetBlendFunction(eSourceBlendFactor,eDestinationBlendFactor)
Enumerator
SRCBLEND_ZERO 

Source alpha is forced to zero.

SRCBLEND_ONE 

Source alpha is forced to one.

SRCBLEND_COLOR 

Source alpha is each color component.

SRCBLEND_ONE_MINUS_COLOR 

Source alpha is 1-color component.

SRCBLEND_SRC_ALPHA 

Source alpha is the alpha component.

SRCBLEND_ONE_MINUS_SRC_ALPHA 

Source alpha is 1-alpha component.

SRCBLEND_DST_ALPHA 

Source alpha is the destination buffer alpha component.

SRCBLEND_ONE_MINUS_DST_ALPHA 

Source alpha is the destination buffer 1-alpha component.

SRCBLEND_SRC_ALPHA_SATURATE 

Saturate the alpha with 1.

Constructor & Destructor Documentation

◆ Display() [1/3]

Burger::Display::Display ( const Display & )
privatedelete

◆ Display() [2/3]

Burger::Display::Display ( Display && )
privatedelete

◆ Display() [3/3]

Burger::Display::Display ( GameApp * pGameApp)

Default constructor.


Initializes all of the shared variables and hooks up the Display and the Renderer to the GameApp.

Variables are initialized, but the display is not activated. Call Init(uint_t,uint_t,uint_t,uint_t) to activate the display.

Parameters
pGameAppPointer to the game application
See also
Init(uint_t,uint_t,uint_t,uint_t)

◆ ~Display()

Burger::Display::~Display ( )
virtual

Default destructor.

Shut down OpenGL.


Shuts down the video context and issues a shutdown to the renderer

See also
Shutdown() and SetRenderer()

Release all resources allocated by OpenGL

See also
DisplayOpenGL()

Member Function Documentation

◆ BeginScene()

void Burger::Display::BeginScene ( void )

Prepare the display for rendering.


This function will call the Renderer::BeginScene() function after any operating system calls are issued so the renderer can prepare for drawing.

This must be paired with a subsequent call to Burger::Display::EndScene()

See also
Burger::Display::EndScene()

◆ Bind() [1/2]

void Burger::Display::Bind ( Effect * pEffect)

◆ Bind() [2/2]

void Burger::Display::Bind ( Texture * pTexture,
uint_t uIndex = 0 )

◆ CheckForWindowChangingMonitors()

void Burger::Display::CheckForWindowChangingMonitors ( void )
virtual

Check if the window has changed monitors.


Note
This is only available on Windows

Reimplemented in Burger::DisplayDirectX9.

◆ CheckForWindowSizeChange()

void Burger::Display::CheckForWindowSizeChange ( void )
virtual

Resize the back buffer if the window size changed.


Note
This is only available on Windows

Reimplemented in Burger::DisplayDirectX9.

◆ Clear()

void Burger::Display::Clear ( uint_t uMask)

◆ CreatePixelShader()

D3DPixelShader *BURGER_API Burger::Display::CreatePixelShader ( const void * pPixelShaderBinary) const

◆ CreateTexture() [1/2]

Burger::Texture *BURGER_API Burger::Display::CreateTexture ( Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping and filters preset.


Create a texture object and set the wrapping and filter settings.

Parameters
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTexture() [2/2]

Burger::Texture *BURGER_API Burger::Display::CreateTexture ( uint_t uWidth,
uint_t uHeight,
Image::ePixelTypes uPixelType,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with buffer and wrapping and filters preset.


Create a texture object and set the wrapping and filter settings and create a buffer to hold the pixel map information.

Parameters
uWidthWidth of the texture in pixels
uHeightHeight of the texture in pixels
uPixelTypeType of pixel data contained in the bitmap
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureBMP() [1/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureBMP ( const char * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a BMP file.

Parameters
pFilenamePointer to a "C" string of a Burgerlib path of the texture file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureBMP() [2/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureBMP ( Filename * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a BMP file.

Parameters
pFilenamePointer to a Burgerlib Filename object with the filename
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureBMP() [3/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureBMP ( RezFile * pRezFile,
uint_t uRezNum,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a BMP file.

Parameters
pRezFilePointer to a Burgerlib RezFile
uRezNumChuck ID of the data containing the image file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureGIF() [1/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureGIF ( const char * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a GIF file.

Parameters
pFilenamePointer to a "C" string of a Burgerlib path of the texture file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureGIF() [2/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureGIF ( Filename * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a GIF file.

Parameters
pFilenamePointer to a Burgerlib Filename object with the filename
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureGIF() [3/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureGIF ( RezFile * pRezFile,
uint_t uRezNum,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a GIF file.

Parameters
pRezFilePointer to a Burgerlib RezFile
uRezNumChuck ID of the data containing the image file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureObject()

Burger::Texture * Burger::Display::CreateTextureObject ( void )

◆ CreateTexturePNG() [1/3]

Burger::Texture *BURGER_API Burger::Display::CreateTexturePNG ( const char * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a PNG file.

Parameters
pFilenamePointer to a "C" string of a Burgerlib path of the texture file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTexturePNG() [2/3]

Burger::Texture *BURGER_API Burger::Display::CreateTexturePNG ( Filename * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a PNG file.

Parameters
pFilenamePointer to a Burgerlib Filename object with the filename
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTexturePNG() [3/3]

Burger::Texture *BURGER_API Burger::Display::CreateTexturePNG ( RezFile * pRezFile,
uint_t uRezNum,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a PNG file.

Parameters
pRezFilePointer to a Burgerlib RezFile
uRezNumChuck ID of the data containing the image file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureTGA() [1/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureTGA ( const char * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a TGA file.

Parameters
pFilenamePointer to a "C" string of a Burgerlib path of the texture file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureTGA() [2/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureTGA ( Filename * pFilename,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a TGA file.

Parameters
pFilenamePointer to a Burgerlib Filename object with the filename
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateTextureTGA() [3/3]

Burger::Texture *BURGER_API Burger::Display::CreateTextureTGA ( RezFile * pRezFile,
uint_t uRezNum,
Texture::eWrapping uWrapping,
Texture::eFilter uFilter )

Create a texture object with wrapping, filters and a texture source.


Create a texture object and set the wrapping and filter settings and set it up to obtain the bitmap from a TGA file.

Parameters
pRezFilePointer to a Burgerlib RezFile
uRezNumChuck ID of the data containing the image file
uWrappingTexture wrapping constant
uFilterTexture filter constant
Returns
NULL if the object couldn't be created or a valid texture object.
See also
CreateTextureObject()

◆ CreateVertexBuffer()

Burger::VertexBuffer *BURGER_API Burger::Display::CreateVertexBuffer ( const VertexBuffer::VertexAoS_t * pDescription)

Create a vertex buffer object with from a vertex description.


Given an Array of Structures description, create a vertex buffer that is initialized with the data

Parameters
pDescriptionPointer to a description
Returns
NULL if the object couldn't be created or a valid vertex object.
See also
CreateVertexBufferObject()

◆ CreateVertexBufferObject()

Burger::VertexBuffer * Burger::Display::CreateVertexBufferObject ( void )

◆ CreateVertexShader()

D3DVertexShader *BURGER_API Burger::Display::CreateVertexShader ( const void * pVertexShaderBinary) const

◆ DrawElements()

void Burger::Display::DrawElements ( ePrimitiveType uPrimitiveType,
VertexBuffer * pVertexBuffer )

◆ DrawPrimitive()

void Burger::Display::DrawPrimitive ( ePrimitiveType uPrimitiveType,
VertexBuffer * pVertexBuffer )

◆ EndScene()

void Burger::Display::EndScene ( void )

Render the scene to the display.


Alert the operating system that all rendering calls are complete and the hardware is permitted to begin rendering the scene.

The renderer is issued a call to Renderer::EndScene() before the operating system so all rendering calls can be completed before the scene is sent to the GPU or other rendering sub-system.

See also
Burger::Display::BeginScene()

◆ FadeTo() [1/3]

void BURGER_API Burger::Display::FadeTo ( const uint8_t * pPalette,
FadeProc pProc = nullptr,
void * pData = nullptr )

Fade the hardware palette to a palette.


Given an arbitrary palette, and a preset palette speed variable, fade from the currently shown palette to the new arbitrary palette using smooth steps.

If the requested palette is the same as Display::m_Palette, this routine does nothing.

Every time the hardware palette is written to, the function pProc() is called if the user has set it to a valid function pointer. It is passed a 0 on startup and the value increments until it reaches 16 when the palette is finished. Only parameter 0 and 16 are guaranteed to be called. All other values will only be passed once or skipped due to low machine speed.

Note
Running under Windows or BeOS, the thread that calls this routine will be put to sleep during time delays between Vertical Blank (VBL) palette updates. Keyboard::GetKeyEvent() will only be called no more than the VBL rate. All other platforms will wait between VBL's with CPU polling.
Parameters
pPalettePointer to the 768 byte palette to fade to.
pProcFunction pointer to callback or NULL if callbacks are not desired
pDataData pointer for the callback. Can be NULL.
See also
FadeTo(RezFile *,uint_t,,FadeProc,void *), FadeToWhite(), FadeToBlack(), GameApp::Poll(), m_uPaletteFadeSpeed, m_bPaletteVSync, m_Palette, Tick::read()

◆ FadeTo() [2/3]

void BURGER_API Burger::Display::FadeTo ( RezFile * pRez,
uint_t uResID,
FadeProc pProc = nullptr,
void * pData = nullptr )

Fade the hardware palette to a palette.


All color entries in the hardware palette are set to the new palette slowly over time.

Parameters
pRezReference to the resource file that has the palette to fade to.
uResIDThe resource number of the palette
pProcFunction pointer to callback or NULL if callbacks are not desired
pDataData pointer for the callback. Can be NULL.
See also
FadeTo(const uint8_t *,FadeProc,void *), FadeToWhite(), FadeToBlack()

◆ FadeTo() [3/3]

void BURGER_API Burger::Display::FadeTo ( void ** pHandle,
FadeProc pProc = nullptr,
void * pData = nullptr )

Fade the hardware palette to a palette.


All color entries in the hardware palette are set to the new palette slowly over time.

The handle is returned unlocked. Nothing is performed if the handle is invalid or purged.

Parameters
pHandleHandle to the palette to fade to.
pProcFunction pointer to callback or NULL if callbacks are not desired
pDataData pointer for the callback. Can be NULL.
See also
FadeTo(const uint8_t *,FadeProc,void *), FadeToWhite(), FadeToBlack()

◆ FadeToBlack()

void BURGER_API Burger::Display::FadeToBlack ( FadeProc pProc = nullptr,
void * pData = nullptr )

Fade the hardware palette to black.


All color entries in the hardware palette are set to black slowly over time.

Parameters
pProcFunction pointer to callback or NULL if callbacks are not desired
pDataData pointer for the callback. Can be NULL.
See also
FadeTo(const uint8_t *,FadeProc,void *), SetPaletteBlack(), FadeToWhite()

◆ FadeToWhite()

void BURGER_API Burger::Display::FadeToWhite ( FadeProc pProc = nullptr,
void * pData = nullptr )

Fade the hardware palette to white.


All color entries in the hardware palette are set to white slowly over time.

Parameters
pProcFunction pointer to callback or NULL if callbacks are not desired
pDataData pointer for the callback. Can be NULL.
See also
FadeTo(const uint8_t *,FadeProc,void *), SetPaletteWhite(), FadeToBlack()

◆ get_aspect_ratio()

Burger::Display::eAspectRatio Burger::Display::get_aspect_ratio ( uint32_t uWidth,
uint32_t uHeight,
uint_t bExactOnly )
staticnoexcept

Calculate the screen aspect ratio.


Check for an exact aspect ratio match if bExactOnly is TRUE. Otherwise, find the aspect ratio enumeration that's the closest match.

If no match is found, return kAspectRatioUnknown

Returns
eAspectRatio enumeration

◆ get_StaticRTTI()

const Burger::StaticRTTI * Burger::Display::get_StaticRTTI ( void ) const
overridevirtualnoexcept

Get the description to the class.


This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.

Returns
Pointer to a global, read only instance of StaticRTTI for the true class

Reimplemented from Burger::Base.

Reimplemented in Burger::DisplayDirectX11, Burger::DisplayDirectX9, Burger::DisplayOpenGL, and Burger::DisplayOpenGLSoftware8.

◆ GetAspectRatio()

Burger::Display::eAspectRatio BURGER_API Burger::Display::GetAspectRatio ( void ) const

Get the enumeration of the screen aspect ratio.


Convert the aspect ratio values into the closest enumeration of a standard aspect ratio.

Returns
Enumeration of the screen's current aspect ratio

◆ GetAspectRatioX()

float Burger::Display::GetAspectRatioX ( void ) const
inlinenoexcept

Get the aspect ratio in the format of width/height.


Returns
Aspect ratio in the X direction
See also
GetAspectRatioY() const

◆ GetAspectRatioY()

float Burger::Display::GetAspectRatioY ( void ) const
inlinenoexcept

Get the aspect ratio in the format of height/width.


Returns
Aspect ratio in the Y direction
See also
GetAspectRatioX() const

◆ GetBorderColor()

uint_t Burger::Display::GetBorderColor ( void ) const
inlinenoexcept

Get the hardware border color.


On some platforms, such as MSDOS VGA/MCGA or the Commodore Amiga, the display's border color can be set. This function will return that color.

Note
On MSDOS, the EGA value of the border color is 4 bits (0-15).
Returns
Value previously set by SetBorderColor(uint_t) or zero if uninitialized.
See also
SetBorderColor(uint_t)

◆ GetBoundTexture()

Texture * Burger::Display::GetBoundTexture ( uint_t uIndex = 0) const
inlinenoexcept

◆ GetColorBuffer()

uint_t Burger::Display::GetColorBuffer ( void ) const
inlinenoexcept

Color buffer index.


When an OpenGL context is created, a color buffer is declared and initialized. This index allows user code to access the color buffer through this index

Note
This is only available on iOS
Returns
Color buffer index obtained from glGenRenderbuffers()
See also
GetDepthBuffer(void) const or GetFrontBuffer(void) const

◆ GetD3DDevice()

D3DDevice * Burger::Display::GetD3DDevice ( void ) const
inlinenoexcept

◆ GetDefaultDepth()

static uint_t Burger::Display::GetDefaultDepth ( void )
inlinestaticnoexcept

Get the pixel depth of the default monitor.


This is initialized with the pixel depth of the user's desktop from the primary display.

Note
This value is only valid after a Display class instance was created.
Returns
Default pixel depth in bits
See also
GetDefaultWidth(void), GetDefaultHeight(void) or GetDefaultHertz(void)

◆ GetDefaultHeight()

static uint_t Burger::Display::GetDefaultHeight ( void )
inlinestaticnoexcept

Get the height of the default monitor.


This is initialized with the size of the user's desktop height from the primary display.

Note
This value is only valid after a Display class instance was created.
Returns
Default monitor height in pixels
See also
GetDefaultWidth(void), GetDefaultDepth(void) or GetDefaultHertz(void)

◆ GetDefaultHertz()

static uint_t Burger::Display::GetDefaultHertz ( void )
inlinestaticnoexcept

Get the refresh rate of the default monitor.


This is initialized with the refresh rate of the user's desktop from the primary display.

Note
This value is only valid after a Display class instance was created.
Returns
Default refresh rate in hertz (Can be zero if not applicable)
See also
GetDefaultWidth(void), GetDefaultHeight(void) or GetDefaultDepth(void)

◆ GetDefaultMonitorCount()

static uint_t Burger::Display::GetDefaultMonitorCount ( void )
inlinestaticnoexcept

Get the number of active monitors.


This is initialized with the number of monitors used for the user's desktop.

Note
This value is only valid after a Display class instance was created.
Returns
Number of active display monitors used for the desktop.
See also
GetDefaultWidth(void), GetDefaultHeight(void), GetDefaultDepth(void) or GetDefaultHertz(void)

◆ GetDefaultTotalHeight()

static uint_t Burger::Display::GetDefaultTotalHeight ( void )
inlinestaticnoexcept

Get the height of the default monitor.


This is initialized with the size of the user's entire desktop height. It is a union of all active monitors.

Note
This value is only valid after a Display class instance was created.
Returns
Default total height in pixels
See also
GetDefaultTotalWidth(void), GetDefaultHeight(void) or GetDefaultMonitorCount(void)

◆ GetDefaultTotalWidth()

static uint_t Burger::Display::GetDefaultTotalWidth ( void )
inlinestaticnoexcept

Get the width of the default monitor.


This is initialized with the size of the user's entire desktop width. It is a union of all active monitors.

Note
This value is only valid after a Display class instance was created.
Returns
Default total width in pixels
See also
GetDefaultTotalHeight(void), GetDefaultWidth(void) or GetDefaultMonitorCount(void)

◆ GetDefaultWidth()

static uint_t Burger::Display::GetDefaultWidth ( void )
inlinestaticnoexcept

Get the width of the default monitor.


This is initialized with the size of the user's desktop width from the primary display.

Note
This value is only valid after a Display class instance was created.
Returns
Default monitor width in pixels
See also
GetDefaultHeight(void), GetDefaultDepth(void) or GetDefaultHertz(void)

◆ GetDepth()

uint_t Burger::Display::GetDepth ( void ) const
inlinenoexcept

Get the depth in bits of the display buffer.


The display buffer could be 8 for 8 bit palette, 15 for 5:5:5 RGB, 16 for 5:6:5 RGB or 24 or 32 for hardware rendering

Returns
Depth of the display buffer in bits
See also
GetWidth() const or GetHeight() const

◆ GetDepthBuffer()

uint_t Burger::Display::GetDepthBuffer ( void ) const
inlinenoexcept

Depth buffer index.


When an OpenGL context is created, a depth buffer is declared and initialized. This index allows user code to access the depth buffer through this index

Note
This is only available on iOS
Returns
Depth buffer index obtained from glGenRenderbuffers()
See also
GetColorBuffer(void) const or GetFrontBuffer(void) const

◆ GetDisplayHeight()

uint_t Burger::Display::GetDisplayHeight ( void ) const
inlinenoexcept

Get the height in pixels of the display hardware.


This differs from GetHeight() in that this is the actual display hardware's resolution, which can differ from the resolution of the draw buffer.

Returns
Height of the display hardware in pixels
See also
GetDisplayWidth() const or GetHeight() const

◆ GetDisplayWidth()

uint_t Burger::Display::GetDisplayWidth ( void ) const
inlinenoexcept

Get the width in pixels of the display hardware.


This differs from GetWidth() in that this is the actual display hardware's resolution, which can differ from the resolution of the draw buffer.

Returns
Width of the display hardware in pixels
See also
GetDisplayHeight() const or GetWidth() const

◆ GetFadeSpeed()

uint_t Burger::Display::GetFadeSpeed ( void ) const
inlinenoexcept

Return the timer constant in Burger::Tick.


When calling the palette fade functions, it will perform the fade evenly until this amount of time has elapsed. This is not a "per frame" time. It's a total time. If the desired time is one second from start to finish, set this value to Tick::kTicksPerSecond

Returns
Return the current tick value for a palette fade
See also
SetFadeSpeed(uint_t)

◆ GetFlags()

uint_t Burger::Display::GetFlags ( void ) const
inlinenoexcept

Get the flags associated with this Display class instance.


Returns
Flags containing the current state of the display system
See also
GetWidth() const or GetHeight() const

◆ GetFrontBuffer()

uint_t Burger::Display::GetFrontBuffer ( void ) const
inlinenoexcept

Front buffer index.


When an OpenGL context is created, a front buffer is declared and initialized. This index allows user code to access the front buffer through this index

This function returns zero on all platforms except iOS, where it returns the created front buffer

Returns
Color buffer index obtained from glGenFramebuffers()
See also
GetDepthBuffer(void) const or GetColorBuffer(void) const

◆ GetFullScreenWindow()

NSWindow * Burger::Display::GetFullScreenWindow ( void ) const
inlinenoexcept

Get the window pointer.


Get the secondary full screen application window.

Note
This is only available on Mac OSX
See also
GetView(void) const, GetWindowController(void) const, GetOpenGLView(void) const or GetOpenGLContext(void) const

◆ GetGameApp()

GameApp * Burger::Display::GetGameApp ( void ) const
inlinenoexcept

Get the parent application pointer.


Returns
Pointer to the parent application
See also
GetWidth() const, GetHeight() const or GetDepth() const

◆ GetGLContext()

EAGLContext * Burger::Display::GetGLContext ( void ) const
inlinenoexcept

The currently active OpenGL context.


Note
This is only available on iOS
Returns
Pointer to the active OpenGL context

◆ GetHeight()

uint_t Burger::Display::GetHeight ( void ) const
inlinenoexcept

Get the height in pixels of the display buffer.


Returns
Height of the display buffer in pixels
See also
GetWidth() const or GetDepth() const

◆ GetHeightFloat()

float Burger::Display::GetHeightFloat ( void ) const
inlinenoexcept

Get the height in pixels of the display buffer.


Returns
Height of the display buffer in pixels as a float
See also
GetWidthFloat() const or GetHeight() const

◆ GetOpenGLContext()

_CGLContextObject * Burger::Display::GetOpenGLContext ( void ) const
inlinenoexcept

Get the window's _CGLContextObject.


Get the current CGLContextObject being used by the primary application window.

Note
This is only available on Mac OSX
See also
GetView(void) const, GetWindowController(void) const, GetOpenGLView(void) const or GetFullScreenWindow(void) const

◆ GetOpenGLView()

NSOpenGLView * Burger::Display::GetOpenGLView ( void ) const
inlinenoexcept

Get the window's NSOpenGLView.


Get the current NSOpenGLView being used by the primary application window.

Note
This is only available on Mac OSX
See also
GetView(void) const, GetWindowController(void) const, GetOpenGLContext(void) const or GetFullScreenWindow(void) const

◆ GetPalette()

const uint8_t * Burger::Display::GetPalette ( void ) const
inlinenoexcept

Get the current palette.


When video is set to an 8 bit mode, a 256 entry color palette is needed for the video display to properly show the graphics. A copy of the palette is maintained in the class that matches what the hardware is currently displaying. For some displays, some colors are considered read only. When calling SetPalette(uint_t,uint_t, const uint8_t *) it's not guaranteed that all colors will be updated due to system reserved colors (For windowed modes). The palette will have the reserved colors in it if this is the case.

Returns
Pointer to a 768 byte array of Red,Green,Blue color components
See also
SetPalette()

◆ GetPaletteVSync()

uint_t Burger::Display::GetPaletteVSync ( void ) const
inlinenoexcept

Return non-zero if palette updates are synced to vertical blank.


Returns
Return non-zero if palette updates are synced to vertical blank.
See also
SetPaletteVSync(uint_t)

◆ GetReleaseCallback()

ReleaseProc Burger::Display::GetReleaseCallback ( void ) const
inlinenoexcept

Purge resource callback.


Return the function pointer for the callback when the renderer needs to purge all resources

Returns
Pointer to the function or nullptr if disabled
See also
SetReleaseCallback() or GetReleaseCallbackData() const

◆ GetReleaseCallbackData()

void * Burger::Display::GetReleaseCallbackData ( void ) const
inlinenoexcept

Return pointer to callback void *.


Return the pointer that's passed to the callback that's used when the renderer

Returns
Pointer that is passed to the callback
See also
SetReleaseCallback() or GetReleaseCallback() const

◆ GetRenderCallback()

RenderProc Burger::Display::GetRenderCallback ( void ) const
inlinenoexcept

Set the window updat function.


Return the function pointer for the callback when the window needs to be redrawn

Returns
Pointer to the function or NULL if disabled
See also
SetRenderCallback() or GetRenderCallbackData() const

◆ GetRenderCallbackData()

void * Burger::Display::GetRenderCallbackData ( void ) const
inlinenoexcept

Get the redraw callback function.


Return the pointer that's passed to the callback that's used when the window is redrawn

Returns
Pointer that is passed to the callback
See also
SetRenderCallback() or GetRenderCallback() const

◆ GetResizeCallback()

ResizeProc Burger::Display::GetResizeCallback ( void ) const
inlinenoexcept

Return the function pointer for the callback when the window's size is changed.


Returns
Pointer to the function or NULL if disabled
See also
SetResizeCallback() or GetResizeCallbackData() const

◆ GetResizeCallbackData()

void * Burger::Display::GetResizeCallbackData ( void ) const
inlinenoexcept

Return the window resize function.


Return the pointer that's passed to the callback that's used when the window's size is changed

Returns
Pointer that is passed to the callback
See also
SetResizeCallback() or GetResizeCallback() const

◆ GetRetinaScale()

static float Burger::Display::GetRetinaScale ( void )
inlinestaticnoexcept

Get the scale factor for the retina display.


Some iOS devices have displays that are higher resolution than the "Point" system they present as. Older systems use a 1:1 ratio for points to pixels where more recent devices are 2:1 or higher. This value represents the scale from Points to Pixels

Note
This is only available on iOS
Returns
Scale factor for Points to Pixels (Usually 1.0f or 2.0f)

◆ GetVideoModes()

uint_t Burger::Display::GetVideoModes ( ClassArray< VideoCardDescription > * pOutput)
static

Get a list of available video modes.


Parameters
pOutputPointer to array of VideoCardDescription entries
Returns
Zero if no error, non-zero on error

◆ GetView()

NSView * Burger::Display::GetView ( void ) const
inlinenoexcept

Get the window's NSView.


Get the current NSView being used by the primary application window.

Note
This is only available on Mac OSX
See also
GetWindowController(void) const, GetOpenGLView(void) const, GetOpenGLContext(void) const or GetFullScreenWindow(void) const

◆ GetWidth()

uint_t Burger::Display::GetWidth ( void ) const
inlinenoexcept

Get the width in pixels of the display buffer.


Returns
Width of the display buffer in pixels
See also
GetHeight() const or GetDepth() const

◆ GetWidthFloat()

float Burger::Display::GetWidthFloat ( void ) const
inlinenoexcept

Get the width in pixels of the display buffer.


Returns
Width of the display buffer in pixels as a float
See also
GetHeightFloat() const or GetWidth() const

◆ GetWindowController()

NSWindowController * Burger::Display::GetWindowController ( void ) const
inlinenoexcept

Get the window's NSWindowController.


Get the current NSWindowController being used by the primary application window.

Note
This is only available on Mac OSX
See also
GetView(void) const, GetOpenGLView(void) const, GetOpenGLContext(void) const or GetFullScreenWindow(void) const

◆ GetWindowedPlacement()

tagWINDOWPLACEMENT * Burger::Display::GetWindowedPlacement ( void )
inlinenoexcept

Return the pointer to a WINDOWPLACEMENT.


Note
This is only available on Windows
Returns
Pointer to a WINDOWPLACEMENT structure

◆ HandleMinMax()

uint_t BURGER_API Burger::Display::HandleMinMax ( HWND__ * pWindow,
uintptr_t lParam )

Handler for WM_GETMINMAXINFO events.


To handle window resizing, this function is called from the Burgerlib windows callback when WM_GETMINMAXINFO messages are passed. This function determines if resizing should be disabled or limited to specific sizes or aspect ratios

Parameters
pWindowHWND of the window the callback was handling
lParamlParam Value passed from Windows to the callback which is a pointer to a MINMAXINFO structure
Returns
FALSE if this event is ignored, or TRUE if this event was intercepted

◆ Init()

uint_t Burger::Display::Init ( uint_t uWidth,
uint_t uHeight,
uint_t uDepth = 32,
uint_t uFlags = DEFAULTFLAGS )

Initialize the display.


Set up the video display hardware to the specified mode and depth. This calls derived functions and it's the responsibility of the underlying class to use the appropriate API such as OpenGL, DirectX or something else to perform the display operations and then call the base class to complete the setup

Parameters
uWidthWidth of the requested display in pixels
uHeightHeight of the requested display in pixels
uDepthBit depth of the requested display in bits
uFlagsHelper flags for hinting at the preferred display
Returns
Zero if no error, non-zero if an error has occurred.
See also
Shutdown() and InitContext()

◆ InitDefaults()

void BURGER_API Burger::Display::InitDefaults ( GameApp * pGameApp)
protected

Initialize shared variables.


To ease the porting of the Display class to other platforms, the initialization of variables that are common to all platforms is performed in this function and then platform specific variables will be initialized in platform specific code.

See also
Display(GameApp *) or InitGlobals(void)

◆ InitGlobals()

void BURGER_API Burger::Display::InitGlobals ( void )
staticprotected

Initialize video globals.


Before an application is allowed to change the display mode, this function will query the system what are the current display mode so these value can be used as defaults for changing a display mode or for the application can be aware of what the user has already set the platform to display with.

See also
InitDefaults(GameApp *)

◆ InitState()

void BURGER_API Burger::Display::InitState ( void )

◆ IsHiDef()

uint_t Burger::Display::IsHiDef ( void )
inlinenoexcept

◆ IsInterlaced()

uint_t Burger::Display::IsInterlaced ( void )
inlinenoexcept

◆ IsWideScreen()

uint_t Burger::Display::IsWideScreen ( void )
inlinenoexcept

◆ operator=() [1/2]

Display & Burger::Display::operator= ( const Display & )
privatedelete

◆ operator=() [2/2]

Display & Burger::Display::operator= ( Display && )
privatedelete

◆ Pause()

void BURGER_API Burger::Display::Pause ( uint_t bPauseRendering)

Pause or resume rendering.


Set or clear the flag to pause rendering. This is required to keep background tasks from attempting to use the display device for rendering while it's in a transitory state.

Note
Pausing is reference counted, match every call to Pause( TRUE) with a call of Pause( FALSE)
Parameters
bPauseRenderingTRUE to pause rendering, FALSE to resume rendering.

◆ Resize()

void Burger::Display::Resize ( uint_t uWidth,
uint_t uHeight )

◆ SetBlend()

void Burger::Display::SetBlend ( uint_t bEnable)

◆ SetBlendFunction()

void Burger::Display::SetBlendFunction ( eSourceBlendFactor uSourceFactor,
eDestinationBlendFactor uDestFactor )

◆ SetBorderColor()

void BURGER_API Burger::Display::SetBorderColor ( uint_t uColor)

Update the display border color.


On some platforms, such as MSDOS VGA/MCGA or the Commodore Amiga, the display's border color can be set. This function will set that color. On all other platforms, the function only logs the color change, otherwise it does nothing.

Note
On MSDOS, the EGA value of the border color is 4 bits (0-15).
Parameters
uColorBorder color that is specific to the hardware being updated.
See also
GetBorderColor()

◆ SetClearColor()

void Burger::Display::SetClearColor ( float fRed,
float fGreen,
float fBlue,
float fAlpha )

◆ SetClearDepth()

void Burger::Display::SetClearDepth ( float fDepth)

◆ SetCullMode()

void Burger::Display::SetCullMode ( eCullMode uCullMode)

◆ SetDepthTest()

void Burger::Display::SetDepthTest ( eDepthFunction uDepthFunction)

◆ SetFadeSpeed()

void Burger::Display::SetFadeSpeed ( uint_t uPaletteFadeSpeed)
inlinenoexcept

Set the timer constant in Burger::Tick.


When calling the palette fade functions, it will perform the fade evenly until this amount of time has elapsed. This is not a "per frame" time. It's a total time. If the desired time is one second from start to finish, set this value to Tick::kTicksPerSecond. Setting this value to zero will disable the fade feature and will have palettes update immediately

Parameters
uPaletteFadeSpeedNew time delay in ticks.
See also
GetFadeSpeed()

◆ SetFullScreenWindow()

void Burger::Display::SetFullScreenWindow ( NSWindow * pFullScreenWindow)
inlinenoexcept

Enable a full screen window and disable the primary game window.


Hide the game window and attach all the views to the supplied window that's been set to occupy the entire screen.

Note
This is only available on Mac OSX
Parameters
pFullScreenWindowPointer to the window to use as a full screen window
See also
GetFullScreenWindow(void) const

◆ SetLighting()

void Burger::Display::SetLighting ( uint_t bEnable)

◆ SetPalette() [1/7]

void BURGER_API Burger::Display::SetPalette ( const RGBAWord8_t * pPalette)

Update the color palette.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of RGBAWord8_t.

Parameters
pPaletteBase pointer to the array of 256 RGBAWord8_t colors to use in the update
See also
SetPalette(void **)

◆ SetPalette() [2/7]

void BURGER_API Burger::Display::SetPalette ( const uint8_t * pPalette)

Update the color palette.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of 3 byte triplets of Red,Green, and Blue.

Parameters
pPaletteBase pointer to the colors to use in the update in the size of 256*3 (768)
See also
SetPalette(void **)

◆ SetPalette() [3/7]

void BURGER_API Burger::Display::SetPalette ( RezFile * pRez,
uint_t uResID )

Update the color palette using a resource.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of 3 byte triplets of Red,Green, and Blue.

Parameters
pRezReference to the resource file
uResIDResource entry the contains the 768 byte palette
See also
SetPalette(const uint8_t *)

◆ SetPalette() [4/7]

void BURGER_API Burger::Display::SetPalette ( uint_t uStart,
uint_t uCount,
const RGBAWord8_t * pPalette )

Update the color palette.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of RGBAWord8_t entries.

Parameters
uStartFirst color entry to update (0-255)
uCountNumber of colors to update (256-uStart)
pPaletteBase pointer to an array of RGBAWord8_t colors to use in the update in the size of uCount
See also
SetPalette(const uint8_t *) or SetPalette(void **)

◆ SetPalette() [5/7]

void BURGER_API Burger::Display::SetPalette ( uint_t uStart,
uint_t uCount,
const uint8_t * pPalette )

Update the color palette.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of 3 byte triplets of Red,Green, and Blue.

Parameters
uStartFirst color entry to update (0-255)
uCountNumber of colors to update (256-uStart)
pPaletteBase pointer to the colors to use in the update in the size of uCount*3
See also
SetPalette(const uint8_t *) or SetPalette(void **)

◆ SetPalette() [6/7]

void BURGER_API Burger::Display::SetPalette ( uint_t uStart,
uint_t uCount,
RezFile * pRez,
uint_t uResID )

Update a partial color palette using a resource.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of 3 byte triplets of Red,Green, and Blue.

Parameters
uStartFirst color entry to update (0-255)
uCountNumber of colors to update (256-uStart)
pRezReference to the resource file
uResIDResource entry the contains the palette that's uCount*3 bytes in length
See also
SetPalette(const uint8_t *)

◆ SetPalette() [7/7]

void BURGER_API Burger::Display::SetPalette ( void ** pHandle)

Update the color palette using a memory handle.


On 8 bit rendering surfaces, update the color palette for the current hardware or rendering context. On all other rendering modes, it will update the internal color buffer.

The palette is an array of 3 byte triplets of Red,Green, and Blue.

Parameters
pHandleBase handle to the colors to use in the update in the size of 256*3 (768)
See also
SetPalette(const uint8_t *)

◆ SetPaletteBlack()

void BURGER_API Burger::Display::SetPaletteBlack ( void )

Set the screen palette to all black.


Set all 8 bit palette color entries to zero (Black)

See also
SetPalette(const uint8_t *), SetPalette(uint_t,uint_t,const uint8_t *) or SetPaletteWhite()

◆ SetPaletteVSync()

void Burger::Display::SetPaletteVSync ( uint_t bPaletteVSync)
inlinenoexcept

Set the flag to enable palette updates.


Parameters
bPaletteVSyncTRUE to enable vertical blank syncing, FALSE to disable it
See also
GetPaletteVSync() const

◆ SetPaletteWhite()

void BURGER_API Burger::Display::SetPaletteWhite ( void )

Set the screen palette to all white.


Set all 8 bit palette color entries to 255 (White)

See also
SetPalette(const uint8_t *), SetPalette(uint_t,uint_t,const uint8_t *) or SetPaletteBlack()

◆ SetReleaseCallback()

void Burger::Display::SetReleaseCallback ( ReleaseProc pRelease,
void * pReleaseData )
inlinenoexcept

Set the purge callback.


Set the function pointer for the callback when the renderer needs to purge all resources

Parameters
pReleasePointer to the function or NULL to disable
pReleaseDataPointer that is passed as is to the function if it's called.
See also
GetReleaseCallback() const or GetReleaseCallbackData() const

◆ SetRenderCallback()

void Burger::Display::SetRenderCallback ( RenderProc pRender,
void * pRenderData )
inlinenoexcept

Set window update function.


Set the function pointer for the callback when the window needs to be redrawn

Parameters
pRenderPointer to the function or NULL to disable
pRenderDataPointer that is passed as is to the function if it's called.
See also
GetRenderCallback() const or GetRenderCallbackData() const

◆ SetResizeCallback()

void Burger::Display::SetResizeCallback ( ResizeProc pResize,
void * pResizeData )
inlinenoexcept

Set window resize callback.


Set the function pointer for the callback when the window's size is changed

Parameters
pResizePointer to the function or NULL to disable
pResizeDataPointer that is passed as is to the function if it's called.
See also
GetResizeCallback() const or GetResizeCallbackData() const

◆ SetScissor()

void Burger::Display::SetScissor ( uint_t bEnable)

◆ SetScissorRect()

void Burger::Display::SetScissorRect ( uint_t uX,
uint_t uY,
uint_t uWidth,
uint_t uHeight )

◆ SetViewport()

void Burger::Display::SetViewport ( uint_t uX,
uint_t uY,
uint_t uWidth,
uint_t uHeight )

◆ SetWidthHeight()

void BURGER_API Burger::Display::SetWidthHeight ( uint_t uWidth,
uint_t uHeight )
protected

Set the width and height of the screen.


Sets the width and height in pixels of the display and updates all other variables that depend on these values

Parameters
uWidthNew width of the screen in pixels
uHeightNew height of the screen in pixels

◆ SetWindowTitle()

void BURGER_API Burger::Display::SetWindowTitle ( const char * pTitle)

Set the display window title.


On desktop platforms such as Windows or MacOS, the game could be running in a desktop window. The window can have a title string, and it can be set using this function.

On consoles and handhelds, this function does nothing.

Parameters
pTitleUTF-8 string to display for the title bar

◆ SetZWrite()

void Burger::Display::SetZWrite ( uint_t bEnable)

◆ Shutdown()

void Burger::Display::Shutdown ( void )

Shut down the current video display context.


Release all resources and restore the video display to the system defaults. This is an internal function and is meant to be called as part of a call to Display::Shutdown() so the renderer is shut down first before the display

This code does nothing. It's a placeholder for classes that have no need for a shutdown call

See also
Init(uint_t,uint_t,uint_t,uint_t)

Member Data Documentation

◆ g_Globals

Burger::Display::Globals_t Burger::Display::g_Globals
staticprotected

Global values initialized when the first Display class is created.

◆ g_StaticRTTI

const Burger::StaticRTTI Burger::Display::g_StaticRTTI
static

The global description of the class.


This record contains the name of this class and a reference to the parent (If any)

◆ m_bNotUsed

uint8_t Burger::Display::m_bNotUsed[1]
protected

Padding.

◆ m_bPaletteDirty

uint8_t Burger::Display::m_bPaletteDirty
protected

TRUE if the palette buffer was changed

◆ m_bPaletteVSync

uint8_t Burger::Display::m_bPaletteVSync
protected

TRUE if palette updates sync to video

◆ m_bRenderingPaused

uint8_t Burger::Display::m_bRenderingPaused
protected

If TRUE, rendering is paused.

◆ m_bWideScreen

uint_t Burger::Display::m_bWideScreen
protected

(Xbox 360 Only) TRUE if wide screen display is active

◆ m_fAspectRatioX

float Burger::Display::m_fAspectRatioX
protected

Width/Height.

◆ m_fAspectRatioY

float Burger::Display::m_fAspectRatioY
protected

Height/Width.

◆ m_fClearDepth

float Burger::Display::m_fClearDepth
protected

(Xbox 360 Only) ZValue to write for screen clear

◆ m_fHeight

float Burger::Display::m_fHeight
protected

Height of the rendering target as a float.

◆ m_fWidth

float Burger::Display::m_fWidth
protected

Width of the rendering target as a float.

◆ m_iPauseRenderingCount

int Burger::Display::m_iPauseRenderingCount
protected

Rendering pausing reference count.

◆ m_Palette

uint8_t Burger::Display::m_Palette[256 *3]
protected

Palette of 256 RGB values.

◆ m_pBoundTextures

Texture* Burger::Display::m_pBoundTextures[8]
protected

Bound textures for the current context.

◆ m_pD3DDevice

D3DDevice* Burger::Display::m_pD3DDevice
protected

(Xbox 360 Only) Direct 3D device

◆ m_pEAGLContext

EAGLContext* Burger::Display::m_pEAGLContext
protected

(iOS Only) OpenGL Context

◆ m_pFullScreenWindow

NSWindow* Burger::Display::m_pFullScreenWindow
protected

(MacOSX Only) Pointer to the main full screen window

◆ m_pGameApp

GameApp* Burger::Display::m_pGameApp
protected

Pointer to the game application instance.

◆ m_pOpenGLContext

_CGLContextObject* Burger::Display::m_pOpenGLContext
protected

(MacOSX Only) Pointer to the OpenGL context

◆ m_pOpenGLView

NSOpenGLView* Burger::Display::m_pOpenGLView
protected

(MacOSX Only) Pointer to the OpenGL view

◆ m_pRelease

ReleaseProc Burger::Display::m_pRelease
protected

Callback if the operating system requests a scene draw.

◆ m_pReleaseData

void* Burger::Display::m_pReleaseData
protected

pThis pointer for m_pRender calls

◆ m_pRender

RenderProc Burger::Display::m_pRender
protected

Callback if the operating system requests a scene draw.

◆ m_pRenderData

void* Burger::Display::m_pRenderData
protected

pThis pointer for m_pRender calls

◆ m_pRenderer

Renderer* Burger::Display::m_pRenderer
protected

Pointer to a renderer.

◆ m_pResize

ResizeProc Burger::Display::m_pResize
protected

Callback if the screen changed sizes.

◆ m_pResizeData

void* Burger::Display::m_pResizeData
protected

pThis pointer for m_pResize calls

◆ m_pView

NSView* Burger::Display::m_pView
protected

(MacOSX Only) Pointer to the main view

◆ m_pWindowController

NSWindowController* Burger::Display::m_pWindowController
protected

(MacOSX Only) Pointer to the window controller

◆ m_uBorderColor

uint_t Burger::Display::m_uBorderColor
protected

Hardware border color (MSDOS / Amiga only)

◆ m_uClearColor

uint_t Burger::Display::m_uClearColor
protected

(Xbox 360 Only) 32 bit RGBA color for screen clear

◆ m_uColorRenderBuffer

uint_t Burger::Display::m_uColorRenderBuffer
protected

(iOS Only) Color render buffer GL name

◆ m_uDepth

uint_t Burger::Display::m_uDepth
protected

Depth in bits of the display buffer.

◆ m_uDepthRenderBuffer

uint_t Burger::Display::m_uDepthRenderBuffer
protected

(iOS Only) Depth buffer for rendering

◆ m_uDisplayDepth

uint_t Burger::Display::m_uDisplayDepth
protected

Depth of the display hardware (Can differ from m_uDepth for pixel depth change)

◆ m_uDisplayHeight

uint_t Burger::Display::m_uDisplayHeight
protected

Height of the display hardware (Can differ from m_uHeight for pixel stretching)

◆ m_uDisplayWidth

uint_t Burger::Display::m_uDisplayWidth
protected

Width of the display hardware (Can differ from m_uWidth for pixel stretching)

◆ m_uFlags

uint_t Burger::Display::m_uFlags
protected

Flags for describing available features.

◆ m_uFrontBuffer

uint_t Burger::Display::m_uFrontBuffer
protected

(iOS Only) Main render buffer GL name

◆ m_uHeight

uint_t Burger::Display::m_uHeight
protected

Height in pixels of the display buffer.

◆ m_uPaletteFadeSpeed

uint_t Burger::Display::m_uPaletteFadeSpeed
protected

Speed in 1/60ths of a second for a palette fade.

◆ m_uWidth

uint_t Burger::Display::m_uWidth
protected

Width in pixels of the display buffer.

◆ m_WindowPlacement

uint32_t Burger::Display::m_WindowPlacement[11]
protected

WINDOWPLACEMENT record.