|
CeresEngine 0.2.0
A game development framework
|
A UIWindowDevice implementation that offers graphics accelerated rendering of the UI, but offers no specific mechanism for how a window is represented.
More...
#include <CeresEngine/UI/UIWindowDevice.hpp>
Public Member Functions | |
| UIWindowFramebufferDevice (Renderer &renderer) | |
| void | draw (UIBackingStore &backingStore, UIDrawCommandBuffer &drawCommandBuffer) override |
| Draws the UI command buffer into the backing store. | |
| UIBackingStorePtr | createBackingStore (UIWindow &window) override |
| Creates a new backing store for the window or a view that belongs to the window. | |
| void | flush (UIWindow &window, UIBackingStore &backingStore) override |
| Flushes the contents of the window to the backing device. | |
Public Member Functions inherited from CeresEngine::UIWindowDevice | |
| UIWindowDevice () noexcept=default | |
| virtual | ~UIWindowDevice () noexcept=default |
| virtual double | getBackingScaleFactor (const UIWindow &window) const |
| The backing scale factor. | |
| virtual UIBackingStorePtr | registerWindow (UIWindow &window) |
| Registers a window with this device. | |
| virtual void | unregisterWindow (UIWindow &window) |
| Unregisters the window from this device. | |
Public Member Functions inherited from CeresEngine::RefCounted< UIWindowDevice > | |
| RefCounted (Args &&... args) | |
Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it. | |
| void | retain () noexcept |
| Retains the object by increment it's reference count by one. | |
| bool | release () noexcept |
| Relases the object by decrementing it's reference count by one. | |
Protected Attributes | |
| Renderer & | mRenderer |
| UIRenderer | mUIRenderer |
| The renderer that will render the UI elements on a texture. | |
Private Types | |
| using | super = UIWindowDevice |
Additional Inherited Members | |
Protected Member Functions inherited from CeresEngine::UIWindowDevice | |
| void | notifyFrameChanged (UIWindow &window, const UIRect &newFrame) |
| Utility method that must be called by device implementations when the window frame changes. | |
| void | notifyBackingScaleFactorChange (UIWindow &window, double newBackingScalingFactor) |
| Utility method that must be called by device implementations when the window scaling factor changes. | |
A UIWindowDevice implementation that offers graphics accelerated rendering of the UI, but offers no specific mechanism for how a window is represented.
This class is usually not used directly, but is instead sub-classed by a more specialized device such as UIWindowSurfaceDevice that backs windows by an operating-system provided window surface.
|
explicit |
|
overridevirtual |
Creates a new backing store for the window or a view that belongs to the window.
The backing store is used to store the contents of a view, window or layer and acts as render target when doing draw calls.
The most common implementation is to return a framebuffer that accepts GPU drawing commands.
Implements CeresEngine::UIWindowDevice.
Reimplemented in CeresEngine::UIWindowSurfaceDevice.
|
overridevirtual |
Draws the UI command buffer into the backing store.
This method is usually called from the UIWindow display method or from a UILayer when filling the contents.
The default implementation is a no-op.
Reimplemented from CeresEngine::UIWindowDevice.
|
overridevirtual |
Flushes the contents of the window to the backing device.
If this is a window that is backed by a physical operating-system provided window, it means presenting the contents of backingStore to the window swapchain.
The backingStore instance must be the same instance as returned from Other devices may choose to implement this differently. The default implementation is a no-op. "/Users/Rogiel/Developer/CeresEngine/Engine/Sources/CeresEngine/UI/UIWindowDevice.hpp" 133
Reimplemented from CeresEngine::UIWindowDevice.
Reimplemented in CeresEngine::UIWindowSurfaceDevice.
|
protected |
|
protected |
The renderer that will render the UI elements on a texture.