![]() |
RAMSES Documentation
27.0.130
Information for RAMSES users and developers
|
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>
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... | |
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.
|
virtualdefault |
Empty destructor.
|
pure virtual |
This method will be called after a display was created (or failed to create) as a result of RamsesRenderer API createDisplay call.
displayId | id of the display that was created and initialized (or failed in case of error). |
result | Can be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed. |
Implemented in ramses::RendererEventHandlerEmpty.
|
pure virtual |
This method will be called after a display was destroyed (or failed to destroy) as a result of RamsesRenderer API destroyDisplay call.
displayId | Display id of display that the callback refers to. |
result | Can be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed. |
Implemented in ramses::RendererEventHandlerEmpty.
|
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.
pixelData | Pointer 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. |
pixelDataSize | The number of elements in the data array pixelData, ie. number of pixels * 4 (color channels). The size is 0 in case of failure. |
displayId | Display id of display that the callback refers to. |
displayBuffer | Buffer id of buffer that the callback refers to. |
result | Can be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed. |
Implemented in ramses::RendererEventHandlerEmpty.
|
pure virtual |
This method will be called when a key has been pressed while a display's window was focused.
displayId | The display on which the event occurred |
eventType | Specifies which type of key event has occurred |
keyModifiers | Modifiers used while pressing a key (bit mask of EKeyModifier) |
keyCode | The actual key which was pressed |
Implemented in ramses::RendererEventHandlerEmpty.
|
pure virtual |
This method will be called when a mouse event action has occured while a display's window was focused.
displayId | The display on which the event occurred |
eventType | Specifies which kind of mouse action has occurred |
mousePosX | Horizontal mouse position related to window (left = 0) |
mousePosY | Vertical mouse position related to window (top = 0) |
Implemented in ramses::RendererEventHandlerEmpty.
|
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.
displayId | Display id of display that the callback refers to. |
offscreenBufferId | The id of the offscreen buffer that was created or failed to be created. |
result | Can be ERendererEventResult_OK if succeeded, ERendererEventResult_FAIL if failed. |
Implemented in LocalDCSMExample, and ramses::RendererEventHandlerEmpty.
|
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.
displayId | Display id of display that the callback refers to. |
offscreenBufferId | The id of the offscreen buffer that was destroyed or failed to be destroyed. |
result | Can be ERendererEventResult_OK if succeeded, ERendererEventResult_FAIL if failed. |
Implemented in ramses::RendererEventHandlerEmpty.
|
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.
[in] | maximumLoopTime | The maximum time a loop of the first display within the last measure period |
[in] | averageLooptime | The average time a loop of the first display within the last measure period |
Implemented in ramses::RendererEventHandlerEmpty.
|
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.
displayId | Display id of display that the callback refers to. |
result | Can be ERendererEventResult_OK if succeeded or ERendererEventResult_FAIL if failed. |
Implemented in ramses::RendererEventHandlerEmpty.
|
pure virtual |
This method will be called when a display's window has been closed.
displayId | The display on which the event occurred |
Implemented in RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, RendererEventHandler, LocalDCSMExample, and ramses::RendererEventHandlerEmpty.
|
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.
displayId | The ramses display whose corresponding window was resized |
windowPosX | The new horizontal position of the window's upper left corner |
windowPosY | The new vertical position of the window's upper left corner |
Implemented in ramses::RendererEventHandlerEmpty.
|
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.
displayId | The ramses display whose corresponding window was resized |
width | The new width of the window |
height | The new height of the window |
Implemented in ramses::RendererEventHandlerEmpty.