Nebula
|
#include <displaydevicebase.h>
A DisplayDevice object represents the display where the RenderDevice presents the rendered frame.
Use the display device object to get information about available adapters and display modes, and to set the preferred display mode of a Nebula application.
Inherits Core::RefCounted.
Inherited by GLFW::GLFWDisplayDevice, and Win32::Win32DisplayDevice.
Public Member Functions | |
DisplayDeviceBase () | |
constructor | |
virtual | ~DisplayDeviceBase () |
destructor | |
bool | Open () |
open the display | |
void | Close () |
close the display | |
bool | IsOpen () const |
return true if display is currently open | |
void | ProcessWindowMessages () |
process window system messages, call this method once per frame | |
void | Reopen () |
reopens the display device which enables switching from display modes | |
void | SetVerticalSyncEnabled (bool b) |
set if vertical sync should be used | |
const bool | IsVerticalSyncEnabled () const |
get if vertical sync is enabled | |
bool | AdapterExists (CoreGraphics::Adapter::Code adapter) |
return true if adapter exists | |
Util::Array< CoreGraphics::DisplayMode > | GetAvailableDisplayModes (CoreGraphics::Adapter::Code adapter, CoreGraphics::PixelFormat::Code pixelFormat) |
get available display modes on given adapter | |
bool | SupportsDisplayMode (CoreGraphics::Adapter::Code adapter, const CoreGraphics::DisplayMode &requestedMode) |
return true if a given display mode is supported | |
CoreGraphics::DisplayMode | GetCurrentAdapterDisplayMode (CoreGraphics::Adapter::Code adapter) |
get current adapter display mode (i.e. the desktop display mode) | |
CoreGraphics::AdapterInfo | GetAdapterInfo (CoreGraphics::Adapter::Code adapter) |
get general info about display adapter | |
void | SetAdapter (CoreGraphics::Adapter::Code a) |
set display adapter (make sure adapter exists!) | |
CoreGraphics::Adapter::Code | GetAdapter () const |
get display adapter | |
const bool | IsFullscreen () const |
get if a window is running in full screen | |
void | AttachEventHandler (const Ptr< CoreGraphics::DisplayEventHandler > &h) |
attach a display event handler | |
void | RemoveEventHandler (const Ptr< CoreGraphics::DisplayEventHandler > &h) |
remove a display event handler | |
CoreGraphics::WindowId | SetupWindow (const Util::String &title, const Util::String &icon, const CoreGraphics::DisplayMode &displayMode, const CoreGraphics::AntiAliasQuality::Code aa=CoreGraphics::AntiAliasQuality::None) |
create a new window | |
CoreGraphics::WindowId | EmbedWindow (const Util::Blob &windowData) |
create a window from one created by another window system | |
CoreGraphics::WindowId | GetMainWindow () const |
get the 'main' window, if none exists, returns NULL | |
const CoreGraphics::WindowId | GetCurrentWindow () const |
get the current window | |
const CoreGraphics::WindowId | GetWindow (IndexT index) const |
get window using index, where 0 is the default window | |
const Util::Array< CoreGraphics::WindowId > & | GetWindows () const |
get all windows as an array | |
void | MakeWindowCurrent (const CoreGraphics::WindowId id) |
make ID the current one | |
Public Member Functions inherited from Core::RefCounted | |
RefCounted () | |
constructor | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Protected Member Functions | |
bool | NotifyEventHandlers (const CoreGraphics::DisplayEvent &e) |
notify event handlers about an event | |
Protected Member Functions inherited from Core::RefCounted | |
virtual | ~RefCounted () |
destructor (called when refcount reaches zero) | |
Protected Attributes | |
CoreGraphics::Adapter::Code | adapter |
bool | verticalSync |
bool | isOpen |
bool | isFullscreen |
Util::Array< Ptr< CoreGraphics::DisplayEventHandler > > | eventHandlers |
CoreGraphics::WindowId | currentWindow |
Util::Array< CoreGraphics::WindowId > | windows |
Private Member Functions | |
__DeclareClass (DisplayDeviceBase) | |
__DeclareSingleton (DisplayDeviceBase) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Base::DisplayDeviceBase::DisplayDeviceBase | ( | ) |
constructor
|
virtual |
destructor
|
private |
|
private |
bool Base::DisplayDeviceBase::AdapterExists | ( | CoreGraphics::Adapter::Code | adapter | ) |
return true if adapter exists
Checks if the given adapter exists.
void Base::DisplayDeviceBase::AttachEventHandler | ( | const Ptr< CoreGraphics::DisplayEventHandler > & | h | ) |
attach a display event handler
Attach an event handler to the display device.
void Base::DisplayDeviceBase::Close | ( | ) |
close the display
Close the display.
CoreGraphics::WindowId Base::DisplayDeviceBase::EmbedWindow | ( | const Util::Blob & | windowData | ) |
create a window from one created by another window system
|
inline |
get display adapter
AdapterInfo Base::DisplayDeviceBase::GetAdapterInfo | ( | CoreGraphics::Adapter::Code | adapter | ) |
get general info about display adapter
Returns information about the provided adapter.
Util::Array< DisplayMode > Base::DisplayDeviceBase::GetAvailableDisplayModes | ( | CoreGraphics::Adapter::Code | adapter, |
CoreGraphics::PixelFormat::Code | pixelFormat ) |
get available display modes on given adapter
Returns the display modes on the given adapter in the given pixel format.
DisplayMode Base::DisplayDeviceBase::GetCurrentAdapterDisplayMode | ( | CoreGraphics::Adapter::Code | adapter | ) |
get current adapter display mode (i.e. the desktop display mode)
This method returns the current adapter display mode.
It can be used to get the current desktop display mode.
|
inline |
get the current window
|
inline |
get the 'main' window, if none exists, returns NULL
|
inline |
get window using index, where 0 is the default window
|
inline |
get all windows as an array
|
inline |
get if a window is running in full screen
|
inline |
return true if display is currently open
|
inline |
get if vertical sync is enabled
void Base::DisplayDeviceBase::MakeWindowCurrent | ( | const CoreGraphics::WindowId | id | ) |
make ID the current one
|
protected |
notify event handlers about an event
Notify all event handlers about an event.
bool Base::DisplayDeviceBase::Open | ( | ) |
open the display
Open the display.
void Base::DisplayDeviceBase::ProcessWindowMessages | ( | ) |
process window system messages, call this method once per frame
Process window system messages.
Override this method in a subclass.
void Base::DisplayDeviceBase::RemoveEventHandler | ( | const Ptr< CoreGraphics::DisplayEventHandler > & | h | ) |
remove a display event handler
Remove an event handler from the display device.
void Base::DisplayDeviceBase::Reopen | ( | ) |
reopens the display device which enables switching from display modes
|
inline |
set display adapter (make sure adapter exists!)
CoreGraphics::WindowId Base::DisplayDeviceBase::SetupWindow | ( | const Util::String & | title, |
const Util::String & | icon, | ||
const CoreGraphics::DisplayMode & | displayMode, | ||
const CoreGraphics::AntiAliasQuality::Code | aa = CoreGraphics::AntiAliasQuality::None ) |
create a new window
|
inline |
set if vertical sync should be used
bool Base::DisplayDeviceBase::SupportsDisplayMode | ( | CoreGraphics::Adapter::Code | adapter, |
const CoreGraphics::DisplayMode & | requestedMode ) |
return true if a given display mode is supported
This method checks the available display modes on the given adapter against the requested display modes and returns true if the display mode exists.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |