Louvre
v2.12.0-1
C++ library for Wayland compositors
|
Base class for LPainter framebuffers. More...
Public Types | |
enum | Type |
Types of framebuffer. More... | |
Public Member Functions | |
virtual Float32 | scale () const =0 |
Gets the scale by which the framebuffer dimensions must be interpreted. More... | |
virtual const LSize & | sizeB () const =0 |
Gets the size of the framebuffer in buffer coordinates. More... | |
virtual const LRect & | rect () const =0 |
Gets the position and size of the framebuffer in surface coordinates. More... | |
virtual GLuint | id () const =0 |
Gets the OpenGL framebuffer ID. More... | |
virtual Int32 | buffersCount () const =0 |
Gets the number of internal framebuffers. More... | |
virtual Int32 | currentBufferIndex () const =0 |
Gets the index of the current internal framebuffer. More... | |
virtual LTexture * | texture (Int32 index=0) const =0 |
Gets the OpenGL texture ID of a specific framebuffer index. More... | |
virtual void | setFramebufferDamage (const LRegion *damage)=0 |
Set the damaged region. More... | |
virtual LTransform | transform () const =0 |
Gets the framebuffer transform. More... | |
Type | type () const noexcept |
Gets the type of LFramebuffer. More... | |
Public Member Functions inherited from LObject | |
LObject (const LObject &) noexcept | |
Copy constructor. More... | |
LObject & | operator= (const LObject &) noexcept |
Assignment operator (each object has its own individual LWeak reference count). More... | |
void | setUserData (UIntPtr data) const noexcept |
Store an unsigned integer value/pointer. More... | |
UIntPtr | userData () const noexcept |
Retrieves the stored unsigned integer value/pointer. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from LObject | |
LObject () noexcept=default | |
Constructor of the LObject class. More... | |
virtual | ~LObject () noexcept |
Destructor of the LObject class. More... | |
void | notifyDestruction () noexcept |
Notifies the object destruction. More... | |
Base class for LPainter framebuffers.
The LFramebuffer abstract class defines an interface for creating framebuffers or groups of framebuffers compatible with LPainter.
enum Type |
|
pure virtual |
Gets the scale by which the framebuffer dimensions must be interpreted.
This method must return the scale factor used to interpret the dimensions of the framebuffer.
For example, HiDPI pixmaps/displays may have a scale of 2, whereas low DPI pixmaps/displays may have a scale of 1.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the size of the framebuffer in buffer coordinates.
This method must return the size of the framebuffer in buffer coordinates.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the position and size of the framebuffer in surface coordinates.
This method must return the position and size of the framebuffer in surface coordinates.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the OpenGL framebuffer ID.
This method must return the current OpenGL framebuffer ID associated with the instance.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the number of internal framebuffers.
This method is used in implementations like LOutputFramebuffer, which may contain more than one internal framebuffer associated with an LFramebuffer, for example, when double or triple buffering is used.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the index of the current internal framebuffer.
This method must return the index of the current internal framebuffer (where the rendered content will be stored).
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
Gets the OpenGL texture ID of a specific framebuffer index.
This method must return the OpenGL texture ID associated with the specified framebuffer index or 0 if not available.
index | The index of the framebuffer. |
Implemented in LFramebufferWrapper, LRenderBuffer, and LOutputFramebuffer.
|
pure virtual |
Set the damaged region.
This method sets the region in surface coordinates that indicates the parts of the framebuffer that have changed since the last painting was performed.
damage | A pointer to the LRegion object representing the changed region. |
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
pure virtual |
Gets the framebuffer transform.
Implemented in LRenderBuffer, LOutputFramebuffer, and LFramebufferWrapper.
|
inlinenoexcept |
Gets the type of LFramebuffer.