RAMSES Documentation  27.0.130
Information for RAMSES users and developers
Public Member Functions | List of all members
ramses::IRendererEventHandler Class Referenceabstract

Provides an interface for handling the result of renderer events. Implementation of this interface must be passed to RamsesRenderer::dispatchEvents which will in return invoke methods of the interface according to events that occurred since last dispatching. More...

#include <IRendererEventHandler.h>

Inheritance diagram for ramses::IRendererEventHandler:
[legend]

Public Member Functions

virtual void offscreenBufferCreated (displayId_t displayId, displayBufferId_t offscreenBufferId, ERendererEventResult result)=0
 This method will be called after an offscreen buffer is created (or failed to be created) as a result of RamsesRenderer API createOffscreenBuffer call. More...
 
virtual void offscreenBufferDestroyed (displayId_t displayId, displayBufferId_t offscreenBufferId, ERendererEventResult result)=0
 This method will be called after an offscreen buffer is destroyed (or failed to be destroyed) as a result of RamsesRenderer API destroyOffscreenBuffer call. More...
 
virtual void framebufferPixelsRead (const uint8_t *pixelData, const uint32_t pixelDataSize, displayId_t displayId, displayBufferId_t displayBuffer, ERendererEventResult result)=0
 This method will be called when a read back of pixels from display buffer was finished. This is the result of RamsesRenderer::readPixels call which triggers an asynchronous read back from the internal device. More...
 
virtual void warpingMeshDataUpdated (displayId_t displayId, ERendererEventResult result)=0
 This method will be called when update of warping mesh data was finished. This is the result of RamsesRenderer::updateWarpingMeshData call which triggers an asynchronous update of warping data used by internal display. More...
 
virtual void displayCreated (displayId_t displayId, ERendererEventResult result)=0
 This method will be called after a display was created (or failed to create) as a result of RamsesRenderer API createDisplay call. More...
 
virtual void displayDestroyed (displayId_t displayId, ERendererEventResult result)=0
 This method will be called after a display was destroyed (or failed to destroy) as a result of RamsesRenderer API destroyDisplay call. More...
 
virtual void keyEvent (displayId_t displayId, EKeyEvent eventType, uint32_t keyModifiers, EKeyCode keyCode)=0
 This method will be called when a key has been pressed while a display's window was focused. More...
 
virtual void mouseEvent (displayId_t displayId, EMouseEvent eventType, int32_t mousePosX, int32_t mousePosY)=0
 This method will be called when a mouse event action has occured while a display's window was focused. More...
 
virtual void windowResized (displayId_t displayId, uint32_t width, uint32_t height)=0
 This method will be called when a display's window has been resized. More...
 
virtual void windowMoved (displayId_t displayId, int32_t windowPosX, int32_t windowPosY)=0
 This method will be called when a display's window has been moved, if the renderer uses WGL/Windows or X11/Linux as a window system. More...
 
virtual void windowClosed (displayId_t displayId)=0
 This method will be called when a display's window has been closed. More...
 
virtual void renderThreadLoopTimings (std::chrono::microseconds maximumLoopTime, std::chrono::microseconds averageLooptime)=0
 This method will be called in period given to renderer config (ramses::RendererConfig::setRenderThreadLoopTimingReportingPeriod) and provides rough performance indicators - maximum and average loop (frame) time within that measure period. It only reports timings for first display. More...
 
virtual ~IRendererEventHandler ()=default
 Empty destructor. More...
 

Detailed Description

Provides an interface for handling the result of renderer events. Implementation of this interface must be passed to RamsesRenderer::dispatchEvents which will in return invoke methods of the interface according to events that occurred since last dispatching.

Constructor & Destructor Documentation

◆ ~IRendererEventHandler()

virtual ramses::IRendererEventHandler::~IRendererEventHandler ( )
virtualdefault

Empty destructor.

Member Function Documentation

◆ displayCreated()

virtual void ramses::IRendererEventHandler::displayCreated ( displayId_t  displayId,
ERendererEventResult  result 
)
pure virtual

This method will be called after a display was created (or failed to create) as a result of RamsesRenderer API createDisplay call.

Parameters
displayIdid of the display that was created and initialized (or failed in case of error).
resultCan be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed.

Implemented in ramses::RendererEventHandlerEmpty.

◆ displayDestroyed()

virtual void ramses::IRendererEventHandler::displayDestroyed ( displayId_t  displayId,
ERendererEventResult  result 
)
pure virtual

This method will be called after a display was destroyed (or failed to destroy) as a result of RamsesRenderer API destroyDisplay call.

Parameters
displayIdDisplay id of display that the callback refers to.
resultCan be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed.

Implemented in ramses::RendererEventHandlerEmpty.

◆ framebufferPixelsRead()

virtual void ramses::IRendererEventHandler::framebufferPixelsRead ( const uint8_t *  pixelData,
const uint32_t  pixelDataSize,
displayId_t  displayId,
displayBufferId_t  displayBuffer,
ERendererEventResult  result 
)
pure virtual

This method will be called when a read back of pixels from display buffer was finished. This is the result of RamsesRenderer::readPixels call which triggers an asynchronous read back from the internal device.

Parameters
pixelDataPointer to the pixel data in uncompressed RGBA8 format. Check result and pixelDataSize first to determine the state and size of the data. The data is available at the pointer only during the dispatch of this event. The pointer is nullptr in case of failure.
pixelDataSizeThe number of elements in the data array pixelData, ie. number of pixels * 4 (color channels). The size is 0 in case of failure.
displayIdDisplay id of display that the callback refers to.
displayBufferBuffer id of buffer that the callback refers to.
resultCan be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed.

Implemented in ramses::RendererEventHandlerEmpty.

◆ keyEvent()

virtual void ramses::IRendererEventHandler::keyEvent ( displayId_t  displayId,
EKeyEvent  eventType,
uint32_t  keyModifiers,
EKeyCode  keyCode 
)
pure virtual

This method will be called when a key has been pressed while a display's window was focused.

Parameters
displayIdThe display on which the event occurred
eventTypeSpecifies which type of key event has occurred
keyModifiersModifiers used while pressing a key (bit mask of EKeyModifier)
keyCodeThe actual key which was pressed

Implemented in ramses::RendererEventHandlerEmpty.

◆ mouseEvent()

virtual void ramses::IRendererEventHandler::mouseEvent ( displayId_t  displayId,
EMouseEvent  eventType,
int32_t  mousePosX,
int32_t  mousePosY 
)
pure virtual

This method will be called when a mouse event action has occured while a display's window was focused.

Parameters
displayIdThe display on which the event occurred
eventTypeSpecifies which kind of mouse action has occurred
mousePosXHorizontal mouse position related to window (left = 0)
mousePosYVertical mouse position related to window (top = 0)

Implemented in ramses::RendererEventHandlerEmpty.

◆ offscreenBufferCreated()

virtual void ramses::IRendererEventHandler::offscreenBufferCreated ( displayId_t  displayId,
displayBufferId_t  offscreenBufferId,
ERendererEventResult  result 
)
pure virtual

This method will be called after an offscreen buffer is created (or failed to be created) as a result of RamsesRenderer API createOffscreenBuffer call.

Parameters
displayIdDisplay id of display that the callback refers to.
offscreenBufferIdThe id of the offscreen buffer that was created or failed to be created.
resultCan be ERendererEventResult_OK if succeeded, ERendererEventResult_FAIL if failed.

Implemented in LocalDCSMExample, and ramses::RendererEventHandlerEmpty.

◆ offscreenBufferDestroyed()

virtual void ramses::IRendererEventHandler::offscreenBufferDestroyed ( displayId_t  displayId,
displayBufferId_t  offscreenBufferId,
ERendererEventResult  result 
)
pure virtual

This method will be called after an offscreen buffer is destroyed (or failed to be destroyed) as a result of RamsesRenderer API destroyOffscreenBuffer call.

Parameters
displayIdDisplay id of display that the callback refers to.
offscreenBufferIdThe id of the offscreen buffer that was destroyed or failed to be destroyed.
resultCan be ERendererEventResult_OK if succeeded, ERendererEventResult_FAIL if failed.

Implemented in ramses::RendererEventHandlerEmpty.

◆ renderThreadLoopTimings()

virtual void ramses::IRendererEventHandler::renderThreadLoopTimings ( std::chrono::microseconds  maximumLoopTime,
std::chrono::microseconds  averageLooptime 
)
pure virtual

This method will be called in period given to renderer config (ramses::RendererConfig::setRenderThreadLoopTimingReportingPeriod) and provides rough performance indicators - maximum and average loop (frame) time within that measure period. It only reports timings for first display.

Parameters
[in]maximumLoopTimeThe maximum time a loop of the first display within the last measure period
[in]averageLooptimeThe average time a loop of the first display within the last measure period

Implemented in ramses::RendererEventHandlerEmpty.

◆ warpingMeshDataUpdated()

virtual void ramses::IRendererEventHandler::warpingMeshDataUpdated ( displayId_t  displayId,
ERendererEventResult  result 
)
pure virtual

This method will be called when update of warping mesh data was finished. This is the result of RamsesRenderer::updateWarpingMeshData call which triggers an asynchronous update of warping data used by internal display.

Parameters
displayIdDisplay id of display that the callback refers to.
resultCan be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed.

Implemented in ramses::RendererEventHandlerEmpty.

◆ windowClosed()

virtual void ramses::IRendererEventHandler::windowClosed ( displayId_t  displayId)
pure virtual

This method will be called when a display's window has been closed.

Parameters
displayIdThe display on which the event occurred

Implemented in RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, LocalDCSMExample, and ramses::RendererEventHandlerEmpty.

◆ windowMoved()

virtual void ramses::IRendererEventHandler::windowMoved ( displayId_t  displayId,
int32_t  windowPosX,
int32_t  windowPosY 
)
pure virtual

This method will be called when a display's window has been moved, if the renderer uses WGL/Windows or X11/Linux as a window system.

Parameters
displayIdThe ramses display whose corresponding window was resized
windowPosXThe new horizontal position of the window's upper left corner
windowPosYThe new vertical position of the window's upper left corner

Implemented in ramses::RendererEventHandlerEmpty.

◆ windowResized()

virtual void ramses::IRendererEventHandler::windowResized ( displayId_t  displayId,
uint32_t  width,
uint32_t  height 
)
pure virtual

This method will be called when a display's window has been resized.

This applies specifically to windows that are created and maintained by the renderer during display creation, which is the default behavior of the renderer.

Parameters
displayIdThe ramses display whose corresponding window was resized
widthThe new width of the window
heightThe new height of the window

Implemented in ramses::RendererEventHandlerEmpty.


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