27#include <osl/diagnose.h>
46 class AppletShape :
public ExternalShapeBase
69 AppletShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
71 OUString aServiceName,
72 const char** pPropCopyTable,
73 std::size_t nNumPropEntries,
74 const SlideShowContext& rContext );
82 bool bRedrawLayer )
override;
84 virtual void clearAllViewLayers()
override;
90 virtual bool implRender( const ::basegfx::B2DRange& rCurrBounds )
const override;
92 virtual void implViewsChanged()
override;
93 virtual bool implStartIntrinsicAnimation()
override;
94 virtual bool implEndIntrinsicAnimation()
override;
95 virtual void implPauseIntrinsicAnimation()
override;
96 virtual bool implIsIntrinsicAnimationPlaying()
const override;
97 virtual void implSetIntrinsicAnimationTime(
double)
override;
104 typedef ::std::vector< ViewAppletShapeSharedPtr > ViewAppletShapeVector;
111 AppletShape::AppletShape(
const uno::Reference< drawing::XShape >& xShape,
113 OUString aServiceName,
114 const char** pPropCopyTable,
115 std::size_t nNumPropEntries,
116 const SlideShowContext& rContext ) :
117 ExternalShapeBase( xShape, nPrio, rContext ),
129 const ::basegfx::B2DRectangle& rBounds = getBounds();
133 if( pViewAppletShape->getViewLayer()->isOnView( rView ) )
134 pViewAppletShape->resize( rBounds );
139 void AppletShape::implViewsChanged()
142 const ::basegfx::B2DRectangle& rBounds = getBounds();
144 pViewAppletShape->resize( rBounds );
154 std::make_shared<ViewAppletShape>( rNewLayer,
159 mxComponentContext ));
168 catch(uno::Exception&)
184 { return rLayer == pShape->getViewLayer(); } ) < 2,
185 "AppletShape::removeViewLayer(): Duplicate ViewLayer entries!" );
187 ViewAppletShapeVector::iterator aIter;
193 { return rLayer == pShape->getViewLayer(); } ) ) == aEnd )
206 void AppletShape::clearAllViewLayers()
212 bool AppletShape::implRender( const ::basegfx::B2DRange& rCurrBounds )
const
219 { return pShape->render( rCurrBounds ); } ))
231 bool AppletShape::implStartIntrinsicAnimation()
233 const ::basegfx::B2DRectangle& rBounds = getBounds();
235 pViewAppletShape->startApplet( rBounds );
243 bool AppletShape::implEndIntrinsicAnimation()
246 pViewAppletShape->endApplet();
254 void AppletShape::implPauseIntrinsicAnimation()
261 bool AppletShape::implIsIntrinsicAnimationPlaying()
const
267 void AppletShape::implSetIntrinsicAnimationTime(
double)
275 const OUString& rServiceName,
276 const char** pPropCopyTable,
277 std::size_t nNumPropEntries,
280 return std::make_shared<AppletShape>(xShape,
const std::size_t mnNumPropEntries
const OUString maServiceName
const char ** mpPropCopyTable
ViewAppletShapeVector maViewAppletShapes
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
::std::shared_ptr< ViewAppletShape > ViewAppletShapeSharedPtr
std::shared_ptr< ViewLayer > ViewLayerSharedPtr
std::shared_ptr< Shape > createAppletShape(const uno::Reference< drawing::XShape > &xShape, double nPrio, const OUString &rServiceName, const char **pPropCopyTable, std::size_t nNumPropEntries, const SlideShowContext &rContext)
std::shared_ptr< UnoView > UnoViewSharedPtr
Common arguments for slideshow objects.