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 (const std::shared_ptr< canvas::IColorBuffer > &pBuffer, const PageManagerSharedPtr &pPageManager)
 
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 ()
 

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 38 of file surfaceproxy.hxx.

Constructor & Destructor Documentation

canvas::SurfaceProxy::SurfaceProxy ( const std::shared_ptr< canvas::IColorBuffer > &  pBuffer,
const PageManagerSharedPtr pPageManager 
)

Definition at line 31 of file surfaceproxy.cxx.

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

Member Function Documentation

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.

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.

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(), SAL_INFO, and basegfx::triangulator::triangulate().

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

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

Definition at line 110 of file surfaceproxy.hxx.

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

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

Definition at line 115 of file surfaceproxy.hxx.

Referenced by SurfaceProxy().

PageManagerSharedPtr canvas::SurfaceProxy::mpPageManager
private

Definition at line 105 of file surfaceproxy.hxx.

Referenced by SurfaceProxy().


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