LibreOffice Module canvas (master) 1
Public Member Functions | List of all members
dxcanvas::IDXRenderModule Struct Referenceabstract

Specialization of IRenderModule for DirectX. More...

#include <dx_rendermodule.hxx>

Inheritance diagram for dxcanvas::IDXRenderModule:
[legend]
Collaboration diagram for dxcanvas::IDXRenderModule:
[legend]

Public Member Functions

virtual bool flip (const ::basegfx::B2IRectangle &rUpdateArea, const ::basegfx::B2IRectangle &rCurrWindowArea)=0
 Flip front- and backbuffer, update only given area. More...
 
virtual void resize (const ::basegfx::B2IRange &rect)=0
 Resize backbuffer area for this render module. More...
 
virtual void screenShot ()=0
 Write a snapshot of the screen to disk. More...
 
virtual sal::systools::COMReference< surface_typecreateSystemMemorySurface (const ::basegfx::B2ISize &rSize)=0
 
virtual void disposing ()=0
 
virtual HWND getHWND () const =0
 
- Public Member Functions inherited from canvas::IRenderModule
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< ISurfacecreateSurface (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...
 

Additional Inherited Members

- Public Types inherited from canvas::IRenderModule
enum class  PrimitiveType {
  Unknown ,
  Triangle ,
  Quad
}
 Type of primitive passed to the render module via pushVertex() More...
 

Detailed Description

Specialization of IRenderModule for DirectX.

Definition at line 37 of file dx_rendermodule.hxx.

Member Function Documentation

◆ createSystemMemorySurface()

virtual sal::systools::COMReference< surface_type > dxcanvas::IDXRenderModule::createSystemMemorySurface ( const ::basegfx::B2ISize rSize)
pure virtual

◆ disposing()

virtual void dxcanvas::IDXRenderModule::disposing ( )
pure virtual

◆ flip()

virtual bool dxcanvas::IDXRenderModule::flip ( const ::basegfx::B2IRectangle rUpdateArea,
const ::basegfx::B2IRectangle rCurrWindowArea 
)
pure virtual

Flip front- and backbuffer, update only given area.

Note: Both update area and offset are ignored for fullscreen canvas, that uses page flipping (cannot, by definition, do anything else there except displaying the full backbuffer instead of the front buffer)

Parameters
rUpdateAreaArea to copy from backbuffer to front
rCurrWindowAreaCurrent area of VCL window (coordinates relative to VCL HWND)

◆ getHWND()

virtual HWND dxcanvas::IDXRenderModule::getHWND ( ) const
pure virtual

◆ resize()

virtual void dxcanvas::IDXRenderModule::resize ( const ::basegfx::B2IRange rect)
pure virtual

Resize backbuffer area for this render module.

◆ screenShot()

virtual void dxcanvas::IDXRenderModule::screenShot ( )
pure virtual

Write a snapshot of the screen to disk.


The documentation for this struct was generated from the following file: