LibreOffice Module canvas (master) 1
Public Member Functions | Private Attributes | List of all members
canvas::SurfaceProxy Class Reference

Definition of the surface proxy class. More...

#include <surfaceproxy.hxx>

Inheritance diagram for canvas::SurfaceProxy:
[legend]
Collaboration diagram for canvas::SurfaceProxy:
[legend]

Public Member Functions

 SurfaceProxy (std::shared_ptr< canvas::IColorBuffer > xBuffer, PageManagerSharedPtr xPageManager)
 
virtual void setColorBufferDirty () override
 Notify the proxy that the color buffer has changed. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DHomMatrix &rTransform) override
 Render the surface content to screen. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DRange &rArea, const ::basegfx::B2DHomMatrix &rTransform) override
 Render the surface content to screen. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DPolyPolygon &rClipPoly, const ::basegfx::B2DHomMatrix &rTransform) override
 Render the surface content to screen. More...
 
- Public Member Functions inherited from canvas::ISurfaceProxy
virtual ~ISurfaceProxy ()
 
virtual void setColorBufferDirty ()=0
 Notify the proxy that the color buffer has changed. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DHomMatrix &rTransform)=0
 Render the surface content to screen. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DRange &rArea, const ::basegfx::B2DHomMatrix &rTransform)=0
 Render the surface content to screen. More...
 
virtual bool draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DPolyPolygon &rClipPoly, const ::basegfx::B2DHomMatrix &rTransform)=0
 Render the surface content to screen. More...
 

Private Attributes

PageManagerSharedPtr mpPageManager
 
std::vector< SurfaceSharedPtrmaSurfaceList
 
std::shared_ptr< canvas::IColorBuffermpBuffer
 

Detailed Description

Definition of the surface proxy class.

Surface proxies are the connection between one source image and one or more hardware surfaces (or textures). in a logical structure surface proxies represent solely this dependency plus some simple cache management.

Definition at line 37 of file surfaceproxy.hxx.

Constructor & Destructor Documentation

◆ SurfaceProxy()

canvas::SurfaceProxy::SurfaceProxy ( std::shared_ptr< canvas::IColorBuffer xBuffer,
PageManagerSharedPtr  xPageManager 
)

Definition at line 32 of file surfaceproxy.cxx.

References maSurfaceList, mpBuffer, mpPageManager, x, and y.

Member Function Documentation

◆ draw() [1/3]

bool canvas::SurfaceProxy::draw ( double  fAlpha,
const ::basegfx::B2DPoint rPos,
const ::basegfx::B2DHomMatrix rTransform 
)
overridevirtual

Render the surface content to screen.

Parameters
fAlphaOverall alpha for content
rPosOutput position
rTransformOutput transformation (does not affect output position)

Implements canvas::ISurfaceProxy.

Definition at line 88 of file surfaceproxy.cxx.

References maSurfaceList.

◆ draw() [2/3]

bool canvas::SurfaceProxy::draw ( double  fAlpha,
const ::basegfx::B2DPoint rPos,
const ::basegfx::B2DPolyPolygon rClipPoly,
const ::basegfx::B2DHomMatrix rTransform 
)
overridevirtual

Render the surface content to screen.

Parameters
fAlphaOverall alpha for content
rPosOutput position
rClipPolyClip polygon for the surface. The clip polygon is also subject to the output transformation.
rTransformOutput transformation (does not affect output position)

Implements canvas::ISurfaceProxy.

Definition at line 109 of file surfaceproxy.cxx.

References basegfx::B2DPolygon::append(), basegfx::utils::exportToSvgD(), maSurfaceList, basegfx::B2DPolygon::reserve(), and SAL_INFO.

◆ draw() [3/3]

bool canvas::SurfaceProxy::draw ( double  fAlpha,
const ::basegfx::B2DPoint rPos,
const ::basegfx::B2DRange rArea,
const ::basegfx::B2DHomMatrix rTransform 
)
overridevirtual

Render the surface content to screen.

Parameters
fAlphaOverall alpha for content
rPosOutput position
rAreaSubset of the surface to render. Coordinate system are surface area pixel, given area will be clipped to the surface bounds.
rTransformOutput transformation (does not affect output position)

Implements canvas::ISurfaceProxy.

Definition at line 98 of file surfaceproxy.cxx.

References maSurfaceList.

◆ setColorBufferDirty()

void canvas::SurfaceProxy::setColorBufferDirty ( )
overridevirtual

Notify the proxy that the color buffer has changed.

Implements canvas::ISurfaceProxy.

Definition at line 82 of file surfaceproxy.cxx.

References maSurfaceList.

Member Data Documentation

◆ maSurfaceList

std::vector<SurfaceSharedPtr> canvas::SurfaceProxy::maSurfaceList
private

Definition at line 109 of file surfaceproxy.hxx.

Referenced by draw(), setColorBufferDirty(), and SurfaceProxy().

◆ mpBuffer

std::shared_ptr<canvas::IColorBuffer> canvas::SurfaceProxy::mpBuffer
private

Definition at line 114 of file surfaceproxy.hxx.

Referenced by SurfaceProxy().

◆ mpPageManager

PageManagerSharedPtr canvas::SurfaceProxy::mpPageManager
private

Definition at line 104 of file surfaceproxy.hxx.

Referenced by SurfaceProxy().


The documentation for this class was generated from the following files: