2004-11-26 18:22:22 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* $RCSfile: tools.hxx,v $
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2007-07-17 14:17:25 +00:00
|
|
|
* $Revision: 1.10 $
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2007-07-17 14:17:25 +00:00
|
|
|
* last change: $Author: obo $ $Date: 2007-07-17 15:17:25 $
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* The Contents of this file are made available subject to
|
|
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* GNU Lesser General Public License Version 2.1
|
|
|
|
* =============================================
|
|
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation.
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
2005-09-07 20:22:24 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
|
|
* MA 02111-1307 USA
|
2004-11-26 18:22:22 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
2007-07-17 14:17:25 +00:00
|
|
|
#ifndef INCLUDED_SLIDESHOW_TOOLS_HXX
|
|
|
|
#define INCLUDED_SLIDESHOW_TOOLS_HXX
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
#include <com/sun/star/uno/Sequence.hxx>
|
2005-10-11 07:54:47 +00:00
|
|
|
#include <com/sun/star/beans/XPropertySet.hpp>
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2007-07-17 14:17:25 +00:00
|
|
|
#include <cppcanvas/color.hxx>
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2006-12-13 15:05:06 +00:00
|
|
|
#include "shapeattributelayer.hxx"
|
|
|
|
#include "shape.hxx"
|
|
|
|
#include "rgbcolor.hxx"
|
|
|
|
#include "hslcolor.hxx"
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2007-07-17 14:17:25 +00:00
|
|
|
#include <boost/shared_ptr.hpp>
|
|
|
|
#include <boost/current_function.hpp>
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2005-10-11 07:54:47 +00:00
|
|
|
#include <functional>
|
2005-03-10 12:56:56 +00:00
|
|
|
#include <cstdlib>
|
2007-07-17 14:17:25 +00:00
|
|
|
#include <string.h> // for strcmp
|
|
|
|
#include <algorithm>
|
|
|
|
|
2005-03-10 12:56:56 +00:00
|
|
|
|
2005-10-11 07:54:47 +00:00
|
|
|
#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2005-10-11 07:54:47 +00:00
|
|
|
|
|
|
|
namespace com { namespace sun { namespace star { namespace beans {
|
2004-11-26 18:22:22 +00:00
|
|
|
struct NamedValue;
|
|
|
|
} } } }
|
2007-07-17 14:17:25 +00:00
|
|
|
namespace basegfx
|
|
|
|
{
|
|
|
|
class B2DRange;
|
|
|
|
class B2DVector;
|
|
|
|
class B2IVector;
|
|
|
|
class B2DHomMatrix;
|
|
|
|
}
|
|
|
|
namespace cppcanvas{ class Canvas; }
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2006-08-03 13:40:37 +00:00
|
|
|
class GDIMetaFile;
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/* Definition of some animation tools */
|
2006-12-13 15:05:06 +00:00
|
|
|
namespace slideshow
|
2004-11-26 18:22:22 +00:00
|
|
|
{
|
|
|
|
namespace internal
|
|
|
|
{
|
2007-07-17 14:17:25 +00:00
|
|
|
class UnoView;
|
|
|
|
class Shape;
|
|
|
|
class ShapeAttributeLayer;
|
|
|
|
|
2006-08-03 13:40:37 +00:00
|
|
|
typedef ::boost::shared_ptr< GDIMetaFile > GDIMetaFileSharedPtr;
|
|
|
|
|
2005-10-11 07:54:47 +00:00
|
|
|
// xxx todo: remove with boost::hash when 1.33 is available
|
|
|
|
template <typename T>
|
|
|
|
struct hash : ::std::unary_function<T, ::std::size_t>
|
|
|
|
{
|
|
|
|
::std::size_t operator()( T const& val ) const {
|
|
|
|
return hash_value(val);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
template <typename T>
|
|
|
|
inline ::std::size_t hash_value( T * const& p )
|
|
|
|
{
|
|
|
|
::std::size_t d = static_cast< ::std::size_t >(
|
|
|
|
reinterpret_cast< ::std::ptrdiff_t >(p) );
|
|
|
|
return d + (d >> 3);
|
|
|
|
}
|
|
|
|
|
|
|
|
// xxx todo: shift to namespace com::sun::star::uno when
|
|
|
|
// 1.33 is available
|
|
|
|
template <typename T>
|
|
|
|
inline ::std::size_t hash_value(
|
|
|
|
::com::sun::star::uno::Reference<T> const& x )
|
|
|
|
{
|
|
|
|
// normalize to object root, because _only_ XInterface is defined
|
|
|
|
// to be stable during object lifetime:
|
|
|
|
::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::uno::XInterface> const xRoot(
|
|
|
|
x, ::com::sun::star::uno::UNO_QUERY );
|
|
|
|
return hash<void *>()(xRoot.get());
|
|
|
|
}
|
|
|
|
|
2006-08-03 13:40:37 +00:00
|
|
|
/** Cycle mode of intrinsic animations
|
|
|
|
*/
|
|
|
|
enum CycleMode
|
|
|
|
{
|
|
|
|
/// loop the animation back to back
|
|
|
|
CYCLE_LOOP,
|
|
|
|
/// loop, but play backwards from end to start
|
|
|
|
CYCLE_PINGPONGLOOP
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2004-11-26 18:22:22 +00:00
|
|
|
// Value extraction from Any
|
|
|
|
// =========================
|
|
|
|
|
|
|
|
/// extract unary double value from Any
|
|
|
|
bool extractValue( double& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2006-12-13 15:05:06 +00:00
|
|
|
/// extract int from Any
|
|
|
|
bool extractValue( sal_Int32& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2006-12-13 15:05:06 +00:00
|
|
|
|
2004-11-26 18:22:22 +00:00
|
|
|
/// extract enum/constant group value from Any
|
|
|
|
bool extractValue( sal_Int16& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/// extract color value from Any
|
|
|
|
bool extractValue( RGBColor& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/// extract color value from Any
|
|
|
|
bool extractValue( HSLColor& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/// extract plain string from Any
|
|
|
|
bool extractValue( ::rtl::OUString& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/// extract bool value from Any
|
|
|
|
bool extractValue( bool& o_rValue,
|
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/// extract double 2-tuple from Any
|
2007-07-17 14:17:25 +00:00
|
|
|
bool extractValue( basegfx::B2DTuple& o_rPair,
|
2004-11-26 18:22:22 +00:00
|
|
|
const ::com::sun::star::uno::Any& rSourceAny,
|
2007-07-17 14:17:25 +00:00
|
|
|
const boost::shared_ptr<Shape>& rShape,
|
|
|
|
const basegfx::B2DVector& rSlideBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/** Search a sequence of NamedValues for a given element.
|
|
|
|
|
|
|
|
@return true, if the sequence contains the specified
|
|
|
|
element.
|
|
|
|
*/
|
|
|
|
bool findNamedValue( ::com::sun::star::uno::Sequence<
|
2005-10-11 07:54:47 +00:00
|
|
|
::com::sun::star::beans::NamedValue > const& rSequence,
|
2004-11-26 18:22:22 +00:00
|
|
|
const ::com::sun::star::beans::NamedValue& rSearchKey );
|
|
|
|
|
|
|
|
/** Search a sequence of NamedValues for an element with a given name.
|
|
|
|
|
|
|
|
@param o_pRet
|
|
|
|
If non-NULL, receives the full NamedValue found (if it was
|
|
|
|
found, that is).
|
|
|
|
|
|
|
|
@return true, if the sequence contains the specified
|
|
|
|
element.
|
|
|
|
*/
|
|
|
|
bool findNamedValue( ::com::sun::star::beans::NamedValue* o_pRet,
|
|
|
|
const ::com::sun::star::uno::Sequence<
|
|
|
|
::com::sun::star::beans::NamedValue >& rSequence,
|
|
|
|
const ::rtl::OUString& rSearchString );
|
|
|
|
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DRange calcRelativeShapeBounds( const basegfx::B2DVector& rPageSize,
|
|
|
|
const basegfx::B2DRange& rShapeBounds );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/** Get the shape transformation from the attribute set
|
|
|
|
|
|
|
|
@param rBounds
|
2005-04-18 08:52:36 +00:00
|
|
|
Original shape bound rect (to substitute default attribute
|
|
|
|
layer values)
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
@param pAttr
|
2005-04-18 08:52:36 +00:00
|
|
|
Attribute set. Might be NULL (then, rBounds is used to set
|
|
|
|
a simple scale and translate of the unit rect to rBounds).
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DHomMatrix getShapeTransformation(
|
|
|
|
const basegfx::B2DRange& rBounds,
|
|
|
|
const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
|
2005-04-18 08:52:36 +00:00
|
|
|
|
|
|
|
/** Get a shape's sprite transformation from the attribute set
|
|
|
|
|
|
|
|
@param rPixelSize
|
|
|
|
Pixel size of the sprite
|
|
|
|
|
|
|
|
@param rOrigSize
|
|
|
|
Original shape size (i.e. the size of the actual sprite
|
|
|
|
content, in the user coordinate system)
|
|
|
|
|
|
|
|
@param pAttr
|
|
|
|
Attribute set. Might be NULL (then, rBounds is used to set
|
|
|
|
a simple scale and translate of the unit rect to rBounds).
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2005-04-18 08:52:36 +00:00
|
|
|
@return the transformation to be applied to the sprite.
|
2004-11-26 18:22:22 +00:00
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DHomMatrix getSpriteTransformation(
|
|
|
|
const basegfx::B2DVector& rPixelSize,
|
|
|
|
const basegfx::B2DVector& rOrigSize,
|
|
|
|
const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
/** Calc update area for a shape.
|
|
|
|
|
|
|
|
This method calculates the 'covered' area for the shape,
|
|
|
|
i.e. the rectangle that is affected when rendering the
|
2005-04-18 08:52:36 +00:00
|
|
|
shape. Apart from applying the given transformation to the
|
|
|
|
shape rectangle, this method also takes attributes into
|
|
|
|
account, which further scale the output (e.g. character
|
|
|
|
sizes).
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2005-04-18 08:52:36 +00:00
|
|
|
@param rUnitBounds
|
|
|
|
Shape bounds, in the unit rect coordinate space
|
2004-11-26 18:22:22 +00:00
|
|
|
|
|
|
|
@param rShapeTransform
|
|
|
|
Transformation matrix the shape should undergo.
|
|
|
|
|
|
|
|
@param pAttr
|
|
|
|
Current shape attributes
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DRange getShapeUpdateArea(
|
|
|
|
const basegfx::B2DRange& rUnitBounds,
|
|
|
|
const basegfx::B2DHomMatrix& rShapeTransform,
|
|
|
|
const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
|
2004-11-26 18:22:22 +00:00
|
|
|
|
2005-04-18 08:52:36 +00:00
|
|
|
/** Calc update area for a shape.
|
|
|
|
|
|
|
|
This method calculates the 'covered' area for the shape,
|
|
|
|
i.e. the rectangle that is affected when rendering the
|
|
|
|
shape. The difference from the other getShapeUpdateArea()
|
|
|
|
method is the fact that this one works without
|
|
|
|
ShapeAttributeLayer, and only scales up the given shape
|
|
|
|
user coordinate bound rect. The method is typically used
|
|
|
|
to retrieve user coordinate system bound rects for shapes
|
|
|
|
which are smaller than the default unit bound rect
|
|
|
|
(because e.g. of subsetting)
|
|
|
|
|
|
|
|
@param rUnitBounds
|
|
|
|
Shape bounds, in the unit rect coordinate space
|
|
|
|
|
|
|
|
@param rShapeBounds
|
|
|
|
Current shape bounding box in user coordinate space.
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DRange getShapeUpdateArea( const basegfx::B2DRange& rUnitBounds,
|
|
|
|
const basegfx::B2DRange& rShapeBounds );
|
2005-04-18 08:52:36 +00:00
|
|
|
|
|
|
|
/** Calc output position and size of shape, according to given
|
|
|
|
attribute layer.
|
|
|
|
|
|
|
|
Rotations, shears etc. and not taken into account,
|
|
|
|
i.e. the returned rectangle is NOT the bounding box. Use
|
|
|
|
it as if aBounds.getMinimum() is the output position and
|
|
|
|
aBounds.getRange() the scaling of the shape.
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DRange getShapePosSize(
|
|
|
|
const basegfx::B2DRange& rOrigBounds,
|
|
|
|
const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
|
2005-04-18 08:52:36 +00:00
|
|
|
|
2004-11-26 18:22:22 +00:00
|
|
|
/** Convert a plain UNO API 32 bit int to RGBColor
|
|
|
|
*/
|
|
|
|
RGBColor unoColor2RGBColor( sal_Int32 );
|
|
|
|
|
2006-12-13 15:05:06 +00:00
|
|
|
/** Fill a plain rectangle on the given canvas with the given color
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
void fillRect( const boost::shared_ptr< cppcanvas::Canvas >& rCanvas,
|
|
|
|
const basegfx::B2DRange& rRect,
|
|
|
|
cppcanvas::Color::IntSRGBA aFillColor );
|
2006-12-13 15:05:06 +00:00
|
|
|
|
2005-04-18 08:52:36 +00:00
|
|
|
/** Init canvas with default background (white)
|
|
|
|
*/
|
2007-07-17 14:17:25 +00:00
|
|
|
void initSlideBackground( const boost::shared_ptr< cppcanvas::Canvas >& rCanvas,
|
|
|
|
const basegfx::B2IVector& rSize );
|
2005-03-10 12:56:56 +00:00
|
|
|
|
|
|
|
/// Gets a random ordinal [0,n)
|
|
|
|
inline ::std::size_t getRandomOrdinal( const ::std::size_t n )
|
|
|
|
{
|
|
|
|
return static_cast< ::std::size_t >(
|
|
|
|
double(n) * rand() / (RAND_MAX + 1.0) );
|
|
|
|
}
|
|
|
|
|
|
|
|
/// To work around ternary operator in initializer lists
|
|
|
|
/// (Solaris compiler problems)
|
|
|
|
template <typename T>
|
|
|
|
inline T const & ternary_op(
|
|
|
|
const bool cond, T const & arg1, T const & arg2 )
|
|
|
|
{
|
|
|
|
if (cond)
|
|
|
|
return arg1;
|
|
|
|
else
|
|
|
|
return arg2;
|
|
|
|
}
|
2005-10-11 07:54:47 +00:00
|
|
|
|
|
|
|
template <typename ValueType>
|
|
|
|
inline bool getPropertyValue(
|
|
|
|
ValueType & rValue,
|
|
|
|
com::sun::star::uno::Reference<
|
|
|
|
com::sun::star::beans::XPropertySet> const & xPropSet,
|
|
|
|
rtl::OUString const & propName )
|
|
|
|
{
|
|
|
|
try {
|
2006-12-13 15:05:06 +00:00
|
|
|
const com::sun::star::uno::Any& a(
|
2005-10-11 07:54:47 +00:00
|
|
|
xPropSet->getPropertyValue( propName ) );
|
|
|
|
bool const bRet = (a >>= rValue);
|
2006-12-13 15:05:06 +00:00
|
|
|
#if OSL_DEBUG_LEVEL > 0
|
|
|
|
if( !bRet )
|
|
|
|
OSL_TRACE( "%s: while retrieving property %s, cannot extract Any of type %s\n",
|
|
|
|
::rtl::OUStringToOString( propName,
|
|
|
|
RTL_TEXTENCODING_ASCII_US ).getStr(),
|
|
|
|
BOOST_CURRENT_FUNCTION,
|
|
|
|
::rtl::OUStringToOString( a.getValueTypeRef()->pTypeName,
|
|
|
|
RTL_TEXTENCODING_ASCII_US ).getStr() );
|
|
|
|
#endif
|
2005-10-11 07:54:47 +00:00
|
|
|
return bRet;
|
|
|
|
}
|
2006-12-13 15:05:06 +00:00
|
|
|
catch (com::sun::star::uno::RuntimeException &)
|
|
|
|
{
|
2005-10-11 07:54:47 +00:00
|
|
|
throw;
|
|
|
|
}
|
2006-12-13 15:05:06 +00:00
|
|
|
catch (com::sun::star::uno::Exception &)
|
|
|
|
{
|
2005-10-11 07:54:47 +00:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
2006-12-13 15:05:06 +00:00
|
|
|
|
|
|
|
template <typename ValueType>
|
|
|
|
inline bool getPropertyValue(
|
|
|
|
com::sun::star::uno::Reference< ValueType >& rIfc,
|
|
|
|
com::sun::star::uno::Reference<
|
|
|
|
com::sun::star::beans::XPropertySet> const & xPropSet,
|
|
|
|
rtl::OUString const & propName )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
const com::sun::star::uno::Any& a(
|
|
|
|
xPropSet->getPropertyValue( propName ));
|
|
|
|
rIfc.set( a,
|
|
|
|
com::sun::star::uno::UNO_QUERY );
|
|
|
|
|
|
|
|
bool const bRet = rIfc.is();
|
|
|
|
#if OSL_DEBUG_LEVEL > 0
|
|
|
|
if( !bRet )
|
|
|
|
OSL_TRACE( "%s: while retrieving property %s, cannot extract Any of type %s to interface\n",
|
|
|
|
::rtl::OUStringToOString( propName,
|
|
|
|
RTL_TEXTENCODING_ASCII_US ).getStr(),
|
|
|
|
BOOST_CURRENT_FUNCTION,
|
|
|
|
::rtl::OUStringToOString( a.getValueTypeRef()->pTypeName,
|
|
|
|
RTL_TEXTENCODING_ASCII_US ).getStr() );
|
|
|
|
#endif
|
|
|
|
return bRet;
|
|
|
|
}
|
|
|
|
catch (com::sun::star::uno::RuntimeException &)
|
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
catch (com::sun::star::uno::Exception &)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Get the content of the BoundRect shape property
|
2007-07-17 14:17:25 +00:00
|
|
|
basegfx::B2DRange getAPIShapeBounds( const ::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::drawing::XShape >& xShape );
|
2006-12-13 15:05:06 +00:00
|
|
|
|
|
|
|
/// Get the content of the ZOrder shape property
|
|
|
|
double getAPIShapePrio( const ::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::drawing::XShape >& xShape );
|
2007-07-17 14:17:25 +00:00
|
|
|
|
|
|
|
basegfx::B2IVector getSlideSizePixel( const basegfx::B2DVector& rSize,
|
|
|
|
const boost::shared_ptr<UnoView>& pView );
|
2004-11-26 18:22:22 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2007-07-17 14:17:25 +00:00
|
|
|
#endif /* INCLUDED_SLIDESHOW_TOOLS_HXX */
|