Loading...
Searching...
No Matches
score::gfx::Window Class Reference

A platform window in which the content is going to be rendered. More...

Inheritance diagram for score::gfx::Window:

Detailed Description

A platform window in which the content is going to be rendered.

Created by ScreenNode.

Public Member Functions

 Window (GraphicsApi graphicsApi)
 
GraphicsApi api () const noexcept
 
void init ()
 
void resizeSwapChain ()
 
void releaseSwapChain ()
 
void render ()
 
void scheduleRetry ()
 
void handleDeviceLost ()
 
bool checkDeviceLost (int frameOpResult)
 
void exposeEvent (QExposeEvent *) override
 
void mouseDoubleClickEvent (QMouseEvent *ev) override
 
bool event (QEvent *e) override
 
bool deviceLost () const noexcept
 
void tabletMove (QTabletEvent *ev)
 
void mouseMove (QPointF screen, QPointF win)
 
void interactiveEvent (QEvent *event)
 
void key (int key, const QString &t)
 
void keyRelease (int key, const QString &t)
 
void fps (float v)
 

Public Attributes

std::function< void()> onWindowReady
 
std::function< void()> onUpdate
 
std::function< void()> onAboutToRender
 
std::function< void(QRhiCommandBuffer &)> onRender
 
std::function< void()> onResize
 
std::function< void()> onClose
 
std::function< void()> onDeviceLost
 

Member Data Documentation

◆ onAboutToRender

std::function<void()> score::gfx::Window::onAboutToRender

Refreshes whatever gates a frame, before m_canRender is read. The vsync loop re-enters render() on its own, without ever passing through the node's own render(), so a node that recomputes state per tick needs a hook here or it only ever runs on the timer-driven path.


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