35 uno::Reference< rendering::XSprite > rSprite,
38 mpTransformArbiter(
std::move( xTransformArbiter ))
43 if( rParentCanvas.is() )
44 mxGraphicDevice = rParentCanvas->getDevice();
46 OSL_ENSURE( rParentCanvas.is() ,
"ImplSprite::ImplSprite(): Invalid canvas");
47 OSL_ENSURE( mxGraphicDevice.is(),
"ImplSprite::ImplSprite(): Invalid graphic device");
48 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::ImplSprite(): Invalid sprite");
49 OSL_ENSURE( mpTransformArbiter,
"ImplSprite::ImplSprite(): Invalid transformation arbiter");
52 ImplSprite::~ImplSprite()
63 void ImplSprite::setAlpha(
const double& rAlpha )
65 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::setAlpha(): Invalid sprite");
71 void ImplSprite::movePixel( const ::basegfx::B2DPoint& rNewPos )
73 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::movePixel(): Invalid sprite");
77 rendering::ViewState aViewState;
78 rendering::RenderState aRenderState;
80 ::canvas::tools::initViewState( aViewState );
83 mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ),
89 void ImplSprite::move( const ::basegfx::B2DPoint& rNewPos )
91 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::move(): Invalid sprite");
96 rendering::ViewState aViewState;
97 rendering::RenderState aRenderState;
99 ::canvas::tools::initViewState( aViewState );
102 ::canvas::tools::setViewStateTransform( aViewState,
103 mpTransformArbiter->getTransformation() );
105 mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ),
110 void ImplSprite::transform( const ::basegfx::B2DHomMatrix& rMatrix )
112 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::transform(): Invalid sprite");
116 geometry::AffineMatrix2D aMatrix;
118 mxSprite->transform( ::basegfx::unotools::affineMatrixFromHomMatrix( aMatrix,
123 void ImplSprite::setClipPixel( const ::basegfx::B2DPolyPolygon& rClipPoly )
125 OSL_ENSURE( mxGraphicDevice.is(),
"ImplSprite::setClip(): Invalid canvas");
126 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::transform(): Invalid sprite");
128 if(
mxSprite.is() && mxGraphicDevice.is() )
129 mxSprite->clip( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( mxGraphicDevice,
133 void ImplSprite::setClip( const ::basegfx::B2DPolyPolygon& rClipPoly )
135 OSL_ENSURE( mxGraphicDevice.is(),
"ImplSprite::setClip(): Invalid canvas");
136 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::transform(): Invalid sprite");
138 if( !(
mxSprite.is() && mxGraphicDevice.is()) )
146 aViewTransform.
set( 0, 2, 0.0 );
147 aViewTransform.
set( 1, 2, 0.0 );
150 aTransformedClipPoly.
transform( aViewTransform );
152 mxSprite->clip( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( mxGraphicDevice,
153 aTransformedClipPoly ) );
156 void ImplSprite::setClip()
158 OSL_ENSURE( mxGraphicDevice.is(),
"ImplSprite::setClip(): Invalid canvas");
159 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::setClip(): Invalid sprite");
161 if(
mxSprite.is() && mxGraphicDevice.is() )
162 mxSprite->clip( uno::Reference< rendering::XPolyPolygon2D >() );
165 void ImplSprite::show()
167 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::show(): Invalid sprite");
173 void ImplSprite::hide()
175 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::hide(): Invalid sprite");
181 void ImplSprite::setPriority(
double fPriority )
183 OSL_ENSURE(
mxSprite.is(),
"ImplSprite::setPriority(): Invalid sprite");
Reference< rendering::XCustomSprite > mxSprite
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
void transform(const basegfx::B2DHomMatrix &rMatrix)
std::shared_ptr< TransformationArbiter > TransformationArbiterSharedPtr
ImplSprite(const css::uno::Reference< css::rendering::XSpriteCanvas > &rParentCanvas, css::uno::Reference< css::rendering::XSprite > xSprite, ImplSpriteCanvas::TransformationArbiterSharedPtr xTransformArbiter)