|
Ream v0.1.0-1
C++ graphics library for Linux
|
Abstract base class representing a rendering swapchain. More...
#include <RSwapchain.h>
Inheritance diagram for RSwapchain:Public Member Functions | |
| RSwapchain (SkISize size) noexcept | |
| Construct a swapchain with the given image size. | |
| SkISize | size () const noexcept |
| The size of swapchain images in pixels. | |
| virtual std::optional< const RSwapchainImage > | acquire () noexcept=0 |
| Acquire the next available swapchain image. | |
| virtual bool | present (const RSwapchainImage &image, SkRegion *damage=nullptr) noexcept=0 |
| Present a previously acquired image to the display. | |
| virtual bool | resize (SkISize size) noexcept=0 |
| Request a resize of future swapchain images. | |
Public Member Functions inherited from RObject | |
| RObject ()=default | |
| Constructs a default RObject. | |
Abstract base class representing a rendering swapchain.
A swapchain manages a set of images that can be acquired, rendered into, and then presented to the display. This class provides an interface for acquiring images, presenting rendered content, and handling resize events.
|
inlinenoexcept |
Construct a swapchain with the given image size.
|
inlinenoexcept |
The size of swapchain images in pixels.
|
pure virtualnoexcept |
Acquire the next available swapchain image.
Implemented in RGLSwapchainWL, RRSSwapchainWL, and RVKSwapchainWL.
|
pure virtualnoexcept |
Present a previously acquired image to the display.
| image | The image to be presented. |
| damage | Region of the image that has changed since the last frame.
|
true if the presentation succeeded, otherwise false. Implemented in RGLSwapchainWL, RRSSwapchainWL, and RVKSwapchainWL.
|
pure virtualnoexcept |
Request a resize of future swapchain images.
This affects only newly acquired images, currently acquired images remain at the previous size until released.
| size | The new desired image size in pixels. |
true if the resize request was accepted, otherwise false. Implemented in RGLSwapchainWL, RRSSwapchainWL, and RVKSwapchainWL.