LibreOffice Module canvas (master) 1
|
Output module interface for backend render implementations. More...
#include <irendermodule.hxx>
Public Types | |
enum class | PrimitiveType { Unknown , Triangle , Quad } |
Type of primitive passed to the render module via pushVertex() More... | |
Public Member Functions | |
virtual | ~IRenderModule () |
virtual void | lock () const =0 |
Lock rendermodule against concurrent access. More... | |
virtual void | unlock () const =0 |
Unlock rendermodule for concurrent access. More... | |
virtual ::basegfx::B2IVector | getPageSize ()=0 |
Maximal size of VRAM pages available. More... | |
virtual std::shared_ptr< ISurface > | createSurface (const ::basegfx::B2IVector &surfaceSize)=0 |
Create a (possibly hardware-accelerated) surface. More... | |
virtual void | beginPrimitive (PrimitiveType eType)=0 |
Begin rendering the given primitive. More... | |
virtual void | endPrimitive ()=0 |
Finish rendering a primitive. More... | |
virtual void | pushVertex (const Vertex &vertex)=0 |
Add given vertex to current primitive. More... | |
virtual bool | isError ()=0 |
Query error status. More... | |
Output module interface for backend render implementations.
Implement this interface for each operating system- or library-specific rendering backend, which needs coupling with the canvas rendering framework (which can be shared between all backend implementations).
Definition at line 48 of file irendermodule.hxx.
|
strong |
Type of primitive passed to the render module via pushVertex()
Enumerator | |
---|---|
Unknown | |
Triangle | |
Quad |
Definition at line 53 of file irendermodule.hxx.
|
inlinevirtual |
Definition at line 60 of file irendermodule.hxx.
|
pure virtual |
Begin rendering the given primitive.
Each beginPrimitive() call must be matched with an endPrimitive() call.
|
pure virtual |
Create a (possibly hardware-accelerated) surface.
|
pure virtual |
Finish rendering a primitive.
Each beginPrimitive() call must be matched with an endPrimitive() call.
|
pure virtual |
Maximal size of VRAM pages available.
This is typically the maximum texture size of the hardware, or some arbitrary limit if the backend is software.
|
pure virtual |
Query error status.
|
pure virtual |
Lock rendermodule against concurrent access.
|
pure virtual |
Add given vertex to current primitive.
After issuing a beginPrimitive(), each pushVertex() adds a vertex to the active primitive.
|
pure virtual |
Unlock rendermodule for concurrent access.