32#include <com/sun/star/rendering/XCanvas.hpp>
50 SAL_INFO(
"slideshow",
"::presentation::internal::ViewBackgroundShape::prefetch()" );
52 "ViewBackgroundShape::prefetch(): no valid metafile!" );
54 const ::basegfx::B2DHomMatrix& rCanvasTransform(
65 ::canvas::tools::calcTransformedRectBounds( aTmpRect,
72 const ::basegfx::B2ISize aBmpSizePixel(
83 "ViewBackgroundShape::prefetch(): Cannot create background bitmap" );
88 "ViewBackgroundShape::prefetch(): Cannot create background bitmap canvas" );
97 aLinearTransform.
set( 0, 2, 0.0 );
98 aLinearTransform.
set( 1, 2, 0.0 );
99 pBitmapCanvas->setTransformation( aLinearTransform );
112 "ViewBackgroundShape::prefetch(): Could not create Renderer" );
114 pRenderer->setTransformation( aShapeTransform );
127 const ::basegfx::B2DRectangle& rShapeBounds ) :
128 mpViewLayer(
std::move( xViewLayer )),
145 SAL_INFO(
"slideshow",
"::presentation::internal::ViewBackgroundShape::draw()" );
147 const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas(
mpViewLayer->getCanvas() );
149 if( !
prefetch( rDestinationCanvas, rMtf ) )
153 "ViewBackgroundShape::draw(): Invalid background bitmap" );
163 aTransform.
set(0,2, 0.0 );
164 aTransform.
set(1,2, 0.0 );
167 rendering::RenderState aRenderState;
168 ::canvas::tools::initRenderState( aRenderState );
170 ::canvas::tools::setRenderStateTransform( aRenderState, aTransform );
174 rDestinationCanvas->getUNOCanvas()->drawBitmap(
mxBitmap,
175 rDestinationCanvas->getViewState(),
178 catch( uno::Exception& )
::basegfx::B2DRectangle maBounds
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
B2DVector getRange() const
static BitmapSharedPtr createBitmap(const CanvasSharedPtr &, const ::basegfx::B2ISize &rSize)
static RendererSharedPtr createRenderer(const CanvasSharedPtr &rCanvas, const ::GDIMetaFile &rMtf, const Renderer::Parameters &rParms)
ViewLayerSharedPtr mpViewLayer
The view layer this object is part of.
css::uno::Reference< css::rendering::XBitmap > mxBitmap
Generated content bitmap, already with correct output size.
mutable::basegfx::B2DHomMatrix maLastTransformation
The canvas, mpRenderer is associated with.
ViewBackgroundShape(ViewLayerSharedPtr xViewLayer, const ::basegfx::B2DRectangle &rShapeBounds)
Create a ViewBackgroundShape for the given View.
bool render(const GDIMetaFileSharedPtr &rMtf) const
const ViewLayerSharedPtr & getViewLayer() const
Query the associated view layer of this shape.
bool prefetch(const ::cppcanvas::CanvasSharedPtr &rDestinationCanvas, const GDIMetaFileSharedPtr &rMtf) const
Prefetch bitmap for given canvas.
GDIMetaFileSharedPtr mpLastMtf
The last metafile a render object was generated for.
const ::basegfx::B2DRectangle maBounds
VclPtr< VirtualDevice > mxBitmap
#define TOOLS_WARN_EXCEPTION(area, stream)
#define ENSURE_OR_RETURN_FALSE(c, m)
#define ENSURE_OR_THROW(c, m)
#define SAL_INFO(area, stream)
B2DHomMatrix createScaleTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fTranslateX, double fTranslateY)
std::shared_ptr< ::cppcanvas::Renderer > RendererSharedPtr
std::shared_ptr< BitmapCanvas > BitmapCanvasSharedPtr
std::shared_ptr< ::cppcanvas::Bitmap > BitmapSharedPtr
std::shared_ptr< ViewLayer > ViewLayerSharedPtr
std::shared_ptr< GDIMetaFile > GDIMetaFileSharedPtr
void initSlideBackground(const ::cppcanvas::CanvasSharedPtr &rCanvas, const ::basegfx::B2ISize &rSize)
mutable::basegfx::B2DHomMatrix maLastTransformation