OGRE-Next  3.0.0
Object-Oriented Graphics Rendering Engine
Ogre::EGLWindow Class Referenceabstract

#include <OgreEGLWindow.h>

+ Inheritance diagram for Ogre::EGLWindow:

Public Member Functions

 EGLWindow (const String &title, uint32 width, uint32 height, bool fullscreenMode, PixelFormatGpu depthStencilFormat, const NameValuePairList *miscParams, EGLGLSupport *glsupport)
 
 EGLWindow (EGLSupport *glsupport)
 
virtual ~EGLWindow ()
 
virtual ~EGLWindow ()
 
virtual void _initialize (TextureGpuManager *textureManager)
 
virtual void _setVisible (bool visible)
 Internal method to notify the window it has been obscured or minimized. More...
 
void copyContentsToMemory (const Box &src, const PixelBox &dst, FrameBuffer buffer)
 
virtual void destroy ()
 
void destroy ()
 
virtual void getCustomAttribute (const String &name, void *pData)
 
virtual void getCustomAttribute (IdString name, void *pData)
 
virtual bool isClosed () const
 Indicates whether the window has been closed by the user. More...
 
bool isClosed () const
 Indicates whether the window has been closed by the user. More...
 
bool isHidden () const
 Indicates whether the window was set to hidden (not displayed) More...
 
bool isVisible () const
 
bool isVisible () const
 
virtual void reposition (int32 left, int32 top)
 
void requestFullscreenSwitch (bool goFullscreen, bool borderless, uint32 monitorIdx, uint32 width, uint32 height, uint32 frequencyNumerator, uint32 frequencyDenominator)
 Requests to toggle between fullscreen and windowed mode. More...
 
void requestResolution (uint32 width, uint32 height)
 Requests a change in resolution. More...
 
bool requiresTextureFlipping () const
 
bool requiresTextureFlipping () const
 
virtual void setFullscreen (bool fullscreen, uint width, uint height)
 
void setHidden (bool hidden)
 Hide (or show) the window. More...
 
void setVisible (bool visible)
 
virtual void setVSync (bool vSync, uint32 vSyncInterval)
 Turns VSync on/off. More...
 
void swapBuffers ()
 
void swapBuffers ()
 
void windowMovedOrResized ()
 Notify that the window has been resized. More...
 
- Public Member Functions inherited from Ogre::Window
 Window (const String &title, uint32 widthPt, uint32 heightPt, bool fullscreenMode)
 
virtual ~Window ()
 
void _setPrimary ()
 Indicates that this is the primary window. More...
 
virtual bool canDownloadData () const
 Returns true if you can download to CPU (i.e. More...
 
bool getBorderless () const
 
TextureGpugetDepthBuffer () const
 
uint32 getFrequencyDenominator () const
 
uint32 getFrequencyNumerator () const
 
uint32 getHeight () const
 
virtual void getMetrics (uint32 &width, uint32 &height, int32 &left, int32 &top) const
 Overloaded version of getMetrics from RenderTarget, including extra details specific to windowing systems. More...
 
PixelFormatGpu getPixelFormat () const
 
uint32 getRequestedHeightPt () const
 
uint32 getRequestedWidthPt () const
 
SampleDescription getSampleDescription () const
 
TextureGpugetStencilBuffer () const
 
TextureGpugetTexture () const
 WARNING: Attempting to change the TextureGpu (e.g. More...
 
const StringgetTitle () const
 
virtual float getViewPointToPixelScale () const
 Many windowing systems that support HiDPI displays use special points to specify size of the windows and controls, so that windows and controls with hardcoded sizes does not become too small on HiDPI displays. More...
 
bool getVSync () const
 
uint32 getVSyncInterval () const
 
uint32 getWidth () const
 
bool isFocused () const
 
bool isFullscreen () const
 Returns true if we are currently in fullscreen mode. More...
 
virtual bool isManualSwapRelease () const
 Returns the value set by setManualSwapRelease when supported. More...
 
bool isMultisample () const
 
bool isPrimary () const
 
virtual void performManualRelease ()
 See Window::setManualSwapRelease. More...
 
virtual void setBorderless (bool borderless)
 
virtual void setFocused (bool focused)
 
virtual void setFsaa (const String &fsaa)
 Set the FSAA mode to be used if hardware support it. More...
 
virtual void setManualSwapRelease (bool bManualRelease)
 Metal doesn't want us to hold on to a drawable after presenting. More...
 
virtual void setTitle (const String &title)
 
virtual void setWantsToDownload (bool bWantsToDownload)
 On Metal you must call this function and set it to true in order to take pictures. More...
 
bool wantsToGoFullscreen () const
 Returns true if we are in windowed mode right now, but want to go fullscreen. More...
 
bool wantsToGoWindowed () const
 Returns true if we are in fullscreen mode right now, but want to go windowed mode. More...
 

Constructor & Destructor Documentation

◆ EGLWindow() [1/2]

Ogre::EGLWindow::EGLWindow ( const String title,
uint32  width,
uint32  height,
bool  fullscreenMode,
PixelFormatGpu  depthStencilFormat,
const NameValuePairList miscParams,
EGLGLSupport glsupport 
)

◆ ~EGLWindow() [1/2]

virtual Ogre::EGLWindow::~EGLWindow ( )
virtual

◆ EGLWindow() [2/2]

Ogre::EGLWindow::EGLWindow ( EGLSupport glsupport)

◆ ~EGLWindow() [2/2]

virtual Ogre::EGLWindow::~EGLWindow ( )
virtual

Member Function Documentation

◆ _initialize()

virtual void Ogre::EGLWindow::_initialize ( TextureGpuManager textureManager)
virtual

Implements Ogre::Window.

◆ _setVisible()

virtual void Ogre::EGLWindow::_setVisible ( bool  visible)
virtual

Internal method to notify the window it has been obscured or minimized.

Implements Ogre::Window.

◆ copyContentsToMemory()

void Ogre::EGLWindow::copyContentsToMemory ( const Box src,
const PixelBox &  dst,
FrameBuffer  buffer 
)

◆ destroy() [1/2]

virtual void Ogre::EGLWindow::destroy ( )
virtual

Implements Ogre::Window.

◆ destroy() [2/2]

void Ogre::EGLWindow::destroy ( )
virtual

Implements Ogre::Window.

◆ getCustomAttribute() [1/2]

virtual void Ogre::EGLWindow::getCustomAttribute ( const String name,
void *  pData 
)
virtual
Remarks
Get custom attribute; the following attributes are valid: WINDOW The X NativeWindowType target for rendering. GLCONTEXT The Ogre GLContext used for rendering. DISPLAY EGLDisplay connection behind that context. DISPLAYNAME The name for the connected display.

Reimplemented in Ogre::X11EGLWindow.

◆ getCustomAttribute() [2/2]

virtual void Ogre::EGLWindow::getCustomAttribute ( IdString  name,
void *  pData 
)
virtual
Remarks
Get custom attribute; the following attributes are valid: WINDOW The X Window target for rendering. GLCONTEXT The Ogre GL3PlusContext used for rendering. DISPLAY The X Display connection behind that context. DISPLAYNAME The X Server name for the connected display. ATOM The X Atom used in client delete events.

Reimplemented from Ogre::Window.

◆ isClosed() [1/2]

virtual bool Ogre::EGLWindow::isClosed ( ) const
virtual

Indicates whether the window has been closed by the user.

Implements Ogre::Window.

◆ isClosed() [2/2]

bool Ogre::EGLWindow::isClosed ( ) const
virtual

Indicates whether the window has been closed by the user.

Implements Ogre::Window.

◆ isHidden()

bool Ogre::EGLWindow::isHidden ( ) const
inlinevirtual

Indicates whether the window was set to hidden (not displayed)

Implements Ogre::Window.

◆ isVisible() [1/2]

bool Ogre::EGLWindow::isVisible ( ) const
virtual

Implements Ogre::Window.

◆ isVisible() [2/2]

bool Ogre::EGLWindow::isVisible ( ) const
virtual

Implements Ogre::Window.

◆ reposition()

virtual void Ogre::EGLWindow::reposition ( int32  left,
int32  top 
)
virtual

Implements Ogre::Window.

◆ requestFullscreenSwitch()

void Ogre::EGLWindow::requestFullscreenSwitch ( bool  goFullscreen,
bool  borderless,
uint32  monitorIdx,
uint32  widthPt,
uint32  heightPt,
uint32  frequencyNumerator,
uint32  frequencyDenominator 
)
virtual

Requests to toggle between fullscreen and windowed mode.

Remarks
Use wantsToGoFullscreen & wantsToGoWindowed to know what you've requested. Same remarks as requestResolution apply: If we request to go fullscreen, wantsToGoFullscreen will return true. But if get word from OS saying we stay in windowed mode, wantsToGoFullscreen will start returning false.
Parameters
goFullscreenTrue to go fullscreen, false to go windowed mode.
borderlessWhether to be borderless. Only useful if goFullscreen == false;
monitorIdx
widthPtNew width. Leave 0 if you don't care.
heightPtNew height. Leave 0 if you don't care.
frequencyNumeratorNew frequency (fullscreen only). Leave 0 if you don't care.
frequencyDenominatorNew frequency (fullscreen only). Leave 0 if you don't care.

Reimplemented from Ogre::Window.

◆ requestResolution()

void Ogre::EGLWindow::requestResolution ( uint32  width,
uint32  height 
)
virtual

Requests a change in resolution.

Change is not immediate. Use getRequestedWidthPt & getRequestedHeightPt if you need to know what you've requested, but beware you may not get that resolution, and once we get word from the OS, getRequested{Width/Height}Pt will change again so that getWidth == getRequestedWidthPt * getViewPointToPixelScale.

Reimplemented from Ogre::Window.

◆ requiresTextureFlipping() [1/2]

bool Ogre::EGLWindow::requiresTextureFlipping ( ) const
inline

◆ requiresTextureFlipping() [2/2]

bool Ogre::EGLWindow::requiresTextureFlipping ( ) const

◆ setFullscreen()

virtual void Ogre::EGLWindow::setFullscreen ( bool  fullscreen,
uint  width,
uint  height 
)
virtual

Reimplemented in Ogre::X11EGLWindow.

◆ setHidden()

void Ogre::EGLWindow::setHidden ( bool  hidden)
virtual

Hide (or show) the window.

If called with hidden=true, this will make the window completely invisible to the user.

Remarks
Setting a window to hidden is useful to create a dummy primary RenderWindow hidden from the user so that you can create and recreate your actual RenderWindows without having to recreate all your resources.

Implements Ogre::Window.

◆ setVisible()

void Ogre::EGLWindow::setVisible ( bool  visible)

◆ setVSync()

virtual void Ogre::EGLWindow::setVSync ( bool  vSync,
uint32  vSyncInterval 
)
virtual

Turns VSync on/off.

Parameters
vSync
vSyncIntervalWhen true, specifies how often the screen should be updated. e.g. at 60hz: vSyncInterval = 1 then update at 60hz vSyncInterval = 2 then update at 30hz vSyncInterval = 3 then update at 15hz vSyncInterval = 4 then update at 7.5hz

If the 31st bit is set, i.e. 0x80000000, then lowest latency mode, aka mailbox, will be used (which doesn't limit the framerate)

Reimplemented from Ogre::Window.

◆ swapBuffers() [1/2]

void Ogre::EGLWindow::swapBuffers ( )
virtual

Implements Ogre::Window.

Reimplemented in Ogre::EmscriptenEGLWindow.

◆ swapBuffers() [2/2]

void Ogre::EGLWindow::swapBuffers ( )
virtual

Implements Ogre::Window.

◆ windowMovedOrResized()

void Ogre::EGLWindow::windowMovedOrResized ( )
virtual

Notify that the window has been resized.

Remarks
You don't need to call this unless you created the window externally.

Reimplemented from Ogre::Window.


The documentation for this class was generated from the following file: