Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | List of all members
Burger::DisplayDirectX9 Class Reference
Inheritance diagram for Burger::DisplayDirectX9:
Inheritance graph
[legend]
Collaboration diagram for Burger::DisplayDirectX9:
Collaboration graph
[legend]

Classes

class  AdapterInfo
 Information for a display device. More...
 
class  BufferFormatGroup
 Information for all pixel formats for a specific rendering device. More...
 
class  DeviceInfo
 Information for a GPU device. More...
 
struct  DeviceSettings_t
 Structure to describe the state of a Direct3D9 device. More...
 
struct  DisplayMode_t
 Structure to describe a DirectX 9 display mode. More...
 
class  Enumerator
 DirectX 9 device enumerator. More...
 

Public Types

enum  { DIRECTXRESETATTEMPTS =30 }
 
typedef uint_t(* IsDeviceOkayProc) (const _D3DCAPS9 *pCaps, uint_t uAdapterFormat, uint_t uBackBufferFormat, uint_t bWindowed, void *pData)
 
typedef uint_t(* DeviceSettingsFilterProc) (DeviceSettings_t *pDeviceSettings, void *pData)
 
typedef void(* CallbackProc) (void *pData)
 
typedef uint_t(* DeviceCreatedProc) (IDirect3DDevice9 *pD3DDevice, const _D3DSURFACE_DESC *pBackBufferSurfaceDesc, void *pData)
 
- Public Types inherited from Burger::Display
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.
 
 DisplayDirectX9 (GameApp *pGameApp)
 
 ~DisplayDirectX9 ()
 
uint_t Init (uint_t uWidth, uint_t uHeight, uint_t uDepth=32, uint_t uFlags=DEFAULTFLAGS) override
 
void Shutdown (void) override
 
void BeginScene (void) override
 
void EndScene (void) override
 
TextureCreateTextureObject (void) override
 
VertexBufferCreateVertexBufferObject (void) override
 
void Resize (uint_t uWidth, uint_t uHeight) override
 
void SetViewport (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight) override
 
void SetScissorRect (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight) override
 
void SetClearColor (float fRed, float fGreen, float fBlue, float fAlpha) override
 
void SetClearDepth (float fDepth) override
 
void Clear (uint_t uMask) override
 
void Bind (Texture *pTexture, uint_t uIndex=0) override
 
void Bind (Effect *pEffect) override
 
void SetBlend (uint_t bEnable) override
 
void SetBlendFunction (eSourceBlendFactor uSourceFactor, eDestinationBlendFactor uDestFactor) override
 
void SetLighting (uint_t bEnable) override
 
void SetZWrite (uint_t bEnable) override
 
void SetDepthTest (eDepthFunction uDepthFunction) override
 
void SetCullMode (eCullMode uCullMode) override
 
void SetScissor (uint_t bEnable) override
 
void DrawPrimitive (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer) override
 
void DrawElements (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer) override
 
IDirect3DVertexShader9 * CreateVertexShader (const void *pVertexShaderBinary) const
 
IDirect3DPixelShader9 * CreatePixelShader (const void *pPixelShaderBinary) const
 
IDirect3D9 * GetDirect3D9 (void) const
 
IDirect3DDevice9 * GetDirect3DDevice9 (void) const
 
ID3DXMatrixStack * GetD3DXMatrixStack (void) const
 
uint_t OnlyPowerOf2 (void) const
 
uint_t IsVSynced (void) const
 
uint_t FullScreenGammaSupported (void) const
 
uint_t CanCalibrateGamma (void) const
 
uint_t IsRasterSlopeScaleDepthBias (void) const
 
uint_t IsRasterDepthBias (void) const
 
uint_t IsnVidia (void) const
 
uint_t IsATI (void) const
 
uint_t IsIntel (void) const
 
uint_t GetMaxTextureWidth (void) const
 
uint_t GetMaxTextureHeight (void) const
 
uint_t GetMaxTextureStages (void) const
 
uint_t GetMaxPossibleAnisotropy (void) const
 
uint_t GetClearColor (void) const
 
float GetClearDepth (void) const
 
const _D3DSURFACE_DESC * GetBackBufferSurfaceDesc9 (void) const
 Return the pointer to a D3DSURFACE_DESC for the current device.
 
const _D3DCAPS9 * GetCaps (void) const
 Return the pointer to a D3DCAPS9 for the current device.
 
IDirect3D9 * LoadDirect3D9 (void)
 Create an IDirect3D9 instance.
 
void InitState (void)
 Set all of DirectX 9's rendering states to defaults.
 
uint_t GetAdapterOrdinalFromMonitor (HMONITOR__ *hMonitor, uint_t *pAdapterOrdinal)
 Get the adapter ordinal from HMONITOR.
 
uint_t GetDesktopResolution (uint_t uAdapterOrdinal, uint_t *pWidth, uint_t *pHeight)
 Get the desktop resolution of a display.
 
void UpdateEnumeration (uint_t bForce)
 Enumerate devices if not already cached.
 
void UpdateBackBufferDesc (void)
 Load the back buffer description from the DirectX 9 device.
 
uint_t ToggleFullScreen (void)
 Toggle full screen and windowed mode.
 
uint_t ToggleREF (void)
 Toggle hardware and software renderer.
 
void CheckForWindowSizeChange (void) override
 Resize the back buffer if the window size changed.
 
void CheckForWindowChangingMonitors (void) override
 Check if the window has changed monitors.
 
- Public Member Functions inherited from Burger::Display
 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.
 
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.
 

Public Attributes

Enumerator m_Enumerator
 Enumerated devices.
 
IsDeviceOkayProc m_pDeviceFilter
 Pointer to function to filter devices.
 
void * m_pDeviceFilterData
 Pointer to data for the filter device function.
 
DeviceSettingsFilterProc m_pModifyDeviceSettingsFunc
 Pointer to function to filter device settings.
 
void * m_pModifyDeviceSettingsData
 Pointer to data for filter device setting function.
 
DeviceCreatedProc m_pDeviceCreatedFunc
 Pointer to function to call when the device was created (D3DPOOL_MANAGED)
 
void * m_pDeviceCreatedFuncData
 Pointer to data for device was created function.
 
CallbackProc m_pDeviceDestroyedFunc
 Pointer to function to call when the device was destroyed (D3DPOOL_MANAGED)
 
void * m_pDeviceDestroyedFuncData
 Pointer to data for device was destroyed function.
 
DeviceCreatedProc m_pDeviceResetFunc
 Pointer to function to call after the device was reset (D3DPOOL_DEFAULT)
 
void * m_pDeviceResetFuncData
 Pointer to data for device was reset function.
 
CallbackProc m_pDeviceLostFunc
 Pointer to function to call when the device was lost (D3DPOOL_DEFAULT)
 
void * m_pDeviceLostFuncData
 Pointer to data for device was lost function.
 
IDirect3D9 * m_pDirect3D9
 Pointer to the Direct3D9 context.
 
IDirect3DDevice9 * m_pDirect3DDevice9
 Pointer to the Direct3D9 device.
 
ID3DXMatrixStack * m_pD3DXMatrixStack
 Pointer to the current D3DMatrix stack.
 
IDirect3DSurface9 * m_pDefaultRenderTarget
 
IDirect3DSurface9 * m_pCurrentRenderTarget
 
HMONITOR__ * m_AdapterMonitor
 the monitor of the adapter
 
uint_t m_bIgnoreSizeChange
 if true, don't reset the device upon window size change
 
uint_t m_uFullScreenBackBufferWidthAtModeChange
 back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen
 
uint_t m_uFullScreenBackBufferHeightAtModeChange
 back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen
 
uint_t m_uWindowBackBufferWidthAtModeChange
 back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode
 
uint_t m_uWindowBackBufferHeightAtModeChange
 back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode
 
uint_t m_uWindowedStyleAtModeChange
 window style
 
uint_t m_bTopmostWhileWindowed
 if TRUE, the windowed HWND is topmost
 
uint_t m_bDeviceObjectsReset
 if TRUE, then DeviceReset callback has been called successfully
 
uint_t m_bDeviceObjectsCreated
 if TRUE, then DeviceCreated callback has been called (if non-NULL)
 
uint_t m_bDeviceLost
 if TRUE, then the device is lost and needs to be reset
 
uint_t m_bInsideDeviceCallback
 if TRUE, then the framework is inside an app device callback
 
uint_t m_bDeviceCreated
 
uint_t m_bActive
 
uint_t m_bAutoChangeAdapter
 
uint_t m_bLostDevice
 TRUE if the device was lost (Minimized?)
 
uint_t m_bPower2Textures
 TRUE if only power of two textures are allowed.
 
uint_t m_bMultiRenderTargets
 TRUE if multiple render targets are supported.
 
uint_t m_bSeparateAlphaBlend
 TRUE if separated alpha blending is supported.
 
uint_t m_bSceneBegun
 TRUE if BeginScene() was called.
 
uint_t m_bFullScreenGamma
 TRUE if full screen gamma was supported.
 
uint_t m_bCanCalibrateGamma
 TRUE if gamma can be calibrated.
 
uint_t m_bRasterSlopeScaleDepthBias
 TRUE if sloped scaling depth bias is supported in rasterizer.
 
uint_t m_bRasterDepthBias
 TRUE if depth bias is supported in rasterizer.
 
uint_t m_bIsnVidia
 TRUE if the video card was made by nVidia.
 
uint_t m_bIsATI
 TRUE if the video card was made by ATI.
 
uint_t m_bIsIntel
 TRUE if the video card was made by Intel.
 
uint_t m_bShowCursorWhenFullScreen
 TRUE if the cursor is visible in full screen mode.
 
uint_t m_bClipCursorWhenFullScreen
 TRUE if the cursor is clipped in full screen mode.
 
uint_t m_uBackBufferFormat
 Requested back buffer format.
 
uint_t m_uMaxTextureWidth
 Maximum pixels wide a texture can be.
 
uint_t m_uMaxTextureHeight
 Maximum pixels tall a texture can be.
 
uint_t m_uMaxTextureStages
 Maximum number of texture blend stages.
 
uint_t m_uMaxTextureSamplers
 Maximum number of texture samplers.
 
uint_t m_uMaxPossibleAnisotropy
 Maximum number of anisotropy filters.
 
uint_t m_uClearColor
 RGBA of the color to clear the screen with.
 
uint_t m_uMatrixStackDepth
 Number of matrices in the matrix stack.
 
float m_fClearDepth
 Z Value to clear the Z buffer with.
 
DeviceSettings_t m_D3D9Settings
 D3D device settings.
 
uint32_t m_D3DSurfaceDesc [8]
 D3DSURFACE_DESC record.
 
uint32_t m_D3DCaps [76]
 D3DCAPS9 record.
 

Static Public Attributes

static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Display
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

uint_t ChangeDevice (const DeviceSettings_t *pNewSettings, uint_t bForceEnumeration, uint_t bClipWindowToSingleAdapter)
 Change or initialize a DirectX 9 device.
 
uint_t Create3DEnvironment (void)
 Create the D3D Device.
 
void Cleanup3DEnvironment (uint_t bClearSettings)
 Release the D3D device.
 
uint_t Reset3DEnvironment (void)
 Reset the D3D device.
 
void IssueDeviceLostCallback (void)
 Process the object reset flag.
 
uint_t IssueDeviceResetCallback (void)
 Call the device was reset callback.
 
void SetupCursor (void) const
 Enable / Disable hardware cursor.
 
void ReleaseRenderTargets (void)
 Release render targets.
 
uint_t SnapDeviceSettingsToEnumDevice (DeviceSettings_t *pDeviceSettings, uint_t bForceEnumeration)
 Find the closest match to a device.
 
- Protected Member Functions inherited from Burger::Display
void InitDefaults (GameApp *pGameApp)
 Initialize shared variables.
 
void SetWidthHeight (uint_t uWidth, uint_t uHeight)
 Set the width and height of the screen.
 

Private Member Functions

 DisplayDirectX9 (const DisplayDirectX9 &)=delete
 
DisplayDirectX9operator= (const DisplayDirectX9 &)=delete
 
 DisplayDirectX9 (DisplayDirectX9 &&)=delete
 
DisplayDirectX9operator= (DisplayDirectX9 &&)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from Burger::Display
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 Protected Member Functions inherited from Burger::Display
static void InitGlobals (void)
 Initialize video globals.
 
- Protected Attributes inherited from Burger::Display
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 inherited from Burger::Display
static Globals_t g_Globals
 Global values initialized when the first Display class is created.
 

Member Typedef Documentation

◆ CallbackProc

typedef void( * Burger::DisplayDirectX9::CallbackProc) (void *pData)

◆ DeviceCreatedProc

typedef uint_t( * Burger::DisplayDirectX9::DeviceCreatedProc) (IDirect3DDevice9 *pD3DDevice, const _D3DSURFACE_DESC *pBackBufferSurfaceDesc, void *pData)

◆ DeviceSettingsFilterProc

typedef uint_t( * Burger::DisplayDirectX9::DeviceSettingsFilterProc) (DeviceSettings_t *pDeviceSettings, void *pData)

◆ IsDeviceOkayProc

typedef uint_t( * Burger::DisplayDirectX9::IsDeviceOkayProc) (const _D3DCAPS9 *pCaps, uint_t uAdapterFormat, uint_t uBackBufferFormat, uint_t bWindowed, void *pData)

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DIRECTXRESETATTEMPTS 

Number of times the app will retry restarting the display before giving up.

Constructor & Destructor Documentation

◆ DisplayDirectX9() [1/3]

Burger::DisplayDirectX9::DisplayDirectX9 ( const DisplayDirectX9 & )
privatedelete

◆ DisplayDirectX9() [2/3]

Burger::DisplayDirectX9::DisplayDirectX9 ( DisplayDirectX9 && )
privatedelete

◆ DisplayDirectX9() [3/3]

Burger::DisplayDirectX9::DisplayDirectX9 ( GameApp * pGameApp)

◆ ~DisplayDirectX9()

Burger::DisplayDirectX9::~DisplayDirectX9 ( )

Member Function Documentation

◆ BeginScene()

void Burger::DisplayDirectX9::BeginScene ( void )
override

◆ Bind() [1/2]

void Burger::DisplayDirectX9::Bind ( Effect * pEffect)
override

◆ Bind() [2/2]

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

◆ CanCalibrateGamma()

uint_t Burger::DisplayDirectX9::CanCalibrateGamma ( void ) const
inline

◆ ChangeDevice()

uint_t BURGER_API Burger::DisplayDirectX9::ChangeDevice ( const DeviceSettings_t * pNewSettings,
uint_t bForceEnumeration,
uint_t bClipWindowToSingleAdapter )
protected

Change or initialize a DirectX 9 device.


Note
This is only available on Windows
Parameters
pNewSettingsPointer to a description of a display device to use
bForceEnumerationTRUE if enumerating devices is forced to occur
bClipWindowToSingleAdapterTRUE if spanning displays is disabled
Returns
Zero on success, non-zero on error

◆ CheckForWindowChangingMonitors()

void Burger::DisplayDirectX9::CheckForWindowChangingMonitors ( void )
overridevirtual

Check if the window has changed monitors.


Note
This is only available on Windows

Reimplemented from Burger::Display.

◆ CheckForWindowSizeChange()

void Burger::DisplayDirectX9::CheckForWindowSizeChange ( void )
overridevirtual

Resize the back buffer if the window size changed.


Note
This is only available on Windows

Reimplemented from Burger::Display.

◆ Cleanup3DEnvironment()

void BURGER_API Burger::DisplayDirectX9::Cleanup3DEnvironment ( uint_t bClearSettings)
protected

Release the D3D device.


This will call the device lost and device destroyed callbacks if applicable. Normally, this function will not clear out the requested device settings unless bClearSettings is set to TRUE.

Note
This is only available on Windows
Parameters
bClearSettingsClear out the video settings if TRUE.

◆ Clear()

void Burger::DisplayDirectX9::Clear ( uint_t uMask)
override

◆ Create3DEnvironment()

uint_t BURGER_API Burger::DisplayDirectX9::Create3DEnvironment ( void )
protected

Create the D3D Device.


Note
This is only available on Windows
Returns
Zero if no error, non-zero on error

◆ CreatePixelShader()

IDirect3DPixelShader9 *BURGER_API Burger::DisplayDirectX9::CreatePixelShader ( const void * pPixelShaderBinary) const

◆ CreateTextureObject()

Burger::Texture * Burger::DisplayDirectX9::CreateTextureObject ( void )
override

◆ CreateVertexBufferObject()

Burger::VertexBuffer * Burger::DisplayDirectX9::CreateVertexBufferObject ( void )
override

◆ CreateVertexShader()

IDirect3DVertexShader9 *BURGER_API Burger::DisplayDirectX9::CreateVertexShader ( const void * pVertexShaderBinary) const

◆ DrawElements()

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

◆ DrawPrimitive()

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

◆ EndScene()

void Burger::DisplayDirectX9::EndScene ( void )
override

◆ FullScreenGammaSupported()

uint_t Burger::DisplayDirectX9::FullScreenGammaSupported ( void ) const
inline

◆ get_StaticRTTI()

const Burger::StaticRTTI * Burger::DisplayDirectX9::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::Display.

◆ GetAdapterOrdinalFromMonitor()

uint_t BURGER_API Burger::DisplayDirectX9::GetAdapterOrdinalFromMonitor ( HMONITOR__ * hMonitor,
uint_t * pAdapterOrdinal )

Get the adapter ordinal from HMONITOR.


Given a HMONITOR pointer, return the ordinal index for that display adapter.

Note
This is only available on Windows
Parameters
hMonitorThe HMONITOR value for the monitor to find
pAdapterOrdinalPointer to a value to receive the new adapter ordinal
Returns
Zero on success, non-zero on failure

◆ GetBackBufferSurfaceDesc9()

const D3DSURFACE_DESC * Burger::DisplayDirectX9::GetBackBufferSurfaceDesc9 ( void ) const
inline

Return the pointer to a D3DSURFACE_DESC for the current device.


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

◆ GetCaps()

const D3DCAPS9 * Burger::DisplayDirectX9::GetCaps ( void ) const
inline

Return the pointer to a D3DCAPS9 for the current device.


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

◆ GetClearColor()

uint_t Burger::DisplayDirectX9::GetClearColor ( void ) const
inline

◆ GetClearDepth()

float Burger::DisplayDirectX9::GetClearDepth ( void ) const
inline

◆ GetD3DXMatrixStack()

ID3DXMatrixStack * Burger::DisplayDirectX9::GetD3DXMatrixStack ( void ) const
inline

◆ GetDesktopResolution()

uint_t BURGER_API Burger::DisplayDirectX9::GetDesktopResolution ( uint_t uAdapterOrdinal,
uint_t * pWidth,
uint_t * pHeight )

Get the desktop resolution of a display.


Given an ordinal index, return the resolution of the display as set for the desktop.

Note
This is only available on Windows
Parameters
uAdapterOrdinalOrdinal value for which adapter to query
pWidthPointer to where to store the width in pixels, NULL will disable width retrieval.
pHeightPointer to where to store the height in pixels, NULL will disable height retrieval.
Returns
Zero on success, non-zero on failure

◆ GetDirect3D9()

IDirect3D9 * Burger::DisplayDirectX9::GetDirect3D9 ( void ) const
inline

◆ GetDirect3DDevice9()

IDirect3DDevice9 * Burger::DisplayDirectX9::GetDirect3DDevice9 ( void ) const
inline

◆ GetMaxPossibleAnisotropy()

uint_t Burger::DisplayDirectX9::GetMaxPossibleAnisotropy ( void ) const
inline

◆ GetMaxTextureHeight()

uint_t Burger::DisplayDirectX9::GetMaxTextureHeight ( void ) const
inline

◆ GetMaxTextureStages()

uint_t Burger::DisplayDirectX9::GetMaxTextureStages ( void ) const
inline

◆ GetMaxTextureWidth()

uint_t Burger::DisplayDirectX9::GetMaxTextureWidth ( void ) const
inline

◆ Init()

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

◆ InitState()

void BURGER_API Burger::DisplayDirectX9::InitState ( void )

Set all of DirectX 9's rendering states to defaults.


When DirectX 9 is started up, this function is called to ensure that the rendering state is known.

Note
If a DirectX 9 device was not already started, this function does nothing.
States set:
  * Vertex shader set to \ref NULL
  * FVF set to D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1
  * D3DRS_ZENABLE set to FALSE
  * D3DRS_CULLMODE set to D3DCULL_NONE
  * D3DRS_LIGHTING set to FALSE
  * Texture state 0 D3DTSS_COLOROP = D3DTOP_MODULATE
  * D3DTSS_COLORARG1 = D3DTA_TEXTURE
  * D3DTSS_COLORARG2 = D3DTA_DIFFUSE
  * Alpha state 0 D3DTSS_ALPHAOP = D3DTOP_MODULATE
  * D3DTSS_ALPHAARG1 = D3DTA_TEXTURE
  * D3DTSS_ALPHAARG2 = D3DTA_DIFFUSE
  * D3DRS_SEPARATEALPHABLENDENABLE set to TRUE
  * Texture state 1 D3DTSS_COLOROP = D3DTOP_DISABLE
  * D3DTSS_ALPHAOP = D3DTOP_DISABLE
  * Matrix D3DTS_WORLD set to identity
  * Matrix D3DTS_VIEW set to identity

@note This is only available on Windows\n

◆ IsATI()

uint_t Burger::DisplayDirectX9::IsATI ( void ) const
inline

◆ IsIntel()

uint_t Burger::DisplayDirectX9::IsIntel ( void ) const
inline

◆ IsnVidia()

uint_t Burger::DisplayDirectX9::IsnVidia ( void ) const
inline

◆ IsRasterDepthBias()

uint_t Burger::DisplayDirectX9::IsRasterDepthBias ( void ) const
inline

◆ IsRasterSlopeScaleDepthBias()

uint_t Burger::DisplayDirectX9::IsRasterSlopeScaleDepthBias ( void ) const
inline

◆ IssueDeviceLostCallback()

void BURGER_API Burger::DisplayDirectX9::IssueDeviceLostCallback ( void )
protected

Process the object reset flag.


If the Object Reset flag was set, handle objects that need to be reset internally, and call an application reset function if one was present. After this call is complete, the Object Reset flag will be cleared.

This function is called before a Reset() call is issued on the DirectX 9 device.

Note
This is only available on Windows

◆ IssueDeviceResetCallback()

uint_t BURGER_API Burger::DisplayDirectX9::IssueDeviceResetCallback ( void )
protected

Call the device was reset callback.


After a device was reset or successfully created, call the device reset callback

Note
This is only available on Windows
Returns
Zero if no error, or non-zero if there was a failure.

◆ IsVSynced()

uint_t Burger::DisplayDirectX9::IsVSynced ( void ) const
inline

◆ LoadDirect3D9()

IDirect3D9 *BURGER_API Burger::DisplayDirectX9::LoadDirect3D9 ( void )

Create an IDirect3D9 instance.


If an IDirect3D9 instance was already created, return a pointer to the pre-existing instance, otherwise, create one and set it as the default.

Note
This is only available on Windows
Returns
The shared IDirect3D9 instance or NULL if DirectX 9 was not available.

◆ OnlyPowerOf2()

uint_t Burger::DisplayDirectX9::OnlyPowerOf2 ( void ) const
inline

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ ReleaseRenderTargets()

void BURGER_API Burger::DisplayDirectX9::ReleaseRenderTargets ( void )
protected

Release render targets.


Release the render targets tracked by this class

Note
This is only available on Windows

◆ Reset3DEnvironment()

uint_t BURGER_API Burger::DisplayDirectX9::Reset3DEnvironment ( void )
protected

Reset the D3D device.


This will call the device lost destroyed callbacks if applicable and then issue the Reset() function on the DirectX 9 device

Note
This is only available on Windows
Returns
Zero if no error, non-zero on error

◆ Resize()

void Burger::DisplayDirectX9::Resize ( uint_t uWidth,
uint_t uHeight )
override

◆ SetBlend()

void Burger::DisplayDirectX9::SetBlend ( uint_t bEnable)
override

◆ SetBlendFunction()

void Burger::DisplayDirectX9::SetBlendFunction ( eSourceBlendFactor uSourceFactor,
eDestinationBlendFactor uDestFactor )
override

◆ SetClearColor()

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

◆ SetClearDepth()

void Burger::DisplayDirectX9::SetClearDepth ( float fDepth)
override

◆ SetCullMode()

void Burger::DisplayDirectX9::SetCullMode ( eCullMode uCullMode)
override

◆ SetDepthTest()

void Burger::DisplayDirectX9::SetDepthTest ( eDepthFunction uDepthFunction)
override

◆ SetLighting()

void Burger::DisplayDirectX9::SetLighting ( uint_t bEnable)
override

◆ SetScissor()

void Burger::DisplayDirectX9::SetScissor ( uint_t bEnable)
override

◆ SetScissorRect()

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

◆ SetupCursor()

void BURGER_API Burger::DisplayDirectX9::SetupCursor ( void ) const
protected

Enable / Disable hardware cursor.


For full screen mode, the cursor needs to be copied from the HCURSOR into a DirectX 9 surface and DirectX 9 notified of the update.

Note
This is only available on Windows

◆ SetViewport()

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

◆ SetZWrite()

void Burger::DisplayDirectX9::SetZWrite ( uint_t bEnable)
override

◆ Shutdown()

void Burger::DisplayDirectX9::Shutdown ( void )
override

◆ SnapDeviceSettingsToEnumDevice()

uint_t BURGER_API Burger::DisplayDirectX9::SnapDeviceSettingsToEnumDevice ( DeviceSettings_t * pDeviceSettings,
uint_t bForceEnumeration )
protected

Find the closest match to a device.


Find the best combination of:

  • Adapter Ordinal
  • Device Type
  • Adapter Format
  • Back Buffer Format
  • Windowed

Given what's available on the system and the match options combined with the device settings input. This combination of settings is encapsulated by the BufferFormatGroup class.

@note This is only available on Windows\n

\param pDeviceSettings Pointer to a proposed device settings
\param bForceEnumeration \ref TRUE if enumerating devices is forced to occur

\return Zero for no error, non-zero on failure

◆ ToggleFullScreen()

uint_t BURGER_API Burger::DisplayDirectX9::ToggleFullScreen ( void )

Toggle full screen and windowed mode.


If the game is running in a window, switch to full screen and vice versa.

Note
This is only available on Windows
Returns
Zero on success, non-zero with error code

◆ ToggleREF()

uint_t BURGER_API Burger::DisplayDirectX9::ToggleREF ( void )

Toggle hardware and software renderer.


If the game is running in with a GPU, switch to software and vice versa

Note
This is only available on Windows
Returns
Zero on success, non-zero with error code

◆ UpdateBackBufferDesc()

void BURGER_API Burger::DisplayDirectX9::UpdateBackBufferDesc ( void )

Load the back buffer description from the DirectX 9 device.


Cache the D3DSURFACE_DESC from the current DirectX 9 device. If a DirectX 9 device was not started, or if an error occurred when the device was queried, this function will clear the internal cache.

Note
This is only available on Windows

◆ UpdateEnumeration()

void BURGER_API Burger::DisplayDirectX9::UpdateEnumeration ( uint_t bForce)

Enumerate devices if not already cached.


If the devices haven't already been or if the bForce flag is set, enumerate all display devices and adapters

Note
This is only available on Windows
Parameters
bForceTRUE to force enumeration.

Member Data Documentation

◆ g_StaticRTTI

const Burger::StaticRTTI Burger::DisplayDirectX9::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_AdapterMonitor

HMONITOR__* Burger::DisplayDirectX9::m_AdapterMonitor

the monitor of the adapter

◆ m_bActive

uint_t Burger::DisplayDirectX9::m_bActive

◆ m_bAutoChangeAdapter

uint_t Burger::DisplayDirectX9::m_bAutoChangeAdapter

◆ m_bCanCalibrateGamma

uint_t Burger::DisplayDirectX9::m_bCanCalibrateGamma

TRUE if gamma can be calibrated.

◆ m_bClipCursorWhenFullScreen

uint_t Burger::DisplayDirectX9::m_bClipCursorWhenFullScreen

TRUE if the cursor is clipped in full screen mode.

◆ m_bDeviceCreated

uint_t Burger::DisplayDirectX9::m_bDeviceCreated

◆ m_bDeviceLost

uint_t Burger::DisplayDirectX9::m_bDeviceLost

if TRUE, then the device is lost and needs to be reset

◆ m_bDeviceObjectsCreated

uint_t Burger::DisplayDirectX9::m_bDeviceObjectsCreated

if TRUE, then DeviceCreated callback has been called (if non-NULL)

◆ m_bDeviceObjectsReset

uint_t Burger::DisplayDirectX9::m_bDeviceObjectsReset

if TRUE, then DeviceReset callback has been called successfully

◆ m_bFullScreenGamma

uint_t Burger::DisplayDirectX9::m_bFullScreenGamma

TRUE if full screen gamma was supported.

◆ m_bIgnoreSizeChange

uint_t Burger::DisplayDirectX9::m_bIgnoreSizeChange

if true, don't reset the device upon window size change

◆ m_bInsideDeviceCallback

uint_t Burger::DisplayDirectX9::m_bInsideDeviceCallback

if TRUE, then the framework is inside an app device callback

◆ m_bIsATI

uint_t Burger::DisplayDirectX9::m_bIsATI

TRUE if the video card was made by ATI.

◆ m_bIsIntel

uint_t Burger::DisplayDirectX9::m_bIsIntel

TRUE if the video card was made by Intel.

◆ m_bIsnVidia

uint_t Burger::DisplayDirectX9::m_bIsnVidia

TRUE if the video card was made by nVidia.

◆ m_bLostDevice

uint_t Burger::DisplayDirectX9::m_bLostDevice

TRUE if the device was lost (Minimized?)

◆ m_bMultiRenderTargets

uint_t Burger::DisplayDirectX9::m_bMultiRenderTargets

TRUE if multiple render targets are supported.

◆ m_bPower2Textures

uint_t Burger::DisplayDirectX9::m_bPower2Textures

TRUE if only power of two textures are allowed.

◆ m_bRasterDepthBias

uint_t Burger::DisplayDirectX9::m_bRasterDepthBias

TRUE if depth bias is supported in rasterizer.

◆ m_bRasterSlopeScaleDepthBias

uint_t Burger::DisplayDirectX9::m_bRasterSlopeScaleDepthBias

TRUE if sloped scaling depth bias is supported in rasterizer.

◆ m_bSceneBegun

uint_t Burger::DisplayDirectX9::m_bSceneBegun

TRUE if BeginScene() was called.

◆ m_bSeparateAlphaBlend

uint_t Burger::DisplayDirectX9::m_bSeparateAlphaBlend

TRUE if separated alpha blending is supported.

◆ m_bShowCursorWhenFullScreen

uint_t Burger::DisplayDirectX9::m_bShowCursorWhenFullScreen

TRUE if the cursor is visible in full screen mode.

◆ m_bTopmostWhileWindowed

uint_t Burger::DisplayDirectX9::m_bTopmostWhileWindowed

if TRUE, the windowed HWND is topmost

◆ m_D3D9Settings

DeviceSettings_t Burger::DisplayDirectX9::m_D3D9Settings

D3D device settings.

◆ m_D3DCaps

uint32_t Burger::DisplayDirectX9::m_D3DCaps[76]

D3DCAPS9 record.

◆ m_D3DSurfaceDesc

uint32_t Burger::DisplayDirectX9::m_D3DSurfaceDesc[8]

D3DSURFACE_DESC record.

◆ m_Enumerator

Enumerator Burger::DisplayDirectX9::m_Enumerator

Enumerated devices.

◆ m_fClearDepth

float Burger::DisplayDirectX9::m_fClearDepth

Z Value to clear the Z buffer with.

◆ m_pCurrentRenderTarget

IDirect3DSurface9* Burger::DisplayDirectX9::m_pCurrentRenderTarget

◆ m_pD3DXMatrixStack

ID3DXMatrixStack* Burger::DisplayDirectX9::m_pD3DXMatrixStack

Pointer to the current D3DMatrix stack.

◆ m_pDefaultRenderTarget

IDirect3DSurface9* Burger::DisplayDirectX9::m_pDefaultRenderTarget

◆ m_pDeviceCreatedFunc

DeviceCreatedProc Burger::DisplayDirectX9::m_pDeviceCreatedFunc

Pointer to function to call when the device was created (D3DPOOL_MANAGED)

◆ m_pDeviceCreatedFuncData

void* Burger::DisplayDirectX9::m_pDeviceCreatedFuncData

Pointer to data for device was created function.

◆ m_pDeviceDestroyedFunc

CallbackProc Burger::DisplayDirectX9::m_pDeviceDestroyedFunc

Pointer to function to call when the device was destroyed (D3DPOOL_MANAGED)

◆ m_pDeviceDestroyedFuncData

void* Burger::DisplayDirectX9::m_pDeviceDestroyedFuncData

Pointer to data for device was destroyed function.

◆ m_pDeviceFilter

IsDeviceOkayProc Burger::DisplayDirectX9::m_pDeviceFilter

Pointer to function to filter devices.

◆ m_pDeviceFilterData

void* Burger::DisplayDirectX9::m_pDeviceFilterData

Pointer to data for the filter device function.

◆ m_pDeviceLostFunc

CallbackProc Burger::DisplayDirectX9::m_pDeviceLostFunc

Pointer to function to call when the device was lost (D3DPOOL_DEFAULT)

◆ m_pDeviceLostFuncData

void* Burger::DisplayDirectX9::m_pDeviceLostFuncData

Pointer to data for device was lost function.

◆ m_pDeviceResetFunc

DeviceCreatedProc Burger::DisplayDirectX9::m_pDeviceResetFunc

Pointer to function to call after the device was reset (D3DPOOL_DEFAULT)

◆ m_pDeviceResetFuncData

void* Burger::DisplayDirectX9::m_pDeviceResetFuncData

Pointer to data for device was reset function.

◆ m_pDirect3D9

IDirect3D9* Burger::DisplayDirectX9::m_pDirect3D9

Pointer to the Direct3D9 context.

◆ m_pDirect3DDevice9

IDirect3DDevice9* Burger::DisplayDirectX9::m_pDirect3DDevice9

Pointer to the Direct3D9 device.

◆ m_pModifyDeviceSettingsData

void* Burger::DisplayDirectX9::m_pModifyDeviceSettingsData

Pointer to data for filter device setting function.

◆ m_pModifyDeviceSettingsFunc

DeviceSettingsFilterProc Burger::DisplayDirectX9::m_pModifyDeviceSettingsFunc

Pointer to function to filter device settings.

◆ m_uBackBufferFormat

uint_t Burger::DisplayDirectX9::m_uBackBufferFormat

Requested back buffer format.

◆ m_uClearColor

uint_t Burger::DisplayDirectX9::m_uClearColor

RGBA of the color to clear the screen with.

◆ m_uFullScreenBackBufferHeightAtModeChange

uint_t Burger::DisplayDirectX9::m_uFullScreenBackBufferHeightAtModeChange

back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen

◆ m_uFullScreenBackBufferWidthAtModeChange

uint_t Burger::DisplayDirectX9::m_uFullScreenBackBufferWidthAtModeChange

back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen

◆ m_uMatrixStackDepth

uint_t Burger::DisplayDirectX9::m_uMatrixStackDepth

Number of matrices in the matrix stack.

◆ m_uMaxPossibleAnisotropy

uint_t Burger::DisplayDirectX9::m_uMaxPossibleAnisotropy

Maximum number of anisotropy filters.

◆ m_uMaxTextureHeight

uint_t Burger::DisplayDirectX9::m_uMaxTextureHeight

Maximum pixels tall a texture can be.

◆ m_uMaxTextureSamplers

uint_t Burger::DisplayDirectX9::m_uMaxTextureSamplers

Maximum number of texture samplers.

◆ m_uMaxTextureStages

uint_t Burger::DisplayDirectX9::m_uMaxTextureStages

Maximum number of texture blend stages.

◆ m_uMaxTextureWidth

uint_t Burger::DisplayDirectX9::m_uMaxTextureWidth

Maximum pixels wide a texture can be.

◆ m_uWindowBackBufferHeightAtModeChange

uint_t Burger::DisplayDirectX9::m_uWindowBackBufferHeightAtModeChange

back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode

◆ m_uWindowBackBufferWidthAtModeChange

uint_t Burger::DisplayDirectX9::m_uWindowBackBufferWidthAtModeChange

back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode

◆ m_uWindowedStyleAtModeChange

uint_t Burger::DisplayDirectX9::m_uWindowedStyleAtModeChange

window style