23 #include <com/sun/star/drawing/XPresenterHelper.hpp>
24 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
25 #include <osl/diagnose.h>
29 using namespace ::
std;
36 const OUString& rsConfigurationBase,
37 const std::shared_ptr<PresenterBitmapContainer>& rpParentContainer,
38 const css::uno::Reference<css::uno::XComponentContext>& rxComponentContext,
39 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
40 const css::uno::Reference<css::drawing::XPresenterHelper>& rxPresenterHelper)
41 : mpParentContainer(rpParentContainer),
51 "org.openoffice.Office.PresenterScreen",
61 const css::uno::Reference<css::container::XNameAccess>& rxRootNode,
62 const std::shared_ptr<PresenterBitmapContainer>& rpParentContainer,
63 const css::uno::Reference<css::uno::XComponentContext>& rxComponentContext,
64 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
65 const css::uno::Reference<css::drawing::XPresenterHelper>& rxPresenterHelper)
66 : mpParentContainer(rpParentContainer),
77 const css::uno::Reference<css::uno::XComponentContext>& rxComponentContext)
84 Reference<lang::XMultiComponentFactory>
xFactory =
85 rxComponentContext->getServiceManager();
89 xFactory->createInstanceWithContext(
90 "com.sun.star.drawing.PresenterHelper",
101 const OUString& rsName)
const
113 const css::uno::Reference<css::container::XNameAccess>& rxBitmapList)
118 if ( ! rxBitmapList.is())
124 if (rxBitmapList.is())
141 const css::uno::Reference<css::container::XHierarchicalNameAccess>& rxNode,
142 const OUString& rsPath,
143 const css::uno::Reference<css::drawing::XPresenterHelper>& rxPresenterHelper,
144 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
145 const std::shared_ptr<BitmapDescriptor>& rpDefault)
156 if (xBitmapProperties.is())
173 const OUString& rsKey,
189 const css::uno::Reference<css::drawing::XPresenterHelper>& rxPresenterHelper,
190 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
191 const std::shared_ptr<BitmapDescriptor>& rpDefault)
193 OSL_ASSERT(rxCanvas.is());
194 OSL_ASSERT(rxPresenterHelper.is());
198 if ( ! rxProperties.is())
209 rxPresenterHelper->loadBitmap(sFileName, rxCanvas));
218 rxPresenterHelper->loadBitmap(sFileName, rxCanvas));
227 rxPresenterHelper->loadBitmap(sFileName, rxCanvas));
236 rxPresenterHelper->loadBitmap(sFileName, rxCanvas));
245 rxPresenterHelper->loadBitmap(sFileName, rxCanvas));
258 OUString sTexturingMode;
270 if (rsTexturingMode ==
u"Once")
272 else if (rsTexturingMode ==
u"Repeat")
274 else if (rsTexturingMode ==
u"Stretch")
289 maReplacementColor(0x00000000),
290 meHorizontalTexturingMode(Once),
291 meVerticalTexturingMode(Once),
294 mxButtonDownBitmap(),
301 const std::shared_ptr<PresenterBitmapContainer::BitmapDescriptor>& rpDefault)
308 maReplacementColor(0x00000000),
309 meHorizontalTexturingMode(Once),
310 meVerticalTexturingMode(Once),
313 mxButtonDownBitmap(),
317 if (rpDefault ==
nullptr)
336 const css::uno::Reference<css::rendering::XBitmap>&
339 return mxNormalBitmap;
342 css::uno::Reference<css::rendering::XBitmap>
const &
349 return mxNormalBitmap;
352 if (mxMouseOverBitmap.is())
353 return mxMouseOverBitmap;
355 return mxNormalBitmap;
358 if (mxButtonDownBitmap.is())
359 return mxButtonDownBitmap;
361 return mxNormalBitmap;
364 if (mxDisabledBitmap.is())
365 return mxDisabledBitmap;
367 return mxNormalBitmap;
376 const css::uno::Reference<css::rendering::XBitmap>& rxBitmap)
382 mxNormalBitmap = rxBitmap;
383 if (mxNormalBitmap.is())
385 const geometry::IntegerSize2D aSize (mxNormalBitmap->getSize());
392 mxMouseOverBitmap = rxBitmap;
396 mxButtonDownBitmap = rxBitmap;
400 mxDisabledBitmap = rxBitmap;
404 mxMaskBitmap = rxBitmap;
static void ForAll(const css::uno::Reference< css::container::XNameAccess > &rxContainer, const ::std::vector< OUString > &rArguments, const ItemProcessor &rProcessor)
Execute a functor for all elements of the given container.
Reference< rendering::XCanvas > mxCanvas
void SetBitmap(const Mode eMode, const css::uno::Reference< css::rendering::XBitmap > &rxBitmap)
static css::uno::Any GetProperty(const css::uno::Reference< css::beans::XPropertySet > &rxProperties, const OUString &rsKey)
This method wraps a call to getPropertyValue() and returns an empty Any instead of throwing an except...
css::uno::Reference< css::rendering::XBitmap > mxNormalBitmap
void ProcessBitmap(const OUString &rsKey, const css::uno::Reference< css::beans::XPropertySet > &rProperties)
std::shared_ptr< PresenterBitmapContainer::BitmapDescriptor > SharedBitmapDescriptor
Reference< drawing::XPresenterHelper > mxPresenterHelper
This class gives access to the configuration.
css::uno::Reference< css::rendering::XBitmap > mxButtonDownBitmap
css::uno::Reference< css::rendering::XBitmap > mxMaskBitmap
void Initialize(const css::uno::Reference< css::uno::XComponentContext > &rxComponentContext)
css::uno::Reference< css::rendering::XCanvas > mxCanvas
css::uno::Reference< css::rendering::XBitmap > mxMouseOverBitmap
static BitmapDescriptor::TexturingMode StringToTexturingMode(std::u16string_view rsTexturingMode)
css::uno::Any GetConfigurationNode(const OUString &rsPathToNode)
Return a configuration node below the root of the called object.
std::shared_ptr< BitmapDescriptor > GetBitmap(const OUString &rsName) const
Return the bitmap set that is associated with the given name.
css::uno::Reference< css::rendering::XBitmap > const & GetBitmap(const Mode eMode) const
css::uno::Reference< css::drawing::XPresenterHelper > mxPresenterHelper
static std::shared_ptr< BitmapDescriptor > LoadBitmap(const css::uno::Reference< css::container::XHierarchicalNameAccess > &rxNode, const OUString &rsPathToBitmapNode, const css::uno::Reference< css::drawing::XPresenterHelper > &rxPresenterHelper, const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const std::shared_ptr< BitmapDescriptor > &rpDefaultBitmap)
PresenterBitmapContainer(const OUString &rsConfigurationBase, const std::shared_ptr< PresenterBitmapContainer > &rpParentContainer, const css::uno::Reference< css::uno::XComponentContext > &rxComponentContext, const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const css::uno::Reference< css::drawing::XPresenterHelper > &rxPresenterHelper=nullptr)
Create a new bitmap container from a section of the configuration.
css::uno::Reference< css::rendering::XBitmap > mxDisabledBitmap
css::util::Color maReplacementColor
const css::uno::Reference< css::rendering::XBitmap > & GetNormalBitmap() const
TexturingMode meVerticalTexturingMode
BitmapContainer maIconContainer
Reference< XSingleServiceFactory > xFactory
std::shared_ptr< PresenterBitmapContainer > mpParentContainer
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
void LoadBitmaps(const css::uno::Reference< css::container::XNameAccess > &rsRootNode)
TexturingMode meHorizontalTexturingMode
~PresenterBitmapContainer()