diff options
Diffstat (limited to 'cppcanvas/source')
47 files changed, 1805 insertions, 1792 deletions
diff --git a/cppcanvas/source/inc/action.hxx b/cppcanvas/source/inc/action.hxx index 971cfcb4609f..c4a74588bcc8 100644 --- a/cppcanvas/source/inc/action.hxx +++ b/cppcanvas/source/inc/action.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -42,8 +42,8 @@ namespace basegfx /* Definition of Action interface */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { /** Interface for internal render actions @@ -77,7 +77,7 @@ namespace cppcanvas The index given here specifies the first subaction to render. */ - sal_Int32 mnSubsetBegin; + sal_Int32 mnSubsetBegin; /** Denotes end of the subset @@ -85,13 +85,13 @@ namespace cppcanvas <em>not<em> to render, i.e. one action behind the subset to be rendered */ - sal_Int32 mnSubsetEnd; + sal_Int32 mnSubsetEnd; }; virtual ~Action() {} /** Render this action to the associated canvas - + @param rTransformation Transformation matrix to apply before rendering @@ -101,7 +101,7 @@ namespace cppcanvas virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const = 0; /** Render the given part of the action to the associated - canvas. + canvas. @param rTransformation Transformation matrix to apply before rendering @@ -115,10 +115,10 @@ namespace cppcanvas rendering failed for other reasons, false is returned. */ virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const = 0; + const Subset& rSubset ) const = 0; /** Query bounds of this action on the associated canvas - + @param rTransformation Transformation matrix to apply @@ -140,8 +140,8 @@ namespace cppcanvas @return the bounds for the given subset in device coordinate space. */ - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const = 0; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const = 0; /** Query action count. @@ -152,7 +152,7 @@ namespace cppcanvas @return the number of subset actions */ - virtual sal_Int32 getActionCount() const = 0; + virtual sal_Int32 getActionCount() const = 0; }; typedef ::boost::shared_ptr< Action > ActionSharedPtr; diff --git a/cppcanvas/source/inc/canvasgraphichelper.hxx b/cppcanvas/source/inc/canvasgraphichelper.hxx index 6d49939be1b7..5a841187e79d 100644 --- a/cppcanvas/source/inc/canvasgraphichelper.hxx +++ b/cppcanvas/source/inc/canvasgraphichelper.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -36,7 +36,7 @@ #include <boost/optional.hpp> -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { class XGraphicDevice; } } } } @@ -49,14 +49,14 @@ namespace cppcanvas namespace internal { - + class CanvasGraphicHelper : public virtual CanvasGraphic { public: CanvasGraphicHelper( const CanvasSharedPtr& rParentCanvas ); // CanvasGraphic implementation - virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ); + virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ); virtual ::basegfx::B2DHomMatrix getTransformation() const; virtual void setClip( const ::basegfx::B2DPolyPolygon& rClipPoly ); virtual void setClip(); @@ -69,15 +69,15 @@ namespace cppcanvas protected: // for our clients // =============== - CanvasSharedPtr getCanvas() const; - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > getGraphicDevice() const; + CanvasSharedPtr getCanvas() const; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > getGraphicDevice() const; const ::com::sun::star::rendering::RenderState& getRenderState() const; private: - mutable ::com::sun::star::rendering::RenderState maRenderState; + mutable ::com::sun::star::rendering::RenderState maRenderState; boost::optional<basegfx::B2DPolyPolygon> maClipPolyPolygon; - CanvasSharedPtr mpCanvas; + CanvasSharedPtr mpCanvas; ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > mxGraphicDevice; }; diff --git a/cppcanvas/source/inc/implrenderer.hxx b/cppcanvas/source/inc/implrenderer.hxx index 3766e1b2d31b..18ae0106004f 100644 --- a/cppcanvas/source/inc/implrenderer.hxx +++ b/cppcanvas/source/inc/implrenderer.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -69,18 +69,18 @@ namespace cppcanvas // state stack of OutputDevice, to correctly handle // push/pop actions - typedef ::std::vector< OutDevState > VectorOfOutDevStates; + typedef ::std::vector< OutDevState > VectorOfOutDevStates; // EMF+ // TODO: replace? struct XForm { - float eM11; - float eM12; - float eM21; - float eM22; - float eDx; - float eDy; + float eM11; + float eM12; + float eM21; + float eM22; + float eDx; + float eDy; XForm() { SetIdentity (); @@ -171,40 +171,40 @@ static float GetSwapFloat( SvStream& rSt ) class ImplRenderer : public virtual Renderer, protected CanvasGraphicHelper { public: - ImplRenderer( const CanvasSharedPtr& rCanvas, - const GDIMetaFile& rMtf, - const Parameters& rParms ); - ImplRenderer( const CanvasSharedPtr& rCanvas, - const BitmapEx& rBmpEx, - const Parameters& rParms ); + ImplRenderer( const CanvasSharedPtr& rCanvas, + const GDIMetaFile& rMtf, + const Parameters& rParms ); + ImplRenderer( const CanvasSharedPtr& rCanvas, + const BitmapEx& rBmpEx, + const Parameters& rParms ); virtual ~ImplRenderer(); - virtual bool draw() const; - virtual bool drawSubset( sal_Int32 nStartIndex, - sal_Int32 nEndIndex ) const; - virtual ::basegfx::B2DRange getSubsetArea( sal_Int32 nStartIndex, - sal_Int32 nEndIndex ) const; + virtual bool draw() const; + virtual bool drawSubset( sal_Int32 nStartIndex, + sal_Int32 nEndIndex ) const; + virtual ::basegfx::B2DRange getSubsetArea( sal_Int32 nStartIndex, + sal_Int32 nEndIndex ) const; // element of the Renderer's action vector. Need to be // public, since some functors need it, too. struct MtfAction { - MtfAction( const ActionSharedPtr& rAction, - sal_Int32 nOrigIndex ) : + MtfAction( const ActionSharedPtr& rAction, + sal_Int32 nOrigIndex ) : mpAction( rAction ), mnOrigIndex( nOrigIndex ) { } ActionSharedPtr mpAction; - sal_Int32 mnOrigIndex; + sal_Int32 mnOrigIndex; }; // prefetched and prepared canvas actions // (externally not visible) - typedef ::std::vector< MtfAction > ActionVector; + typedef ::std::vector< MtfAction > ActionVector; /* EMF+ */ void ReadRectangle (SvStream& s, float& x, float& y, float &width, float& height, sal_uInt32 flags = 0); @@ -228,7 +228,7 @@ static float GetSwapFloat( SvStream& rSt ) const ActionFactoryParameters& rParms, bool bIntersect ); - ::com::sun::star::uno::Reference< + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > createFont( double& o_rFontRotation, const ::Font& rFont, const ActionFactoryParameters& rParms ) const; diff --git a/cppcanvas/source/inc/tools.hxx b/cppcanvas/source/inc/tools.hxx index bdd9848822fa..529e8bc19ecd 100644 --- a/cppcanvas/source/inc/tools.hxx +++ b/cppcanvas/source/inc/tools.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -33,7 +33,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <cppcanvas/color.hxx> -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { class XGraphicDevice; } } } } @@ -43,14 +43,14 @@ namespace cppcanvas { namespace tools { - ::com::sun::star::uno::Sequence< double > - intSRGBAToDoubleSequence( const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XGraphicDevice >&, + ::com::sun::star::uno::Sequence< double > + intSRGBAToDoubleSequence( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XGraphicDevice >&, Color::IntSRGBA ); - Color::IntSRGBA doubleSequenceToIntSRGBA( const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XGraphicDevice >& rDevice, - const ::com::sun::star::uno::Sequence< double >& rColor ); + Color::IntSRGBA doubleSequenceToIntSRGBA( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XGraphicDevice >& rDevice, + const ::com::sun::star::uno::Sequence< double >& rColor ); } } diff --git a/cppcanvas/source/mtfrenderer/bitmapaction.cxx b/cppcanvas/source/mtfrenderer/bitmapaction.cxx index cbbd817cc0ec..1692c5f2c370 100644 --- a/cppcanvas/source/mtfrenderer/bitmapaction.cxx +++ b/cppcanvas/source/mtfrenderer/bitmapaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -52,32 +52,32 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { namespace { class BitmapAction : public CachedPrimitiveBase - { - public: - BitmapAction( const ::BitmapEx&, - const ::basegfx::B2DPoint& rDstPoint, - const CanvasSharedPtr&, - const OutDevState& ); + { + public: + BitmapAction( const ::BitmapEx&, + const ::basegfx::B2DPoint& rDstPoint, + const CanvasSharedPtr&, + const OutDevState& ); BitmapAction( const ::BitmapEx&, - const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DPoint& rDstPoint, const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr&, - const OutDevState& ); + const CanvasSharedPtr&, + const OutDevState& ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -86,18 +86,18 @@ namespace cppcanvas virtual bool render( uno::Reference< rendering::XCachedPrimitive >& rCachedPrimitive, const ::basegfx::B2DHomMatrix& rTransformation ) const; - uno::Reference< rendering::XBitmap > mxBitmap; - CanvasSharedPtr mpCanvas; - rendering::RenderState maState; + uno::Reference< rendering::XBitmap > mxBitmap; + CanvasSharedPtr mpCanvas; + rendering::RenderState maState; }; - BitmapAction::BitmapAction( const ::BitmapEx& rBmpEx, - const ::basegfx::B2DPoint& rDstPoint, - const CanvasSharedPtr& rCanvas, + BitmapAction::BitmapAction( const ::BitmapEx& rBmpEx, + const ::basegfx::B2DPoint& rDstPoint, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) : CachedPrimitiveBase( rCanvas, true ), - mxBitmap( ::vcl::unotools::xBitmapFromBitmapEx( rCanvas->getUNOCanvas()->getDevice(), + mxBitmap( ::vcl::unotools::xBitmapFromBitmapEx( rCanvas->getUNOCanvas()->getDevice(), rBmpEx ) ), mpCanvas( rCanvas ), maState() @@ -106,26 +106,26 @@ namespace cppcanvas // Setup transformation such that the next render call is // moved rPoint away. - const basegfx::B2DHomMatrix aLocalTransformation(basegfx::tools::createTranslateB2DHomMatrix(rDstPoint)); - ::canvas::tools::appendToRenderState( maState, + const basegfx::B2DHomMatrix aLocalTransformation(basegfx::tools::createTranslateB2DHomMatrix(rDstPoint)); + ::canvas::tools::appendToRenderState( maState, aLocalTransformation ); // correct clip (which is relative to original transform) - tools::modifyClip( maState, - rState, - rCanvas, - rDstPoint, + tools::modifyClip( maState, + rState, + rCanvas, + rDstPoint, NULL, NULL ); } - BitmapAction::BitmapAction( const ::BitmapEx& rBmpEx, - const ::basegfx::B2DPoint& rDstPoint, + BitmapAction::BitmapAction( const ::BitmapEx& rBmpEx, + const ::basegfx::B2DPoint& rDstPoint, const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : CachedPrimitiveBase( rCanvas, true ), - mxBitmap( ::vcl::unotools::xBitmapFromBitmapEx( rCanvas->getUNOCanvas()->getDevice(), + mxBitmap( ::vcl::unotools::xBitmapFromBitmapEx( rCanvas->getUNOCanvas()->getDevice(), rBmpEx ) ), mpCanvas( rCanvas ), maState() @@ -136,18 +136,18 @@ namespace cppcanvas // moved rPoint away, and scaled according to the ratio // given by src and dst size. const ::Size aBmpSize( rBmpEx.GetSizePixel() ); - - const ::basegfx::B2DVector aScale( rDstSize.getX() / aBmpSize.Width(), + + const ::basegfx::B2DVector aScale( rDstSize.getX() / aBmpSize.Width(), rDstSize.getY() / aBmpSize.Height() ); - const basegfx::B2DHomMatrix aLocalTransformation(basegfx::tools::createScaleTranslateB2DHomMatrix( + const basegfx::B2DHomMatrix aLocalTransformation(basegfx::tools::createScaleTranslateB2DHomMatrix( aScale, rDstPoint)); ::canvas::tools::appendToRenderState( maState, aLocalTransformation ); - + // correct clip (which is relative to original transform) - tools::modifyClip( maState, - rState, - rCanvas, - rDstPoint, + tools::modifyClip( maState, + rState, + rCanvas, + rDstPoint, &aScale, NULL ); } @@ -164,12 +164,12 @@ namespace cppcanvas rCachedPrimitive = mpCanvas->getUNOCanvas()->drawBitmap( mxBitmap, mpCanvas->getViewState(), aLocalState ); - + return true; } - bool BitmapAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool BitmapAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // bitmap only contains a single action, fail if subset // requests different range @@ -184,7 +184,7 @@ namespace cppcanvas { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - + const geometry::IntegerSize2D aSize( mxBitmap->getSize() ); return tools::calcDevicePixelBounds( ::basegfx::B2DRange( 0,0, @@ -194,8 +194,8 @@ namespace cppcanvas aLocalState ); } - ::basegfx::B2DRange BitmapAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange BitmapAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // bitmap only contains a single action, empty bounds // if subset requests different range @@ -210,11 +210,11 @@ namespace cppcanvas { return 1; } - } - - ActionSharedPtr BitmapActionFactory::createBitmapAction( const ::BitmapEx& rBmpEx, - const ::basegfx::B2DPoint& rDstPoint, - const CanvasSharedPtr& rCanvas, + } + + ActionSharedPtr BitmapActionFactory::createBitmapAction( const ::BitmapEx& rBmpEx, + const ::basegfx::B2DPoint& rDstPoint, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) { return ActionSharedPtr( new BitmapAction(rBmpEx, @@ -222,11 +222,11 @@ namespace cppcanvas rCanvas, rState ) ); } - + ActionSharedPtr BitmapActionFactory::createBitmapAction( const ::BitmapEx& rBmpEx, - const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DPoint& rDstPoint, const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) { return ActionSharedPtr( new BitmapAction(rBmpEx, @@ -234,7 +234,7 @@ namespace cppcanvas rDstSize, rCanvas, rState ) ); - } + } } } diff --git a/cppcanvas/source/mtfrenderer/bitmapaction.hxx b/cppcanvas/source/mtfrenderer/bitmapaction.hxx index e6c7b83ee626..f3bb34736d88 100644 --- a/cppcanvas/source/mtfrenderer/bitmapaction.hxx +++ b/cppcanvas/source/mtfrenderer/bitmapaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -40,8 +40,8 @@ class BitmapEx; /* Definition of internal::BitmapActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { struct OutDevState; @@ -57,16 +57,16 @@ namespace cppcanvas { public: /// Unscaled bitmap action, only references destination point - static ActionSharedPtr createBitmapAction( const ::BitmapEx&, - const ::basegfx::B2DPoint& rDstPoint, - const CanvasSharedPtr&, - const OutDevState& ); - + static ActionSharedPtr createBitmapAction( const ::BitmapEx&, + const ::basegfx::B2DPoint& rDstPoint, + const CanvasSharedPtr&, + const OutDevState& ); + /// Scaled bitmap action, dest point and dest size static ActionSharedPtr createBitmapAction( const ::BitmapEx&, - const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DPoint& rDstPoint, const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr&, + const CanvasSharedPtr&, const OutDevState& ); private: diff --git a/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx b/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx index 9cd01fc42a03..21ee8be44f06 100644 --- a/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx +++ b/cppcanvas/source/mtfrenderer/cachedprimitivebase.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -41,8 +41,8 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { CachedPrimitiveBase::CachedPrimitiveBase( const CanvasSharedPtr& rCanvas, @@ -76,7 +76,7 @@ namespace cppcanvas (!mbOnlyRedrawWithSameTransform || maLastTransformation == aTotalTransform) ) { - if( mxCachedPrimitive->redraw( rViewState ) == + if( mxCachedPrimitive->redraw( rViewState ) == rendering::RepaintResult::REDRAWN ) { // cached repaint succeeded, done. diff --git a/cppcanvas/source/mtfrenderer/cachedprimitivebase.hxx b/cppcanvas/source/mtfrenderer/cachedprimitivebase.hxx index 8cef77f1dd26..34995a60cc39 100644 --- a/cppcanvas/source/mtfrenderer/cachedprimitivebase.hxx +++ b/cppcanvas/source/mtfrenderer/cachedprimitivebase.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -42,8 +42,8 @@ namespace basegfx { class B2DHomMatrix; } /* Definition of internal::CachedPrimitiveBase class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { /** Base class providing cached re-rendering, if XCanvas @@ -68,7 +68,7 @@ namespace cppcanvas When true, this class only reuses the cached primitive, if the overall transformation stays the same. Otherwise, repaints are always performed via the - cached primitive. + cached primitive. */ CachedPrimitiveBase( const CanvasSharedPtr& rCanvas, bool bOnlyRedrawWithSameTransform ); @@ -80,13 +80,13 @@ namespace cppcanvas using Action::render; private: - virtual bool render( ::com::sun::star::uno::Reference< + virtual bool render( ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >& rCachedPrimitive, const ::basegfx::B2DHomMatrix& rTransformation ) const = 0; CanvasSharedPtr mpCanvas; - mutable ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XCachedPrimitive > mxCachedPrimitive; + mutable ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XCachedPrimitive > mxCachedPrimitive; mutable ::basegfx::B2DHomMatrix maLastTransformation; const bool mbOnlyRedrawWithSameTransform; }; diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index b35a3a723edc..02c9ca1c65c7 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -861,7 +861,7 @@ namespace cppcanvas ::vcl::unotools::colorToDoubleSequence( ::Color (0xff - (x >> 24), \ (x >> 16) & 0xff, \ (x >> 8) & 0xff, \ - x & 0xff), \ + x & 0xff), \ rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace()); #define SET_FILL_COLOR(x) \ rState.fillColor = COLOR(x); diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx index cef7e1eed16c..9c026b137474 100644 --- a/cppcanvas/source/mtfrenderer/implrenderer.cxx +++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -104,10 +104,10 @@ using namespace ::com::sun::star; // ====================== namespace { - template < class MetaActionType > void setStateColor( MetaActionType* pAct, - bool& rIsColorSet, - uno::Sequence< double >& rColorSequence, - const cppcanvas::CanvasSharedPtr& rCanvas ) + template < class MetaActionType > void setStateColor( MetaActionType* pAct, + bool& rIsColorSet, + uno::Sequence< double >& rColorSequence, + const cppcanvas::CanvasSharedPtr& rCanvas ) { // set rIsColorSet and check for true at the same time if( (rIsColorSet=pAct->IsSetting()) != false ) @@ -120,7 +120,7 @@ namespace aColor.SetTransparency(0); //aColor.SetTransparency(128); - rColorSequence = ::vcl::unotools::colorToDoubleSequence( + rColorSequence = ::vcl::unotools::colorToDoubleSequence( aColor, rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() ); } @@ -147,7 +147,7 @@ namespace } void pushState( ::cppcanvas::internal::VectorOfOutDevStates& rStates, - USHORT nFlags ) + USHORT nFlags ) { rStates.push_back( getState( rStates ) ); getState( rStates ).pushFlags = nFlags; @@ -156,12 +156,12 @@ namespace void popState( ::cppcanvas::internal::VectorOfOutDevStates& rStates ) { if( getState( rStates ).pushFlags != PUSH_ALL ) - { + { // a state is pushed which is incomplete, i.e. does not // restore everything to the previous stack level when // popped. // That means, we take the old state, and restore every - // OutDevState member whose flag is set, from the new to the + // OutDevState member whose flag is set, from the new to the // old state. Then the new state gets overwritten by the // calculated state @@ -176,28 +176,28 @@ namespace if( (aCalculatedNewState.pushFlags & PUSH_LINECOLOR) ) { - aCalculatedNewState.lineColor = rNewState.lineColor; + aCalculatedNewState.lineColor = rNewState.lineColor; aCalculatedNewState.isLineColorSet = rNewState.isLineColorSet; } if( (aCalculatedNewState.pushFlags & PUSH_FILLCOLOR) ) { - aCalculatedNewState.fillColor = rNewState.fillColor; + aCalculatedNewState.fillColor = rNewState.fillColor; aCalculatedNewState.isFillColorSet = rNewState.isFillColorSet; } if( (aCalculatedNewState.pushFlags & PUSH_FONT) ) { - aCalculatedNewState.xFont = rNewState.xFont; - aCalculatedNewState.fontRotation = rNewState.fontRotation; - aCalculatedNewState.textReliefStyle = rNewState.textReliefStyle; - aCalculatedNewState.textOverlineStyle = rNewState.textOverlineStyle; - aCalculatedNewState.textUnderlineStyle = rNewState.textUnderlineStyle; - aCalculatedNewState.textStrikeoutStyle = rNewState.textStrikeoutStyle; - aCalculatedNewState.textEmphasisMarkStyle = rNewState.textEmphasisMarkStyle; - aCalculatedNewState.isTextEffectShadowSet = rNewState.isTextEffectShadowSet; - aCalculatedNewState.isTextWordUnderlineSet = rNewState.isTextWordUnderlineSet; - aCalculatedNewState.isTextOutlineModeSet = rNewState.isTextOutlineModeSet; + aCalculatedNewState.xFont = rNewState.xFont; + aCalculatedNewState.fontRotation = rNewState.fontRotation; + aCalculatedNewState.textReliefStyle = rNewState.textReliefStyle; + aCalculatedNewState.textOverlineStyle = rNewState.textOverlineStyle; + aCalculatedNewState.textUnderlineStyle = rNewState.textUnderlineStyle; + aCalculatedNewState.textStrikeoutStyle = rNewState.textStrikeoutStyle; + aCalculatedNewState.textEmphasisMarkStyle = rNewState.textEmphasisMarkStyle; + aCalculatedNewState.isTextEffectShadowSet = rNewState.isTextEffectShadowSet; + aCalculatedNewState.isTextWordUnderlineSet = rNewState.isTextWordUnderlineSet; + aCalculatedNewState.isTextOutlineModeSet = rNewState.isTextOutlineModeSet; } if( (aCalculatedNewState.pushFlags & PUSH_TEXTCOLOR) ) @@ -212,9 +212,9 @@ namespace if( (aCalculatedNewState.pushFlags & PUSH_CLIPREGION) ) { - aCalculatedNewState.clip = rNewState.clip; - aCalculatedNewState.clipRect = rNewState.clipRect; - aCalculatedNewState.xClipPoly = rNewState.xClipPoly; + aCalculatedNewState.clip = rNewState.clip; + aCalculatedNewState.clipRect = rNewState.clipRect; + aCalculatedNewState.xClipPoly = rNewState.xClipPoly; } // TODO(F2): Raster ops NYI @@ -224,7 +224,7 @@ namespace if( (aCalculatedNewState.pushFlags & PUSH_TEXTFILLCOLOR) ) { - aCalculatedNewState.textFillColor = rNewState.textFillColor; + aCalculatedNewState.textFillColor = rNewState.textFillColor; aCalculatedNewState.isTextFillColorSet = rNewState.isTextFillColorSet; } @@ -240,7 +240,7 @@ namespace if( (aCalculatedNewState.pushFlags & PUSH_TEXTLINECOLOR) ) { - aCalculatedNewState.textLineColor = rNewState.textLineColor; + aCalculatedNewState.textLineColor = rNewState.textLineColor; aCalculatedNewState.isTextLineColorSet = rNewState.isTextLineColorSet; } @@ -269,14 +269,14 @@ namespace void setupStrokeAttributes( rendering::StrokeAttributes& o_rStrokeAttributes, const ::cppcanvas::internal::ActionFactoryParameters& rParms, - const LineInfo& rLineInfo ) + const LineInfo& rLineInfo ) { const ::basegfx::B2DSize aWidth( rLineInfo.GetWidth(), 0 ); - o_rStrokeAttributes.StrokeWidth = + o_rStrokeAttributes.StrokeWidth = (getState( rParms.mrStates ).mapModeTransform * aWidth).getX(); // setup reasonable defaults - o_rStrokeAttributes.MiterLimit = 15.0; // 1.0 was no good default; GDI+'s limit is 10.0, our's is 15.0 + o_rStrokeAttributes.MiterLimit = 15.0; // 1.0 was no good default; GDI+'s limit is 10.0, our's is 15.0 o_rStrokeAttributes.StartCapType = rendering::PathCapType::BUTT; o_rStrokeAttributes.EndCapType = rendering::PathCapType::BUTT; @@ -315,7 +315,7 @@ namespace const sal_Int32 nNumArryEntries( 2*rLineInfo.GetDashCount() + 2*rLineInfo.GetDotCount() ); - + o_rStrokeAttributes.DashArray.realloc( nNumArryEntries ); double* pDashArray = o_rStrokeAttributes.DashArray.getArray(); @@ -335,7 +335,7 @@ namespace { pDashArray[nCurrEntry++] = nDotLen; pDashArray[nCurrEntry++] = nDistance; - } + } } } @@ -356,7 +356,7 @@ namespace 1, &aBiLevelPalette ); aSolid.Erase( rMaskColor ); - + return BitmapEx( aSolid, aMask ); } @@ -474,7 +474,7 @@ namespace cppcanvas return false; } - ActionSharedPtr pPolyAction( + ActionSharedPtr pPolyAction( internal::PolyPolyActionFactory::createPolyPolyAction( rPolyPoly, rParms.mrCanvas, rState ) ); @@ -484,7 +484,7 @@ namespace cppcanvas MtfAction( pPolyAction, rParms.mrCurrActionIndex ) ); - + rParms.mrCurrActionIndex += pPolyAction->getActionCount()-1; } @@ -500,7 +500,7 @@ namespace cppcanvas void ImplRenderer::skipContent( GDIMetaFile& rMtf, const char* pCommentString, - sal_Int32& io_rCurrActionIndex ) const + sal_Int32& io_rCurrActionIndex ) const { ENSURE_OR_THROW( pCommentString, "ImplRenderer::skipContent(): NULL string given" ); @@ -512,7 +512,7 @@ namespace cppcanvas ++io_rCurrActionIndex; if( pCurrAct->GetType() == META_COMMENT_ACTION && - static_cast<MetaCommentAction*>(pCurrAct)->GetComment().CompareIgnoreCaseToAscii( + static_cast<MetaCommentAction*>(pCurrAct)->GetComment().CompareIgnoreCaseToAscii( pCommentString ) == COMPARE_EQUAL ) { // requested comment found, done @@ -526,7 +526,7 @@ namespace cppcanvas bool ImplRenderer::isActionContained( GDIMetaFile& rMtf, const char* pCommentString, - USHORT nType ) const + USHORT nType ) const { ENSURE_OR_THROW( pCommentString, "ImplRenderer::isActionContained(): NULL string given" ); @@ -547,7 +547,7 @@ namespace cppcanvas } if( pCurrAct->GetType() == META_COMMENT_ACTION && - static_cast<MetaCommentAction*>(pCurrAct)->GetComment().CompareIgnoreCaseToAscii( + static_cast<MetaCommentAction*>(pCurrAct)->GetComment().CompareIgnoreCaseToAscii( pCommentString ) == COMPARE_EQUAL ) { // delimiting end comment found, done @@ -572,11 +572,11 @@ namespace cppcanvas return bRet; } - void ImplRenderer::createGradientAction( const ::PolyPolygon& rPoly, - const ::Gradient& rGradient, + void ImplRenderer::createGradientAction( const ::PolyPolygon& rPoly, + const ::Gradient& rGradient, const ActionFactoryParameters& rParms, - bool bIsPolygonRectangle, - bool bSubsettableActions ) + bool bIsPolygonRectangle, + bool bSubsettableActions ) { DBG_TESTSOLARMUTEX(); @@ -593,7 +593,7 @@ namespace cppcanvas nSteps == 0 || // step count is sufficiently high, such that no // discernible difference should be visible. - nSteps > 64 ) + nSteps > 64 ) { uno::Reference< lang::XMultiServiceFactory> xFactory( rParms.mrCanvas->getUNOCanvas()->getDevice()->getParametricPolyPolygonFactory() ); @@ -634,7 +634,7 @@ namespace cppcanvas uno::Sequence< uno::Sequence < double > > aColors(2); uno::Sequence< double > aStops(2); - + if( rGradient.GetStyle() == GRADIENT_AXIAL ) { aStops.realloc(3); @@ -643,7 +643,7 @@ namespace cppcanvas aStops[0] = 0.0; aStops[1] = 0.5; aStops[2] = 1.0; - + aColors[0] = aEndColor; aColors[1] = aStartColor; aColors[2] = aEndColor; @@ -652,14 +652,14 @@ namespace cppcanvas { aStops[0] = 0.0; aStops[1] = 1.0; - + aColors[0] = aStartColor; aColors[1] = aEndColor; } - const ::basegfx::B2DRectangle aBounds( + const ::basegfx::B2DRectangle aBounds( ::basegfx::tools::getRange(aDevicePoly) ); - const ::basegfx::B2DVector aOffset( + const ::basegfx::B2DVector aOffset( rGradient.GetOfsX() / 100.0, rGradient.GetOfsY() / 100.0); double fRotation( rGradient.GetAngle() * M_PI / 1800.0 ); @@ -686,10 +686,23 @@ namespace cppcanvas case GRADIENT_AXIAL: { - basegfx::tools::createLinearODFGradientInfo(aGradInfo, + // Adapt the border so that it is suitable + // for the axial gradient. An axial + // gradient consists of two linear + // gradients. Each of those covers half + // of the total size. In order to + // compensate for the condensed display of + // the linear gradients, we have to + // enlarge the area taken up by the actual + // gradient (1-fBorder). After that we + // have to turn the result back into a + // border value, hence the second (left + // most 1-... + const double fAxialBorder (1-2*(1-fBorder)); + basegfx::tools::createAxialODFGradientInfo(aGradInfo, aBounds, nSteps, - fBorder, + fAxialBorder, fRotation); // map odf to svg gradient orientation - x // instead of y direction @@ -749,7 +762,7 @@ namespace cppcanvas "ImplRenderer::createGradientAction(): Unexpected gradient type" ); break; } - + // As the texture coordinate space is relative to // the polygon coordinate space (NOT to the // polygon itself), move gradient to the start of @@ -757,9 +770,9 @@ namespace cppcanvas // gradient will always display at the origin, and // not within the polygon bound (which might be // miles away from the origin). - aGradInfo.maTextureTransform.translate( aBounds.getMinX(), + aGradInfo.maTextureTransform.translate( aBounds.getMinX(), aBounds.getMinY() ); - ::basegfx::unotools::affineMatrixFromHomMatrix( aTexture.AffineTransform, + ::basegfx::unotools::affineMatrixFromHomMatrix( aTexture.AffineTransform, aGradInfo.maTextureTransform ); uno::Sequence<uno::Any> args(3); @@ -780,20 +793,20 @@ namespace cppcanvas uno::UNO_QUERY); if( aTexture.Gradient.is() ) { - ActionSharedPtr pPolyAction( - internal::PolyPolyActionFactory::createPolyPolyAction( - aDevicePoly, - rParms.mrCanvas, + ActionSharedPtr pPolyAction( + internal::PolyPolyActionFactory::createPolyPolyAction( + aDevicePoly, + rParms.mrCanvas, getState( rParms.mrStates ), aTexture ) ); if( pPolyAction ) { - maActions.push_back( - MtfAction( + maActions.push_back( + MtfAction( pPolyAction, rParms.mrCurrActionIndex ) ); - + rParms.mrCurrActionIndex += pPolyAction->getActionCount()-1; } @@ -813,7 +826,7 @@ namespace cppcanvas // only clip, if given polygon is not a rectangle in // the first place (the gradient is always limited to // the given bound rect) - updateClipping( + updateClipping( aDevicePoly, rParms, true ); @@ -838,7 +851,7 @@ namespace cppcanvas if( rParms.mrParms.maFontName.isValid() ) aFontRequest.FontDescription.FamilyName = rParms.mrParms.maFontName.getValue(); else - aFontRequest.FontDescription.FamilyName = rFont.GetName(); + aFontRequest.FontDescription.FamilyName = rFont.GetName(); aFontRequest.FontDescription.StyleName = rFont.GetStyleName(); @@ -846,11 +859,11 @@ namespace cppcanvas aFontRequest.FontDescription.IsVertical = rFont.IsVertical() ? util::TriState_YES : util::TriState_NO; // TODO(F2): improve vclenum->panose conversion - aFontRequest.FontDescription.FontDescription.Weight = + aFontRequest.FontDescription.FontDescription.Weight = rParms.mrParms.maFontWeight.isValid() ? rParms.mrParms.maFontWeight.getValue() : ::canvas::tools::numeric_cast<sal_Int8>( ::basegfx::fround( rFont.GetWeight() ) ); - aFontRequest.FontDescription.FontDescription.Letterform = + aFontRequest.FontDescription.FontDescription.Letterform = rParms.mrParms.maFontLetterForm.isValid() ? rParms.mrParms.maFontLetterForm.getValue() : (rFont.GetItalic() == ITALIC_NONE) ? 0 : 9; @@ -925,7 +938,7 @@ namespace cppcanvas } // create text effects such as shadow/relief/embossed - void ImplRenderer::createTextAction( const ::Point& rStartPoint, + void ImplRenderer::createTextAction( const ::Point& rStartPoint, const String rString, int nIndex, int nLength, @@ -1010,7 +1023,7 @@ namespace cppcanvas } // create the actual text action - ActionSharedPtr pTextAction( + ActionSharedPtr pTextAction( TextActionFactory::createTextAction( rStartPoint, aReliefOffset, @@ -1048,7 +1061,7 @@ namespace cppcanvas nStrikeoutWidth = ( rParms.mrVDev.GetTextWidth( aStrikeoutTest ) + 2 ) / 4; aStrikeoutTest.Erase(); - if( nStrikeoutWidth <= 0 ) + if( nStrikeoutWidth <= 0 ) nStrikeoutWidth = 1; } @@ -1082,7 +1095,7 @@ namespace cppcanvas pStrikeoutCharWidths[ i ] += pStrikeoutCharWidths[ i-1 ]; } - pStrikeoutTextAction = + pStrikeoutTextAction = TextActionFactory::createTextAction( rStartPoint, aReliefOffset, @@ -1103,15 +1116,15 @@ namespace cppcanvas if( pTextAction ) { - maActions.push_back( - MtfAction( + maActions.push_back( + MtfAction( pTextAction, rParms.mrCurrActionIndex ) ); if ( pStrikeoutTextAction ) { - maActions.push_back( - MtfAction( + maActions.push_back( + MtfAction( pStrikeoutTextAction, rParms.mrCurrActionIndex ) ); } @@ -1120,9 +1133,9 @@ namespace cppcanvas } } - void ImplRenderer::updateClipping( const ::basegfx::B2DPolyPolygon& rClipPoly, + void ImplRenderer::updateClipping( const ::basegfx::B2DPolyPolygon& rClipPoly, const ActionFactoryParameters& rParms, - bool bIntersect ) + bool bIntersect ) { ::cppcanvas::internal::OutDevState& rState( getState( rParms.mrStates ) ); ::basegfx::B2DPolyPolygon aClipPoly( rClipPoly ); @@ -1148,7 +1161,7 @@ namespace cppcanvas // convert rect to polygon beforehand, must revert // to general polygon clipping here. rState.clip = ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( // #121100# VCL rectangular clips always // include one more pixel to the right // and the bottom @@ -1178,7 +1191,7 @@ namespace cppcanvas rState.xClipPoly = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rParms.mrCanvas->getUNOCanvas()->getDevice(), ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( // #121100# VCL rectangular clips // always include one more pixel to // the right and the bottom @@ -1196,7 +1209,7 @@ namespace cppcanvas } } - void ImplRenderer::updateClipping( const ::Rectangle& rClipRect, + void ImplRenderer::updateClipping( const ::Rectangle& rClipRect, const ActionFactoryParameters& rParms, bool bIntersect ) { @@ -1227,11 +1240,11 @@ namespace cppcanvas // general case: convert to polygon and clip // ----------------------------------------- - + // convert rect to polygon beforehand, must revert // to general polygon clipping here. ::basegfx::B2DPolyPolygon aClipPoly( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( ::basegfx::B2DRectangle( rClipRect.Left(), rClipRect.Top(), rClipRect.Right(), @@ -1255,7 +1268,7 @@ namespace cppcanvas rState.xClipPoly = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rParms.mrCanvas->getUNOCanvas()->getDevice(), ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( // #121100# VCL rectangular clips // always include one more pixel to // the right and the bottom @@ -1273,7 +1286,7 @@ namespace cppcanvas } } - bool ImplRenderer::createActions( GDIMetaFile& rMtf, + bool ImplRenderer::createActions( GDIMetaFile& rMtf, const ActionFactoryParameters& rFactoryParms, bool bSubsettableActions ) { @@ -1288,8 +1301,8 @@ namespace cppcanvas recalc scaling for every drawing operation. This is because the outdev map mode might change at any time. Also keep in mind, that, although we've double precision - float arithmetic now, different offsets might still - generate different roundings (aka + float arithmetic now, different offsets might still + generate different roundings (aka 'OutputDevice::SetPixelOffset()) */ @@ -1300,7 +1313,7 @@ namespace cppcanvas ::VirtualDevice& rVDev(rFactoryParms.mrVDev); const Parameters& rParms(rFactoryParms.mrParms); sal_Int32& io_rCurrActionIndex(rFactoryParms.mrCurrActionIndex); - + // Loop over every metaaction // ========================== @@ -1372,12 +1385,12 @@ namespace cppcanvas "region encountered, falling back to bounding box!" ); // #121806# explicitely kept integer - Rectangle aClipRect( - rVDev.LogicToPixel( + Rectangle aClipRect( + rVDev.LogicToPixel( pClipAction->GetRegion().GetBoundRect() ) ); // intersect current clip with given rect - updateClipping( + updateClipping( aClipRect, rFactoryParms, false ); @@ -1388,8 +1401,8 @@ namespace cppcanvas // with old one, just set it) // #121806# explicitely kept integer - updateClipping( - rVDev.LogicToPixel( + updateClipping( + rVDev.LogicToPixel( pClipAction->GetRegion().GetPolyPolygon() ).getB2DPolyPolygon(), rFactoryParms, false ); @@ -1404,11 +1417,11 @@ namespace cppcanvas MetaISectRectClipRegionAction* pClipAction = static_cast<MetaISectRectClipRegionAction*>(pCurrAct); // #121806# explicitely kept integer - Rectangle aClipRect( + Rectangle aClipRect( rVDev.LogicToPixel( pClipAction->GetRect() ) ); // intersect current clip with given rect - updateClipping( + updateClipping( aClipRect, rFactoryParms, true ); @@ -1426,11 +1439,11 @@ namespace cppcanvas "region encountered, falling back to bounding box!" ); // #121806# explicitely kept integer - Rectangle aClipRect( + Rectangle aClipRect( rVDev.LogicToPixel( pClipAction->GetRegion().GetBoundRect() ) ); // intersect current clip with given rect - updateClipping( + updateClipping( aClipRect, rFactoryParms, true ); @@ -1440,8 +1453,8 @@ namespace cppcanvas // intersect current clip with given clip polygon // #121806# explicitely kept integer - updateClipping( - rVDev.LogicToPixel( + updateClipping( + rVDev.LogicToPixel( pClipAction->GetRegion().GetPolyPolygon() ).getB2DPolyPolygon(), rFactoryParms, true ); @@ -1489,7 +1502,7 @@ namespace cppcanvas getState( rStates ).textColor = ::vcl::unotools::colorToDoubleSequence( - aColor, + aColor, rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() ); } } @@ -1619,7 +1632,7 @@ namespace cppcanvas case META_EPS_ACTION: { - MetaEPSAction* pAct = static_cast<MetaEPSAction*>(pCurrAct); + MetaEPSAction* pAct = static_cast<MetaEPSAction*>(pCurrAct); const GDIMetaFile& rSubstitute = pAct->GetSubstitute(); // #121806# explicitely kept integer @@ -1633,18 +1646,18 @@ namespace cppcanvas const Size aMtfSizePix( ::std::max( aMtfSizePixPre.Width(), 1L ), ::std::max( aMtfSizePixPre.Height(), 1L ) ); - // Setup local transform, such that the + // Setup local transform, such that the // metafile renders itself into the given - // output rectangle + // output rectangle pushState( rStates, PUSH_ALL ); - + rVDev.Push(); rVDev.SetMapMode( rSubstitute.GetPrefMapMode() ); - + const ::Point& rPos( rVDev.LogicToPixel( pAct->GetPoint() ) ); const ::Size& rSize( rVDev.LogicToPixel( pAct->GetSize() ) ); - getState( rStates ).transform.translate( rPos.X(), + getState( rStates ).transform.translate( rPos.X(), rPos.Y() ); getState( rStates ).transform.scale( (double)rSize.Width() / aMtfSizePix.Width(), (double)rSize.Height() / aMtfSizePix.Height() ); @@ -1708,7 +1721,7 @@ namespace cppcanvas const BYTE* pData = pAct->GetData(); if ( pData ) { - SvMemoryStream aMemStm( (void*)pData, pAct->GetDataSize(), STREAM_READ ); + SvMemoryStream aMemStm( (void*)pData, pAct->GetDataSize(), STREAM_READ ); SvtGraphicFill aFill; aMemStm >> aFill; @@ -1722,26 +1735,26 @@ namespace cppcanvas // the FloatTransparent action), take // the normal meta actions. if( aFill.getFillType() == SvtGraphicFill::fillTexture && - !isActionContained( rMtf, + !isActionContained( rMtf, "XPATHFILL_SEQ_END", META_FLOATTRANSPARENT_ACTION ) ) { rendering::Texture aTexture; - + // TODO(F1): the SvtGraphicFill // can also transport metafiles // here, handle that case, too - Graphic aGraphic; + Graphic aGraphic; aFill.getGraphic( aGraphic ); - BitmapEx aBmpEx( aGraphic.GetBitmapEx() ); + BitmapEx aBmpEx( aGraphic.GetBitmapEx() ); const ::Size aBmpSize( aBmpEx.GetSizePixel() ); ::SvtGraphicFill::Transform aTransform; aFill.getTransform( aTransform ); ::basegfx::B2DHomMatrix aMatrix; - + // convert to basegfx matrix aMatrix.set(0,0, aTransform.matrix[ 0 ] ); aMatrix.set(0,1, aTransform.matrix[ 1 ] ); @@ -1769,14 +1782,14 @@ namespace cppcanvas aMatrix *= tools::calcLogic2PixelLinearTransform( aLogic2PixelTransform, rVDev ); - ::basegfx::unotools::affineMatrixFromHomMatrix( + ::basegfx::unotools::affineMatrixFromHomMatrix( aTexture.AffineTransform, aMatrix ); aTexture.Alpha = 1.0 - aFill.getTransparency(); - aTexture.Bitmap = - ::vcl::unotools::xBitmapFromBitmapEx( - rCanvas->getUNOCanvas()->getDevice(), + aTexture.Bitmap = + ::vcl::unotools::xBitmapFromBitmapEx( + rCanvas->getUNOCanvas()->getDevice(), aBmpEx ); if( aFill.isTiling() ) { @@ -1788,31 +1801,31 @@ namespace cppcanvas aTexture.RepeatModeX = rendering::TexturingMode::NONE; aTexture.RepeatModeY = rendering::TexturingMode::NONE; } - + ::PolyPolygon aPath; aFill.getPath( aPath ); ::basegfx::B2DPolyPolygon aPoly( aPath.getB2DPolyPolygon() ); - aPoly.transform( getState( rStates ).mapModeTransform ); - ActionSharedPtr pPolyAction( - internal::PolyPolyActionFactory::createPolyPolyAction( + aPoly.transform( getState( rStates ).mapModeTransform ); + ActionSharedPtr pPolyAction( + internal::PolyPolyActionFactory::createPolyPolyAction( aPoly, - rCanvas, + rCanvas, getState( rStates ), aTexture ) ); if( pPolyAction ) { - maActions.push_back( - MtfAction( + maActions.push_back( + MtfAction( pPolyAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pPolyAction->getActionCount()-1; } // skip broken-down render output - skipContent( rMtf, + skipContent( rMtf, "XPATHFILL_SEQ_END", io_rCurrActionIndex ); } @@ -1862,9 +1875,9 @@ namespace cppcanvas const OutDevState& rState( getState( rStates ) ); if( rState.lineColor.getLength() ) { - ActionSharedPtr pPointAction( + ActionSharedPtr pPointAction( internal::PointActionFactory::createPointAction( - rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( + rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( static_cast<MetaPointAction*>(pCurrAct)->GetPoint() ), rCanvas, rState ) ); @@ -1875,7 +1888,7 @@ namespace cppcanvas MtfAction( pPointAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pPointAction->getActionCount()-1; } } @@ -1887,9 +1900,9 @@ namespace cppcanvas const OutDevState& rState( getState( rStates ) ); if( rState.lineColor.getLength() ) { - ActionSharedPtr pPointAction( + ActionSharedPtr pPointAction( internal::PointActionFactory::createPointAction( - rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( + rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( static_cast<MetaPixelAction*>(pCurrAct)->GetPoint() ), rCanvas, rState, @@ -1901,7 +1914,7 @@ namespace cppcanvas MtfAction( pPointAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pPointAction->getActionCount()-1; } } @@ -1914,7 +1927,7 @@ namespace cppcanvas if( rState.lineColor.getLength() ) { MetaLineAction* pLineAct = static_cast<MetaLineAction*>(pCurrAct); - + const LineInfo& rLineInfo( pLineAct->GetLineInfo() ); const ::basegfx::B2DPoint aStartPoint( @@ -1927,7 +1940,7 @@ namespace cppcanvas if( rLineInfo.IsDefault() ) { // plain hair line - pLineAction = + pLineAction = internal::LineActionFactory::createLineAction( aStartPoint, aEndPoint, @@ -1940,7 +1953,7 @@ namespace cppcanvas MtfAction( pLineAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pLineAction->getActionCount()-1; } } @@ -1948,11 +1961,11 @@ namespace cppcanvas { // 'thick' line rendering::StrokeAttributes aStrokeAttributes; - + setupStrokeAttributes( aStrokeAttributes, rFactoryParms, rLineInfo ); - + // XCanvas can only stroke polygons, // not simple lines - thus, handle // this case via the polypolygon @@ -1960,9 +1973,9 @@ namespace cppcanvas ::basegfx::B2DPolygon aPoly; aPoly.append( aStartPoint ); aPoly.append( aEndPoint ); - pLineAction = + pLineAction = internal::PolyPolyActionFactory::createPolyPolyAction( - ::basegfx::B2DPolyPolygon( aPoly ), + ::basegfx::B2DPolyPolygon( aPoly ), rCanvas, rState, aStrokeAttributes ); if( pLineAction ) @@ -1971,7 +1984,7 @@ namespace cppcanvas MtfAction( pLineAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pLineAction->getActionCount()-1; } } @@ -1983,16 +1996,16 @@ namespace cppcanvas case META_RECT_ACTION: { - const Rectangle& rRect( + const Rectangle& rRect( static_cast<MetaRectAction*>(pCurrAct)->GetRect() ); if( rRect.IsEmpty() ) break; const OutDevState& rState( getState( rStates ) ); - const ::basegfx::B2DPoint aTopLeftPixel( + const ::basegfx::B2DPoint aTopLeftPixel( rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( rRect.TopLeft() ) ); - const ::basegfx::B2DPoint aBottomRightPixel( + const ::basegfx::B2DPoint aBottomRightPixel( rState.mapModeTransform * ::vcl::unotools::b2DPointFromPoint( rRect.BottomRight() ) + // #121100# OutputDevice::DrawRect() fills // rectangles Apple-like, i.e. with one @@ -2008,14 +2021,14 @@ namespace cppcanvas case META_ROUNDRECT_ACTION: { - const Rectangle& rRect( + const Rectangle& rRect( static_cast<MetaRoundRectAction*>(pCurrAct)->GetRect()); if( rRect.IsEmpty() ) break; - ::basegfx::B2DPolygon aPoly( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::B2DPolygon aPoly( + ::basegfx::tools::createPolygonFromRect( ::basegfx::B2DRange( ::vcl::unotools::b2DPointFromPoint( rRect.TopLeft() ), ::vcl::unotools::b2DPointFromPoint( rRect.BottomRight() ) + @@ -2107,13 +2120,13 @@ namespace cppcanvas const LineInfo& rLineInfo( pPolyLineAct->GetLineInfo() ); ::basegfx::B2DPolygon aPoly( pPolyLineAct->GetPolygon().getB2DPolygon() ); aPoly.transform( rState.mapModeTransform ); - + ActionSharedPtr pLineAction; if( rLineInfo.IsDefault() ) { // plain hair line polygon - pLineAction = + pLineAction = internal::PolyPolyActionFactory::createLinePolyPolyAction( ::basegfx::B2DPolyPolygon(aPoly), rCanvas, @@ -2125,7 +2138,7 @@ namespace cppcanvas MtfAction( pLineAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pLineAction->getActionCount()-1; } } @@ -2133,7 +2146,7 @@ namespace cppcanvas { // 'thick' line polygon rendering::StrokeAttributes aStrokeAttributes; - + setupStrokeAttributes( aStrokeAttributes, rFactoryParms, rLineInfo ); @@ -2151,7 +2164,7 @@ namespace cppcanvas MtfAction( pLineAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pLineAction->getActionCount()-1; } } @@ -2186,7 +2199,7 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( pAct->GetBitmap(), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), rCanvas, getState( rStates ) ) ); @@ -2197,7 +2210,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2210,9 +2223,9 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( pAct->GetBitmap(), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ), rCanvas, getState( rStates ) ) ); @@ -2223,7 +2236,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2243,9 +2256,9 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( aBmp, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetDestPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetDestSize() ), rCanvas, getState( rStates ) ) ); @@ -2256,7 +2269,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2269,7 +2282,7 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( pAct->GetBitmapEx(), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), rCanvas, getState( rStates ) ) ); @@ -2280,7 +2293,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2293,9 +2306,9 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( pAct->GetBitmapEx(), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ), rCanvas, getState( rStates ) ) ); @@ -2306,7 +2319,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2326,9 +2339,9 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( aBmp, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetDestPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetDestSize() ), rCanvas, getState( rStates ) ) ); @@ -2339,7 +2352,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2358,7 +2371,7 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( aBmp, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), rCanvas, getState( rStates ) ) ); @@ -2369,7 +2382,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2388,20 +2401,20 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( aBmp, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ), rCanvas, getState( rStates ) ) ); - + if( pBmpAction ) { maActions.push_back( MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2426,9 +2439,9 @@ namespace cppcanvas ActionSharedPtr pBmpAction( internal::BitmapActionFactory::createBitmapAction( aBmp, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetDestPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetDestSize() ), rCanvas, getState( rStates ) ) ); @@ -2439,7 +2452,7 @@ namespace cppcanvas MtfAction( pBmpAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pBmpAction->getActionCount()-1; } } @@ -2477,7 +2490,7 @@ namespace cppcanvas MtfAction( pPolyAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pPolyAction->getActionCount()-1; } } @@ -2488,7 +2501,7 @@ namespace cppcanvas { MetaFloatTransparentAction* pAct = static_cast<MetaFloatTransparentAction*>(pCurrAct); - internal::MtfAutoPtr pMtf( + internal::MtfAutoPtr pMtf( new ::GDIMetaFile( pAct->GetGDIMetaFile() ) ); // TODO(P2): Use native canvas gradients here (saves a lot of UNO calls) @@ -2502,9 +2515,9 @@ namespace cppcanvas pMtf, pGradient, rParms, - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ), - getState( rStates ).mapModeTransform * + getState( rStates ).mapModeTransform * ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ), rCanvas, getState( rStates ) ) ); @@ -2515,7 +2528,7 @@ namespace cppcanvas MtfAction( pFloatTransAction, io_rCurrActionIndex ) ); - + io_rCurrActionIndex += pFloatTransAction->getActionCount()-1; } } @@ -2530,11 +2543,11 @@ namespace cppcanvas convertToLocalizedNumerals ( sText,rVDev.GetDigitLanguage() ); createTextAction( - pAct->GetPoint(), + pAct->GetPoint(), sText, - pAct->GetIndex(), + pAct->GetIndex(), pAct->GetLen() == (USHORT)STRING_LEN ? pAct->GetText().Len() - pAct->GetIndex() : pAct->GetLen(), - NULL, + NULL, rFactoryParms, bSubsettableActions ); } @@ -2549,11 +2562,11 @@ namespace cppcanvas convertToLocalizedNumerals ( sText,rVDev.GetDigitLanguage() ); createTextAction( - pAct->GetPoint(), + pAct->GetPoint(), sText, - pAct->GetIndex(), + pAct->GetIndex(), pAct->GetLen() == (USHORT)STRING_LEN ? pAct->GetText().Len() - pAct->GetIndex() : pAct->GetLen(), - pAct->GetDXArray(), + pAct->GetDXArray(), rFactoryParms, bSubsettableActions ); } @@ -2566,20 +2579,20 @@ namespace cppcanvas const OutDevState& rState( getState( rStates ) ); const ::Size aBaselineOffset( tools::getBaselineOffset( rState, rVDev ) ); - const ::Point aStartPoint( pAct->GetStartPoint() ); - const ::basegfx::B2DSize aSize( rState.mapModeTransform * + const ::Point aStartPoint( pAct->GetStartPoint() ); + const ::basegfx::B2DSize aSize( rState.mapModeTransform * ::basegfx::B2DSize(pAct->GetWidth(), 0 )); - ActionSharedPtr pPolyAction( + ActionSharedPtr pPolyAction( PolyPolyActionFactory::createPolyPolyAction( - tools::createTextLinesPolyPolygon( - rState.mapModeTransform * + tools::createTextLinesPolyPolygon( + rState.mapModeTransform * ::basegfx::B2DPoint( ::vcl::unotools::b2DPointFromPoint(pAct->GetStartPoint()) + ::vcl::unotools::b2DSizeFromSize(aBaselineOffset)), aSize.getX(), - tools::createTextLineInfo( rVDev, + tools::createTextLineInfo( rVDev, rState )), rCanvas, rState ) ); @@ -2610,8 +2623,8 @@ namespace cppcanvas pAct->GetStyle(), aTmpMtf ); - createActions( aTmpMtf, - rFactoryParms, + createActions( aTmpMtf, + rFactoryParms, bSubsettableActions ); popState( rStates ); @@ -2627,7 +2640,7 @@ namespace cppcanvas if( rVDev.GetDigitLanguage()) convertToLocalizedNumerals ( sText,rVDev.GetDigitLanguage() ); - const USHORT nLen( pAct->GetLen() == (USHORT)STRING_LEN ? + const USHORT nLen( pAct->GetLen() == (USHORT)STRING_LEN ? pAct->GetText().Len() - pAct->GetIndex() : pAct->GetLen() ); // #i70897# Nothing to do, actually... @@ -2641,7 +2654,7 @@ namespace cppcanvas // to every logical character. ::boost::scoped_array< sal_Int32 > pDXArray( new sal_Int32[nLen] ); - rVDev.GetTextArray( pAct->GetText(), pDXArray.get(), + rVDev.GetTextArray( pAct->GetText(), pDXArray.get(), pAct->GetIndex(), pAct->GetLen() ); const sal_Int32 nWidthDifference( pAct->GetWidth() - pDXArray[ nLen-1 ] ); @@ -2660,9 +2673,9 @@ namespace cppcanvas } createTextAction( - pAct->GetPoint(), + pAct->GetPoint(), sText, - pAct->GetIndex(), + pAct->GetIndex(), pAct->GetLen() == (USHORT)STRING_LEN ? pAct->GetText().Len() - pAct->GetIndex() : pAct->GetLen(), pDXArray.get(), rFactoryParms, @@ -2711,8 +2724,8 @@ namespace cppcanvas mbRet &= rAction.mpAction->render( maTransformation ); } - void operator()( const ::cppcanvas::internal::ImplRenderer::MtfAction& rAction, - const Action::Subset& rSubset ) + void operator()( const ::cppcanvas::internal::ImplRenderer::MtfAction& rAction, + const Action::Subset& rSubset ) { // ANDing the result. We want to fail if at least // one action failed. @@ -2721,8 +2734,8 @@ namespace cppcanvas } private: - ::basegfx::B2DHomMatrix maTransformation; - bool mbRet; + ::basegfx::B2DHomMatrix maTransformation; + bool mbRet; }; class AreaQuery @@ -2744,21 +2757,21 @@ namespace cppcanvas maBounds.expand( rAction.mpAction->getBounds( maTransformation ) ); } - void operator()( const ::cppcanvas::internal::ImplRenderer::MtfAction& rAction, - const Action::Subset& rSubset ) + void operator()( const ::cppcanvas::internal::ImplRenderer::MtfAction& rAction, + const Action::Subset& rSubset ) { maBounds.expand( rAction.mpAction->getBounds( maTransformation, rSubset ) ); } ::basegfx::B2DRange getBounds() const - { + { return maBounds; } private: - ::basegfx::B2DHomMatrix maTransformation; - ::basegfx::B2DRange maBounds; + ::basegfx::B2DHomMatrix maTransformation; + ::basegfx::B2DRange maBounds; }; // Doing that via inline class. Compilers tend to not inline free @@ -2768,9 +2781,9 @@ namespace cppcanvas bool operator()( const ::cppcanvas::internal::ImplRenderer::MtfAction& rLHS, const ::cppcanvas::internal::ImplRenderer::MtfAction& rRHS ) { - const sal_Int32 nLHSCount( rLHS.mpAction ? + const sal_Int32 nLHSCount( rLHS.mpAction ? rLHS.mpAction->getActionCount() : 0 ); - const sal_Int32 nRHSCount( rRHS.mpAction ? + const sal_Int32 nRHSCount( rRHS.mpAction ? rRHS.mpAction->getActionCount() : 0 ); // compare end of action range, to have an action selected @@ -2787,15 +2800,15 @@ namespace cppcanvas Functor to call for each element of the subset range. Must provide the following method signatures: bool result() (returning false if operation failed) - + */ - template< typename Functor > bool - forSubsetRange( Functor& rFunctor, - ImplRenderer::ActionVector::const_iterator aRangeBegin, - ImplRenderer::ActionVector::const_iterator aRangeEnd, - sal_Int32 nStartIndex, - sal_Int32 nEndIndex, - const ImplRenderer::ActionVector::const_iterator& rEnd ) + template< typename Functor > bool + forSubsetRange( Functor& rFunctor, + ImplRenderer::ActionVector::const_iterator aRangeBegin, + ImplRenderer::ActionVector::const_iterator aRangeEnd, + sal_Int32 nStartIndex, + sal_Int32 nEndIndex, + const ImplRenderer::ActionVector::const_iterator& rEnd ) { if( aRangeBegin == aRangeEnd ) { @@ -2814,7 +2827,7 @@ namespace cppcanvas else { // more than one action. - + // render partial first, full intermediate, and // partial last action Action::Subset aSubset; @@ -2837,23 +2850,23 @@ namespace cppcanvas if( aRangeEnd == rEnd || aRangeEnd->mnOrigIndex > nEndIndex ) { - // aRangeEnd denotes end of action vector, - // + // aRangeEnd denotes end of action vector, + // // or - // + // // nEndIndex references something _after_ - // aRangeBegin, but _before_ aRangeEnd - // + // aRangeBegin, but _before_ aRangeEnd + // // either way: no partial action left return rFunctor.result(); } aSubset.mnSubsetBegin = 0; aSubset.mnSubsetEnd = nEndIndex - aRangeEnd->mnOrigIndex; - + ENSURE_OR_RETURN_FALSE( aSubset.mnSubsetBegin >= 0 && aSubset.mnSubsetEnd >= 0, "ImplRenderer::forSubsetRange(): Invalid indices" ); - + rFunctor( *aRangeEnd, aSubset ); } @@ -2861,10 +2874,10 @@ namespace cppcanvas } } - bool ImplRenderer::getSubsetIndices( sal_Int32& io_rStartIndex, - sal_Int32& io_rEndIndex, - ActionVector::const_iterator& o_rRangeBegin, - ActionVector::const_iterator& o_rRangeEnd ) const + bool ImplRenderer::getSubsetIndices( sal_Int32& io_rStartIndex, + sal_Int32& io_rEndIndex, + ActionVector::const_iterator& o_rRangeBegin, + ActionVector::const_iterator& o_rRangeEnd ) const { ENSURE_OR_RETURN_FALSE( io_rStartIndex<=io_rEndIndex, "ImplRenderer::getSubsetIndices(): invalid action range" ); @@ -2889,7 +2902,7 @@ namespace cppcanvas // empty range, don't render anything. The second // condition e.g. happens if the requested range lies // fully before or behind the valid action indices. - return false; + return false; } @@ -2905,16 +2918,16 @@ namespace cppcanvas o_rRangeEnd = ::std::lower_bound( aBegin, aEnd, MtfAction( ActionSharedPtr(), io_rEndIndex ), UpperBoundActionIndexComparator() ); - return true; + return true; } // Public methods // ==================================================================== - ImplRenderer::ImplRenderer( const CanvasSharedPtr& rCanvas, - const GDIMetaFile& rMtf, - const Parameters& rParams ) : + ImplRenderer::ImplRenderer( const CanvasSharedPtr& rCanvas, + const GDIMetaFile& rMtf, + const Parameters& rParams ) : CanvasGraphicHelper( rCanvas ), maActions() { @@ -2935,7 +2948,7 @@ namespace cppcanvas return; } - VectorOfOutDevStates aStateStack; + VectorOfOutDevStates aStateStack; VirtualDevice aVDev; aVDev.EnableOutput( FALSE ); @@ -3008,7 +3021,7 @@ namespace cppcanvas rParams.maFontProportion.isValid() ) { ::cppcanvas::internal::OutDevState& rState = getState( aStateStack ); - + rState.xFont = createFont( rState.fontRotation, ::Font(), // default font aParms ); @@ -3027,13 +3040,13 @@ namespace cppcanvas // in // createActions! aParms, - true // TODO(P1): make subsettability configurable + true // TODO(P1): make subsettability configurable ); } - ImplRenderer::ImplRenderer( const CanvasSharedPtr& rCanvas, - const BitmapEx& rBmpEx, - const Parameters& rParams ) : + ImplRenderer::ImplRenderer( const CanvasSharedPtr& rCanvas, + const BitmapEx& rBmpEx, + const Parameters& rParams ) : CanvasGraphicHelper( rCanvas ), maActions() { @@ -3071,7 +3084,7 @@ namespace cppcanvas // create a single action for the provided BitmapEx maActions.push_back( MtfAction( - BitmapActionFactory::createBitmapAction( + BitmapActionFactory::createBitmapAction( rBmpEx, ::basegfx::B2DPoint(), rCanvas, @@ -3083,8 +3096,8 @@ namespace cppcanvas { } - bool ImplRenderer::drawSubset( sal_Int32 nStartIndex, - sal_Int32 nEndIndex ) const + bool ImplRenderer::drawSubset( sal_Int32 nStartIndex, + sal_Int32 nEndIndex ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::ImplRenderer::drawSubset()" ); @@ -3103,17 +3116,17 @@ namespace cppcanvas // might also end right at the start of the referenced // action, such that zero of that action needs to be // rendered). - + // render subset of actions // ======================== ::basegfx::B2DHomMatrix aMatrix; - ::canvas::tools::getRenderStateTransform( aMatrix, + ::canvas::tools::getRenderStateTransform( aMatrix, getRenderState() ); ActionRenderer aRenderer( aMatrix ); - + return forSubsetRange( aRenderer, aRangeBegin, aRangeEnd, @@ -3126,15 +3139,15 @@ namespace cppcanvas OSL_ENSURE( false, rtl::OUStringToOString( comphelper::anyToString( cppu::getCaughtException() ), - RTL_TEXTENCODING_UTF8 ).getStr() ); + RTL_TEXTENCODING_UTF8 ).getStr() ); // convert error to return value return false; } } - ::basegfx::B2DRange ImplRenderer::getSubsetArea( sal_Int32 nStartIndex, - sal_Int32 nEndIndex ) const + ::basegfx::B2DRange ImplRenderer::getSubsetArea( sal_Int32 nStartIndex, + sal_Int32 nEndIndex ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::ImplRenderer::getSubsetArea()" ); @@ -3151,13 +3164,13 @@ namespace cppcanvas // might also end right at the start of the referenced // action, such that zero of that action needs to be // queried). - + // query bounds for subset of actions // ================================== ::basegfx::B2DHomMatrix aMatrix; - ::canvas::tools::getRenderStateTransform( aMatrix, + ::canvas::tools::getRenderStateTransform( aMatrix, getRenderState() ); AreaQuery aQuery( aMatrix ); @@ -3176,7 +3189,7 @@ namespace cppcanvas RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::ImplRenderer::draw()" ); ::basegfx::B2DHomMatrix aMatrix; - ::canvas::tools::getRenderStateTransform( aMatrix, + ::canvas::tools::getRenderStateTransform( aMatrix, getRenderState() ); try @@ -3188,7 +3201,7 @@ namespace cppcanvas OSL_ENSURE( false, rtl::OUStringToOString( comphelper::anyToString( cppu::getCaughtException() ), - RTL_TEXTENCODING_UTF8 ).getStr() ); + RTL_TEXTENCODING_UTF8 ).getStr() ); return false; } diff --git a/cppcanvas/source/mtfrenderer/lineaction.cxx b/cppcanvas/source/mtfrenderer/lineaction.cxx index 7639fe352511..064d4e57f81b 100644 --- a/cppcanvas/source/mtfrenderer/lineaction.cxx +++ b/cppcanvas/source/mtfrenderer/lineaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -52,8 +52,8 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { namespace @@ -62,29 +62,29 @@ namespace cppcanvas { public: LineAction( const ::basegfx::B2DPoint&, - const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState& ); + const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState& ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; private: ::basegfx::B2DPoint maStartPoint; ::basegfx::B2DPoint maEndPoint; - CanvasSharedPtr mpCanvas; - rendering::RenderState maState; + CanvasSharedPtr mpCanvas; + rendering::RenderState maState; }; - LineAction::LineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DPoint& rEndPoint, + LineAction::LineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DPoint& rEndPoint, const CanvasSharedPtr& rCanvas, const OutDevState& rState ) : maStartPoint( rStartPoint ), @@ -104,7 +104,7 @@ namespace cppcanvas rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - mpCanvas->getUNOCanvas()->drawLine( ::basegfx::unotools::point2DFromB2DPoint(maStartPoint), + mpCanvas->getUNOCanvas()->drawLine( ::basegfx::unotools::point2DFromB2DPoint(maStartPoint), ::basegfx::unotools::point2DFromB2DPoint(maEndPoint), mpCanvas->getViewState(), aLocalState ); @@ -112,8 +112,8 @@ namespace cppcanvas return true; } - bool LineAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool LineAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // line only contains a single action, fail if subset // requests different range @@ -128,15 +128,15 @@ namespace cppcanvas { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - + return tools::calcDevicePixelBounds( ::basegfx::B2DRange( maStartPoint, maEndPoint ), mpCanvas->getViewState(), aLocalState ); } - ::basegfx::B2DRange LineAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange LineAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // line only contains a single action, empty bounds // if subset requests different range @@ -153,17 +153,17 @@ namespace cppcanvas } } - ActionSharedPtr LineActionFactory::createLineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DPoint& rEndPoint, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) + ActionSharedPtr LineActionFactory::createLineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DPoint& rEndPoint, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) { return ActionSharedPtr( new LineAction( rStartPoint, - rEndPoint, - rCanvas, + rEndPoint, + rCanvas, rState) ); } - + } } diff --git a/cppcanvas/source/mtfrenderer/lineaction.hxx b/cppcanvas/source/mtfrenderer/lineaction.hxx index 810c8cb4fe03..04186be8d8bf 100644 --- a/cppcanvas/source/mtfrenderer/lineaction.hxx +++ b/cppcanvas/source/mtfrenderer/lineaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -39,12 +39,12 @@ namespace basegfx { /* Definition of internal::LineActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { - struct OutDevState; - + struct OutDevState; + /** Creates encapsulated converters between GDIMetaFile and XCanvas. The Canvas argument is deliberately placed at the constructor, to force reconstruction of this object for a @@ -57,9 +57,9 @@ namespace cppcanvas public: /// Plain hair line from point 1 to point 2 static ActionSharedPtr createLineAction( const ::basegfx::B2DPoint&, - const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState& ); + const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState& ); private: // static factory, disable big four @@ -68,7 +68,7 @@ namespace cppcanvas LineActionFactory(const LineActionFactory&); LineActionFactory& operator=( const LineActionFactory& ); }; - } + } } #endif /* _CPPCANVAS_LINEACTION_HXX */ diff --git a/cppcanvas/source/mtfrenderer/mtftools.cxx b/cppcanvas/source/mtfrenderer/mtftools.cxx index 6633f29ed87d..acc67716bd73 100644 --- a/cppcanvas/source/mtfrenderer/mtftools.cxx +++ b/cppcanvas/source/mtfrenderer/mtftools.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -59,17 +59,17 @@ namespace cppcanvas { namespace tools { - void initRenderState( rendering::RenderState& renderState, - const ::cppcanvas::internal::OutDevState& outdevState ) + void initRenderState( rendering::RenderState& renderState, + const ::cppcanvas::internal::OutDevState& outdevState ) { ::canvas::tools::initRenderState( renderState ); - ::canvas::tools::setRenderStateTransform( renderState, + ::canvas::tools::setRenderStateTransform( renderState, outdevState.transform ); renderState.Clip = outdevState.xClipPoly; } - ::Size getBaselineOffset( const ::cppcanvas::internal::OutDevState& outdevState, - const VirtualDevice& rVDev ) + ::Size getBaselineOffset( const ::cppcanvas::internal::OutDevState& outdevState, + const VirtualDevice& rVDev ) { const ::FontMetric& aMetric = rVDev.GetFontMetric(); @@ -95,8 +95,8 @@ namespace cppcanvas } } - ::basegfx::B2DHomMatrix& calcLogic2PixelLinearTransform( ::basegfx::B2DHomMatrix& o_rMatrix, - const VirtualDevice& rVDev ) + ::basegfx::B2DHomMatrix& calcLogic2PixelLinearTransform( ::basegfx::B2DHomMatrix& o_rMatrix, + const VirtualDevice& rVDev ) { // select size value in the middle of the available range, // to have headroom both when map mode scales up, and when @@ -113,15 +113,15 @@ namespace cppcanvas return o_rMatrix; } - ::basegfx::B2DHomMatrix& calcLogic2PixelAffineTransform( ::basegfx::B2DHomMatrix& o_rMatrix, - const VirtualDevice& rVDev ) + ::basegfx::B2DHomMatrix& calcLogic2PixelAffineTransform( ::basegfx::B2DHomMatrix& o_rMatrix, + const VirtualDevice& rVDev ) { // retrieves scale calcLogic2PixelLinearTransform(o_rMatrix, rVDev); // translate according to curr map mode/pref map mode offset const ::Point aEmptyPoint; - const ::Point& rTranslatedPoint( + const ::Point& rTranslatedPoint( rVDev.LogicToPixel( aEmptyPoint )); o_rMatrix.translate(rTranslatedPoint.X(), @@ -130,32 +130,32 @@ namespace cppcanvas return o_rMatrix; } - bool modifyClip( rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DPoint& rOffset, - const ::basegfx::B2DVector* pScaling, + bool modifyClip( rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DPoint& rOffset, + const ::basegfx::B2DVector* pScaling, const double* pRotation ) { const ::Point aEmptyPoint; const bool bOffsetting( !rOffset.equalZero() ); - const bool bScaling( pScaling && - pScaling->getX() != 1.0 && + const bool bScaling( pScaling && + pScaling->getX() != 1.0 && pScaling->getY() != 1.0 ); const bool bRotation( pRotation && *pRotation != 0.0 ); if( !bOffsetting && !bScaling && !bRotation ) return false; // nothing to do - + if( rOutdevState.clip.count() ) { // general polygon case ::basegfx::B2DPolyPolygon aLocalClip( rOutdevState.clip ); - ::basegfx::B2DHomMatrix aTransform; - + ::basegfx::B2DHomMatrix aTransform; + if( bOffsetting ) aTransform.translate( -rOffset.getX(), -rOffset.getY() ); @@ -166,7 +166,7 @@ namespace cppcanvas aTransform.rotate( - *pRotation ); aLocalClip.transform( aTransform ); - + o_rRenderState.Clip = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), aLocalClip ); @@ -178,20 +178,20 @@ namespace cppcanvas // simple rect case const ::Rectangle aLocalClipRect( rOutdevState.clipRect ); - + if( bRotation ) { // rotation involved - convert to polygon first, // then transform that - ::basegfx::B2DPolygon aLocalClip( - ::basegfx::tools::createPolygonFromRect( - ::basegfx::B2DRectangle( + ::basegfx::B2DPolygon aLocalClip( + ::basegfx::tools::createPolygonFromRect( + ::basegfx::B2DRectangle( (double)(aLocalClipRect.Left()), (double)(aLocalClipRect.Top()), (double)(aLocalClipRect.Right()), (double)(aLocalClipRect.Bottom()) ) ) ); ::basegfx::B2DHomMatrix aTransform; - + if( bOffsetting ) aTransform.translate( -rOffset.getX(), -rOffset.getY() ); @@ -213,8 +213,8 @@ namespace cppcanvas o_rRenderState.Clip = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( - ::basegfx::B2DRectangle( + ::basegfx::tools::createPolygonFromRect( + ::basegfx::B2DRectangle( (double)(aLocalClipRect.Left() - rOffset.getX())/pScaling->getX(), (double)(aLocalClipRect.Top() - rOffset.getY())/pScaling->getY(), (double)(aLocalClipRect.Right() - rOffset.getX())/pScaling->getX(), @@ -227,7 +227,7 @@ namespace cppcanvas o_rRenderState.Clip = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( ::basegfx::B2DRectangle( aLocalClipRect.Left() - rOffset.getX(), aLocalClipRect.Top() - rOffset.getY(), aLocalClipRect.Right() - rOffset.getX(), @@ -241,31 +241,31 @@ namespace cppcanvas return false; } - bool modifyClip( rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::Point& rOffset, - const ::basegfx::B2DVector* pScaling, + bool modifyClip( rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::Point& rOffset, + const ::basegfx::B2DVector* pScaling, const double* pRotation ) { - return modifyClip( o_rRenderState, - rOutdevState, - rCanvas, - ::basegfx::B2DPoint( rOffset.X(), - rOffset.Y() ), + return modifyClip( o_rRenderState, + rOutdevState, + rCanvas, + ::basegfx::B2DPoint( rOffset.X(), + rOffset.Y() ), pScaling, pRotation ); } - bool modifyClip( rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DHomMatrix& rTransform ) + bool modifyClip( rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DHomMatrix& rTransform ) { if( !rTransform.isIdentity() || !rTransform.isInvertible() ) return false; // nothing to do - + ::basegfx::B2DPolyPolygon aLocalClip; if( rOutdevState.clip.count() ) @@ -277,8 +277,8 @@ namespace cppcanvas const ::Rectangle aLocalClipRect( rOutdevState.clipRect ); aLocalClip = ::basegfx::B2DPolyPolygon( - ::basegfx::tools::createPolygonFromRect( - ::basegfx::B2DRectangle( + ::basegfx::tools::createPolygonFromRect( + ::basegfx::B2DRectangle( aLocalClipRect.Left(), aLocalClipRect.Top(), aLocalClipRect.Right(), @@ -304,15 +304,15 @@ namespace cppcanvas } // create overline/underline/strikeout line info struct - TextLineInfo createTextLineInfo( const ::VirtualDevice& rVDev, - const ::cppcanvas::internal::OutDevState& rState ) + TextLineInfo createTextLineInfo( const ::VirtualDevice& rVDev, + const ::cppcanvas::internal::OutDevState& rState ) { const BOOL bOldMode( rVDev.IsMapModeEnabled() ); // #i68512# Force metric regeneration with mapmode enabled // (prolly OutDev bug) rVDev.GetFontMetric(); - + // will restore map mode below const_cast< ::VirtualDevice& >(rVDev).EnableMapMode( FALSE ); @@ -337,39 +337,39 @@ namespace cppcanvas { void appendRect( ::basegfx::B2DPolyPolygon& o_rPoly, const ::basegfx::B2DPoint& rStartPos, - const double nX1, - const double nY1, - const double nX2, - const double nY2 ) + const double nX1, + const double nY1, + const double nX2, + const double nY2 ) { const double x( rStartPos.getX() ); const double y( rStartPos.getY() ); o_rPoly.append( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( ::basegfx::B2DRectangle( x + nX1, y + nY1, x + nX2, y + nY2 ) ) ); } void appendRect( ::basegfx::B2DPolyPolygon& o_rPoly, - const double nX1, - const double nY1, - const double nX2, - const double nY2 ) + const double nX1, + const double nY1, + const double nX2, + const double nY2 ) { o_rPoly.append( - ::basegfx::tools::createPolygonFromRect( + ::basegfx::tools::createPolygonFromRect( ::basegfx::B2DRectangle( nX1, nY1, nX2, nY2 ) ) ); } - void appendDashes( ::basegfx::B2DPolyPolygon& o_rPoly, - const double nX, - const double nY, - const double nLineWidth, - const double nLineHeight, - const double nDashWidth, - const double nDashSkip ) + void appendDashes( ::basegfx::B2DPolyPolygon& o_rPoly, + const double nX, + const double nY, + const double nLineWidth, + const double nLineHeight, + const double nDashWidth, + const double nDashSkip ) { - const sal_Int32 nNumLoops( + const sal_Int32 nNumLoops( static_cast< sal_Int32 >( ::std::max( 1.0, nLineWidth / nDashSkip ) + .5) ); @@ -378,7 +378,7 @@ namespace cppcanvas for( sal_Int32 i=0; i<nNumLoops; ++i ) { appendRect( o_rPoly, - x, nY, + x, nY, x + nDashWidth, nY + nLineHeight ); x += nDashSkip; @@ -389,15 +389,15 @@ namespace cppcanvas // create line actions for text such as underline and // strikeout ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const ::basegfx::B2DPoint rStartPos, - const double& rLineWidth, - const TextLineInfo& rTextLineInfo ) + const double& rLineWidth, + const TextLineInfo& rTextLineInfo ) { // fill the polypolygon with all text lines ::basegfx::B2DPolyPolygon aTextLinesPolyPoly; switch( rTextLineInfo.mnOverlineStyle ) { - case UNDERLINE_NONE: // nothing to do + case UNDERLINE_NONE: // nothing to do // FALLTHROUGH intended case UNDERLINE_DONTKNOW: break; @@ -502,7 +502,7 @@ namespace cppcanvas switch( rTextLineInfo.mnUnderlineStyle ) { - case UNDERLINE_NONE: // nothing to do + case UNDERLINE_NONE: // nothing to do // FALLTHROUGH intended case UNDERLINE_DONTKNOW: break; @@ -512,11 +512,11 @@ namespace cppcanvas case UNDERLINE_WAVE: // TODO(F3): NYI // FALLTHROUGH intended case UNDERLINE_SINGLE: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnUnderlineOffset, + rTextLineInfo.mnUnderlineOffset, rLineWidth, rTextLineInfo.mnUnderlineOffset + rTextLineInfo.mnLineHeight ); break; @@ -534,11 +534,11 @@ namespace cppcanvas case UNDERLINE_BOLDWAVE: // TODO(F3): NYI // FALLTHROUGH intended case UNDERLINE_BOLD: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnUnderlineOffset, + rTextLineInfo.mnUnderlineOffset, rLineWidth, rTextLineInfo.mnUnderlineOffset + 2*rTextLineInfo.mnLineHeight ); break; @@ -546,19 +546,19 @@ namespace cppcanvas case UNDERLINE_DOUBLEWAVE: // TODO(F3): NYI // FALLTHROUGH intended case UNDERLINE_DOUBLE: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnUnderlineOffset - rTextLineInfo.mnLineHeight, + rTextLineInfo.mnUnderlineOffset - rTextLineInfo.mnLineHeight, rLineWidth, rTextLineInfo.mnUnderlineOffset ); - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnUnderlineOffset + 2*rTextLineInfo.mnLineHeight, + rTextLineInfo.mnUnderlineOffset + 2*rTextLineInfo.mnLineHeight, rLineWidth, rTextLineInfo.mnUnderlineOffset + 3*rTextLineInfo.mnLineHeight ); break; @@ -566,37 +566,37 @@ namespace cppcanvas case UNDERLINE_DASHDOTDOT: // TODO(F3): NYI // FALLTHROUGH intended case UNDERLINE_DOTTED: - appendDashes( + appendDashes( aTextLinesPolyPoly, rStartPos.getX(), rStartPos.getY() + rTextLineInfo.mnUnderlineOffset, rLineWidth, rTextLineInfo.mnLineHeight, - rTextLineInfo.mnLineHeight, + rTextLineInfo.mnLineHeight, 2*rTextLineInfo.mnLineHeight ); break; case UNDERLINE_DASHDOT: // TODO(F3): NYI // FALLTHROUGH intended case UNDERLINE_DASH: - appendDashes( + appendDashes( aTextLinesPolyPoly, rStartPos.getX(), rStartPos.getY() + rTextLineInfo.mnUnderlineOffset, rLineWidth, rTextLineInfo.mnLineHeight, - 3*rTextLineInfo.mnLineHeight, + 3*rTextLineInfo.mnLineHeight, 6*rTextLineInfo.mnLineHeight ); break; case UNDERLINE_LONGDASH: - appendDashes( + appendDashes( aTextLinesPolyPoly, rStartPos.getX(), rStartPos.getY() + rTextLineInfo.mnUnderlineOffset, rLineWidth, rTextLineInfo.mnLineHeight, - 6*rTextLineInfo.mnLineHeight, + 6*rTextLineInfo.mnLineHeight, 12*rTextLineInfo.mnLineHeight ); break; @@ -618,39 +618,39 @@ namespace cppcanvas break; case STRIKEOUT_SINGLE: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnStrikeoutOffset, + rTextLineInfo.mnStrikeoutOffset, rLineWidth, rTextLineInfo.mnStrikeoutOffset + rTextLineInfo.mnLineHeight ); break; case STRIKEOUT_BOLD: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnStrikeoutOffset, + rTextLineInfo.mnStrikeoutOffset, rLineWidth, rTextLineInfo.mnStrikeoutOffset + 2*rTextLineInfo.mnLineHeight ); break; case STRIKEOUT_DOUBLE: - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnStrikeoutOffset - rTextLineInfo.mnLineHeight, + rTextLineInfo.mnStrikeoutOffset - rTextLineInfo.mnLineHeight, rLineWidth, rTextLineInfo.mnStrikeoutOffset ); - appendRect( + appendRect( aTextLinesPolyPoly, rStartPos, 0, - rTextLineInfo.mnStrikeoutOffset + 2*rTextLineInfo.mnLineHeight, + rTextLineInfo.mnStrikeoutOffset + 2*rTextLineInfo.mnLineHeight, rLineWidth, rTextLineInfo.mnStrikeoutOffset + 3*rTextLineInfo.mnLineHeight ); break; @@ -663,28 +663,28 @@ namespace cppcanvas return aTextLinesPolyPoly; } - ::basegfx::B2DRange calcDevicePixelBounds( const ::basegfx::B2DRange& rBounds, - const rendering::ViewState& viewState, - const rendering::RenderState& renderState ) + ::basegfx::B2DRange calcDevicePixelBounds( const ::basegfx::B2DRange& rBounds, + const rendering::ViewState& viewState, + const rendering::RenderState& renderState ) { ::basegfx::B2DHomMatrix aTransform; ::canvas::tools::mergeViewAndRenderTransform( aTransform, viewState, renderState ); - + ::basegfx::B2DRange aTransformedBounds; return ::canvas::tools::calcTransformedRectBounds( aTransformedBounds, - rBounds, + rBounds, aTransform ); } // create line actions for text such as underline and // strikeout - ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const double& rStartOffset, - const double& rLineWidth, - const TextLineInfo& rTextLineInfo ) + ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const double& rStartOffset, + const double& rLineWidth, + const TextLineInfo& rTextLineInfo ) { - return createTextLinesPolyPolygon( + return createTextLinesPolyPolygon( ::basegfx::B2DPoint( rStartOffset, 0.0 ), rLineWidth, diff --git a/cppcanvas/source/mtfrenderer/mtftools.hxx b/cppcanvas/source/mtfrenderer/mtftools.hxx index 8d466f1d9e7e..7dfc306f6868 100644 --- a/cppcanvas/source/mtfrenderer/mtftools.hxx +++ b/cppcanvas/source/mtfrenderer/mtftools.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -42,7 +42,7 @@ namespace basegfx class B2DVector; class B2DPoint; } -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { struct RenderState; } } } } @@ -63,8 +63,8 @@ namespace cppcanvas sets up the transformation and the clip from the OutDevState. */ - void initRenderState( ::com::sun::star::rendering::RenderState& renderState, - const ::cppcanvas::internal::OutDevState& outdevState ); + void initRenderState( ::com::sun::star::rendering::RenderState& renderState, + const ::cppcanvas::internal::OutDevState& outdevState ); /** Calc output offset relative to baseline @@ -80,8 +80,8 @@ namespace cppcanvas @param rVDev VDev to obtain font metrics from. */ - ::Size getBaselineOffset( const ::cppcanvas::internal::OutDevState& outdevState, - const VirtualDevice& rVDev ); + ::Size getBaselineOffset( const ::cppcanvas::internal::OutDevState& outdevState, + const VirtualDevice& rVDev ); /** Construct a matrix that converts from logical to pixel coordinate system. @@ -97,8 +97,8 @@ namespace cppcanvas @return the calculated transformation matrix. */ - ::basegfx::B2DHomMatrix& calcLogic2PixelLinearTransform( ::basegfx::B2DHomMatrix& o_rMatrix, - const VirtualDevice& rVDev ); + ::basegfx::B2DHomMatrix& calcLogic2PixelLinearTransform( ::basegfx::B2DHomMatrix& o_rMatrix, + const VirtualDevice& rVDev ); /** Construct a matrix that converts from logical to pixel coordinate system. @@ -112,8 +112,8 @@ namespace cppcanvas @return the calculated transformation matrix. */ - ::basegfx::B2DHomMatrix& calcLogic2PixelAffineTransform( ::basegfx::B2DHomMatrix& o_rMatrix, - const VirtualDevice& rVDev ); + ::basegfx::B2DHomMatrix& calcLogic2PixelAffineTransform( ::basegfx::B2DHomMatrix& o_rMatrix, + const VirtualDevice& rVDev ); /** This method modifies the clip, to cancel the given transformation. @@ -140,11 +140,11 @@ namespace cppcanvas @return true, if the clip has changed, false if not */ - bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::Point& rOffset, - const ::basegfx::B2DVector* pScaling, + bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::Point& rOffset, + const ::basegfx::B2DVector* pScaling, const double* pRotation ); /** This method modifies the clip, to cancel the given @@ -172,11 +172,11 @@ namespace cppcanvas @return true, if the clip has changed, false if not */ - bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DPoint& rOffset, - const ::basegfx::B2DVector* pScaling, + bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DPoint& rOffset, + const ::basegfx::B2DVector* pScaling, const double* pRotation ); /** This method modifies the clip, to cancel the given @@ -198,10 +198,10 @@ namespace cppcanvas @return true, if the clip has changed, false if not */ - bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, - const struct ::cppcanvas::internal::OutDevState& rOutdevState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DHomMatrix& rTransform ); + bool modifyClip( ::com::sun::star::rendering::RenderState& o_rRenderState, + const struct ::cppcanvas::internal::OutDevState& rOutdevState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DHomMatrix& rTransform ); struct TextLineInfo { @@ -210,9 +210,9 @@ namespace cppcanvas const double& rOverlineOffset, const double& rUnderlineOffset, const double& rStrikeoutOffset, - sal_Int8 nOverlineStyle, - sal_Int8 nUnderlineStyle, - sal_Int8 nStrikeoutStyle ) : + sal_Int8 nOverlineStyle, + sal_Int8 nUnderlineStyle, + sal_Int8 nStrikeoutStyle ) : mnLineHeight( rLineHeight ), mnOverlineHeight( rOverlineHeight ), mnOverlineOffset( rOverlineOffset ), @@ -224,27 +224,27 @@ namespace cppcanvas { } - double mnLineHeight; - double mnOverlineHeight; - double mnOverlineOffset; - double mnUnderlineOffset; - double mnStrikeoutOffset; - sal_Int8 mnOverlineStyle; - sal_Int8 mnUnderlineStyle; - sal_Int8 mnStrikeoutStyle; + double mnLineHeight; + double mnOverlineHeight; + double mnOverlineOffset; + double mnUnderlineOffset; + double mnStrikeoutOffset; + sal_Int8 mnOverlineStyle; + sal_Int8 mnUnderlineStyle; + sal_Int8 mnStrikeoutStyle; }; /** Transform given bounds to device coordinate system. */ - ::basegfx::B2DRange calcDevicePixelBounds( const ::basegfx::B2DRange& rBounds, - const ::com::sun::star::rendering::ViewState& viewState, - const ::com::sun::star::rendering::RenderState& renderState ); + ::basegfx::B2DRange calcDevicePixelBounds( const ::basegfx::B2DRange& rBounds, + const ::com::sun::star::rendering::ViewState& viewState, + const ::com::sun::star::rendering::RenderState& renderState ); /** Generate text underline/strikeout info struct from OutDev state. */ - TextLineInfo createTextLineInfo( const ::VirtualDevice& rVDev, - const ::cppcanvas::internal::OutDevState& rState ); + TextLineInfo createTextLineInfo( const ::VirtualDevice& rVDev, + const ::cppcanvas::internal::OutDevState& rState ); /** Create a poly-polygon representing the given combination of overline, strikeout and underline. @@ -258,13 +258,13 @@ namespace cppcanvas @param rTextLineInfo Common info needed for overline/strikeout/underline generation */ - ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const double& rStartOffset, - const double& rLineWidth, - const TextLineInfo& rTextLineInfo ); + ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const double& rStartOffset, + const double& rLineWidth, + const TextLineInfo& rTextLineInfo ); ::basegfx::B2DPolyPolygon createTextLinesPolyPolygon( const ::basegfx::B2DPoint rStartPos, - const double& rLineWidth, - const TextLineInfo& rTextLineInfo ); + const double& rLineWidth, + const TextLineInfo& rTextLineInfo ); } } diff --git a/cppcanvas/source/mtfrenderer/outdevstate.hxx b/cppcanvas/source/mtfrenderer/outdevstate.hxx index b0e79d2684dc..9e62b99a051d 100644 --- a/cppcanvas/source/mtfrenderer/outdevstate.hxx +++ b/cppcanvas/source/mtfrenderer/outdevstate.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -70,7 +70,7 @@ namespace cppcanvas textEmphasisMarkStyle(EMPHASISMARK_NONE), pushFlags(PUSH_ALL), textDirection(::com::sun::star::rendering::TextDirection::WEAK_LEFT_TO_RIGHT), - textAlignment(0), // TODO(Q2): Synchronize with implrenderer + textAlignment(0), // TODO(Q2): Synchronize with implrenderer // and possibly new rendering::TextAlignment textReliefStyle(RELIEF_NONE), textOverlineStyle(UNDERLINE_NONE), @@ -89,44 +89,44 @@ namespace cppcanvas { } - ::basegfx::B2DPolyPolygon clip; - ::Rectangle clipRect; - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D > xClipPoly; + ::basegfx::B2DPolyPolygon clip; + ::Rectangle clipRect; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D > xClipPoly; - ::com::sun::star::uno::Sequence< double > lineColor; - ::com::sun::star::uno::Sequence< double > fillColor; - ::com::sun::star::uno::Sequence< double > textColor; - ::com::sun::star::uno::Sequence< double > textFillColor; - ::com::sun::star::uno::Sequence< double > textLineColor; + ::com::sun::star::uno::Sequence< double > lineColor; + ::com::sun::star::uno::Sequence< double > fillColor; + ::com::sun::star::uno::Sequence< double > textColor; + ::com::sun::star::uno::Sequence< double > textFillColor; + ::com::sun::star::uno::Sequence< double > textLineColor; /** Current font. @attention Beware, this member can be NULL, and nevertheless text output is generated. */ - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > xFont; - ::basegfx::B2DHomMatrix transform; - ::basegfx::B2DHomMatrix mapModeTransform; - double fontRotation; - - sal_uInt16 textEmphasisMarkStyle; - sal_uInt16 pushFlags; - sal_Int8 textDirection; - sal_Int8 textAlignment; - sal_Int8 textReliefStyle; - sal_Int8 textOverlineStyle; - sal_Int8 textUnderlineStyle; - sal_Int8 textStrikeoutStyle; - TextAlign textReferencePoint; - - bool isTextOutlineModeSet; - bool isTextEffectShadowSet; - bool isTextWordUnderlineSet; - - bool isLineColorSet; - bool isFillColorSet; - bool isTextFillColorSet; - bool isTextLineColorSet; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > xFont; + ::basegfx::B2DHomMatrix transform; + ::basegfx::B2DHomMatrix mapModeTransform; + double fontRotation; + + sal_uInt16 textEmphasisMarkStyle; + sal_uInt16 pushFlags; + sal_Int8 textDirection; + sal_Int8 textAlignment; + sal_Int8 textReliefStyle; + sal_Int8 textOverlineStyle; + sal_Int8 textUnderlineStyle; + sal_Int8 textStrikeoutStyle; + TextAlign textReferencePoint; + + bool isTextOutlineModeSet; + bool isTextEffectShadowSet; + bool isTextWordUnderlineSet; + + bool isLineColorSet; + bool isFillColorSet; + bool isTextFillColorSet; + bool isTextLineColorSet; }; } } diff --git a/cppcanvas/source/mtfrenderer/pointaction.cxx b/cppcanvas/source/mtfrenderer/pointaction.cxx index 8a2edbdf35ba..77d7f826573c 100644 --- a/cppcanvas/source/mtfrenderer/pointaction.cxx +++ b/cppcanvas/source/mtfrenderer/pointaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -50,30 +50,30 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { namespace { class PointAction : public Action, private ::boost::noncopyable - { - public: - PointAction( const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState& ); - PointAction( const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState&, - const ::Color& ); + { + public: + PointAction( const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState& ); + PointAction( const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState&, + const ::Color& ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -82,14 +82,14 @@ namespace cppcanvas PointAction(const PointAction&); PointAction& operator = ( const PointAction& ); - ::basegfx::B2DPoint maPoint; - CanvasSharedPtr mpCanvas; - ::com::sun::star::rendering::RenderState maState; + ::basegfx::B2DPoint maPoint; + CanvasSharedPtr mpCanvas; + ::com::sun::star::rendering::RenderState maState; }; - PointAction::PointAction( const ::basegfx::B2DPoint& rPoint, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + PointAction::PointAction( const ::basegfx::B2DPoint& rPoint, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : maPoint( rPoint ), mpCanvas( rCanvas ), maState() @@ -98,16 +98,16 @@ namespace cppcanvas maState.DeviceColor = rState.lineColor; } - PointAction::PointAction( const ::basegfx::B2DPoint& rPoint, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::Color& rAltColor ) : + PointAction::PointAction( const ::basegfx::B2DPoint& rPoint, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::Color& rAltColor ) : maPoint( rPoint ), mpCanvas( rCanvas ), maState() { tools::initRenderState(maState,rState); - maState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( + maState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( rAltColor, rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() ); } @@ -120,15 +120,15 @@ namespace cppcanvas rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - mpCanvas->getUNOCanvas()->drawPoint( ::basegfx::unotools::point2DFromB2DPoint(maPoint), - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->drawPoint( ::basegfx::unotools::point2DFromB2DPoint(maPoint), + mpCanvas->getViewState(), aLocalState ); return true; } - bool PointAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool PointAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // point only contains a single action, fail if subset // requests different range @@ -139,11 +139,11 @@ namespace cppcanvas return render( rTransformation ); } - ::basegfx::B2DRange PointAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const + ::basegfx::B2DRange PointAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - + return tools::calcDevicePixelBounds( ::basegfx::B2DRange( maPoint.getX()-1, maPoint.getY()-1, maPoint.getX()+1, @@ -152,8 +152,8 @@ namespace cppcanvas aLocalState ); } - ::basegfx::B2DRange PointAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange PointAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // point only contains a single action, empty bounds // if subset requests different range @@ -170,17 +170,17 @@ namespace cppcanvas } } - ActionSharedPtr PointActionFactory::createPointAction( const ::basegfx::B2DPoint& rPoint, - const CanvasSharedPtr& rCanvas, + ActionSharedPtr PointActionFactory::createPointAction( const ::basegfx::B2DPoint& rPoint, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) { return ActionSharedPtr( new PointAction( rPoint, rCanvas, rState ) ); } - - ActionSharedPtr PointActionFactory::createPointAction( const ::basegfx::B2DPoint& rPoint, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::Color& rColor ) + + ActionSharedPtr PointActionFactory::createPointAction( const ::basegfx::B2DPoint& rPoint, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::Color& rColor ) { return ActionSharedPtr( new PointAction( rPoint, rCanvas, rState, rColor ) ); } diff --git a/cppcanvas/source/mtfrenderer/pointaction.hxx b/cppcanvas/source/mtfrenderer/pointaction.hxx index b17b1eea5a43..0c51965a0562 100644 --- a/cppcanvas/source/mtfrenderer/pointaction.hxx +++ b/cppcanvas/source/mtfrenderer/pointaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -39,8 +39,8 @@ namespace basegfx { /* Definition of internal::PointActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { struct OutDevState; @@ -53,18 +53,18 @@ namespace cppcanvas text layout) is Canvas-dependent. */ class PointActionFactory - { - public: + { + public: /// Point in current color - static ActionSharedPtr createPointAction( const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState& ); - + static ActionSharedPtr createPointAction( const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState& ); + /// Point in given color - static ActionSharedPtr createPointAction( const ::basegfx::B2DPoint&, - const CanvasSharedPtr&, - const OutDevState&, - const ::Color& ); + static ActionSharedPtr createPointAction( const ::basegfx::B2DPoint&, + const CanvasSharedPtr&, + const OutDevState&, + const ::Color& ); private: // static factory, disable big four @@ -73,7 +73,7 @@ namespace cppcanvas PointActionFactory(const PointActionFactory&); PointActionFactory& operator=( const PointActionFactory& ); }; - } + } } #endif /* _CPPCANVAS_POINTACTION_HXX */ diff --git a/cppcanvas/source/mtfrenderer/polypolyaction.cxx b/cppcanvas/source/mtfrenderer/polypolyaction.cxx index 1370db14fd0b..e0727b98bdc0 100644 --- a/cppcanvas/source/mtfrenderer/polypolyaction.cxx +++ b/cppcanvas/source/mtfrenderer/polypolyaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -54,33 +54,33 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { namespace { class PolyPolyAction : public CachedPrimitiveBase - { - public: - PolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, + { + public: + PolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, const OutDevState&, bool bFill, - bool bStroke ); - PolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, + bool bStroke ); + PolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, const OutDevState&, bool bFill, bool bStroke, - int nTransparency ); + int nTransparency ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -89,17 +89,17 @@ namespace cppcanvas virtual bool render( uno::Reference< rendering::XCachedPrimitive >& rCachedPrimitive, const ::basegfx::B2DHomMatrix& rTransformation ) const; - const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; - const ::basegfx::B2DRange maBounds; - const CanvasSharedPtr mpCanvas; + const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; + const ::basegfx::B2DRange maBounds; + const CanvasSharedPtr mpCanvas; // stroke color is now implicit: the maState.DeviceColor member - rendering::RenderState maState; - - uno::Sequence< double > maFillColor; + rendering::RenderState maState; + + uno::Sequence< double > maFillColor; }; - PolyPolyAction::PolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, + PolyPolyAction::PolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, const CanvasSharedPtr& rCanvas, const OutDevState& rState, bool bFill, @@ -115,12 +115,12 @@ namespace cppcanvas if( bFill ) maFillColor = rState.fillColor; - + if( bStroke ) maState.DeviceColor = rState.lineColor; } - PolyPolyAction::PolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, + PolyPolyAction::PolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, const CanvasSharedPtr& rCanvas, const OutDevState& rState, bool bFill, @@ -146,7 +146,7 @@ namespace cppcanvas // adapt fill color transparency maFillColor[3] = 1.0 - nTransparency / 100.0; } - + if( bStroke ) { maState.DeviceColor = rState.lineColor; @@ -171,13 +171,13 @@ namespace cppcanvas #ifdef SPECIAL_DEBUG aLocalState.Clip.clear(); - aLocalState.DeviceColor = + aLocalState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( mpCanvas->getUNOCanvas()->getDevice(), ::Color( 0x80FF0000 ) ); if( maState.Clip.is() ) - mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip, - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip, + mpCanvas->getViewState(), aLocalState ); aLocalState.DeviceColor = maState.DeviceColor; @@ -189,17 +189,17 @@ namespace cppcanvas // fillPolyPolygon() might throw const uno::Sequence< double > aTmpColor( aLocalState.DeviceColor ); aLocalState.DeviceColor = maFillColor; - - rCachedPrimitive = mpCanvas->getUNOCanvas()->fillPolyPolygon( mxPolyPoly, + + rCachedPrimitive = mpCanvas->getUNOCanvas()->fillPolyPolygon( mxPolyPoly, mpCanvas->getViewState(), aLocalState ); - + aLocalState.DeviceColor = aTmpColor; } - + if( aLocalState.DeviceColor.getLength() ) { - rCachedPrimitive = mpCanvas->getUNOCanvas()->drawPolyPolygon( mxPolyPoly, + rCachedPrimitive = mpCanvas->getUNOCanvas()->drawPolyPolygon( mxPolyPoly, mpCanvas->getViewState(), aLocalState ); } @@ -207,8 +207,8 @@ namespace cppcanvas return true; } - bool PolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool PolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -222,19 +222,19 @@ namespace cppcanvas return CachedPrimitiveBase::render( rTransformation ); } - ::basegfx::B2DRange PolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const + ::basegfx::B2DRange PolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - - return tools::calcDevicePixelBounds( + + return tools::calcDevicePixelBounds( maBounds, mpCanvas->getViewState(), aLocalState ); } - ::basegfx::B2DRange PolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange PolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -259,19 +259,19 @@ namespace cppcanvas // ------------------------------------------------------------------------------- class TexturedPolyPolyAction : public CachedPrimitiveBase - { - public: + { + public: TexturedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const rendering::Texture& rTexture ); + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const rendering::Texture& rTexture ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -280,19 +280,19 @@ namespace cppcanvas virtual bool render( uno::Reference< rendering::XCachedPrimitive >& rCachedPrimitive, const ::basegfx::B2DHomMatrix& rTransformation ) const; - const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; - const ::basegfx::B2DRectangle maBounds; - const CanvasSharedPtr mpCanvas; + const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; + const ::basegfx::B2DRectangle maBounds; + const CanvasSharedPtr mpCanvas; // stroke color is now implicit: the maState.DeviceColor member - rendering::RenderState maState; - const rendering::Texture maTexture; + rendering::RenderState maState; + const rendering::Texture maTexture; }; - TexturedPolyPolyAction::TexturedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const rendering::Texture& rTexture ) : + TexturedPolyPolyAction::TexturedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const rendering::Texture& rTexture ) : CachedPrimitiveBase( rCanvas, true ), mxPolyPoly( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), rPolyPoly) ), maBounds( ::basegfx::tools::getRange(rPolyPoly) ), @@ -314,16 +314,16 @@ namespace cppcanvas uno::Sequence< rendering::Texture > aSeq(1); aSeq[0] = maTexture; - - rCachedPrimitive = mpCanvas->getUNOCanvas()->fillTexturedPolyPolygon( mxPolyPoly, + + rCachedPrimitive = mpCanvas->getUNOCanvas()->fillTexturedPolyPolygon( mxPolyPoly, mpCanvas->getViewState(), aLocalState, aSeq ); return true; } - bool TexturedPolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool TexturedPolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -337,19 +337,19 @@ namespace cppcanvas return CachedPrimitiveBase::render( rTransformation ); } - ::basegfx::B2DRange TexturedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const + ::basegfx::B2DRange TexturedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - - return tools::calcDevicePixelBounds( + + return tools::calcDevicePixelBounds( maBounds, mpCanvas->getViewState(), aLocalState ); } - ::basegfx::B2DRange TexturedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange TexturedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -373,19 +373,19 @@ namespace cppcanvas // ------------------------------------------------------------------------------- class StrokedPolyPolyAction : public CachedPrimitiveBase - { - public: + { + public: StrokedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const rendering::StrokeAttributes& rStrokeAttributes ); + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const rendering::StrokeAttributes& rStrokeAttributes ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -394,17 +394,17 @@ namespace cppcanvas virtual bool render( uno::Reference< rendering::XCachedPrimitive >& rCachedPrimitive, const ::basegfx::B2DHomMatrix& rTransformation ) const; - const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; - const ::basegfx::B2DRectangle maBounds; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - const rendering::StrokeAttributes maStrokeAttributes; + const uno::Reference< rendering::XPolyPolygon2D > mxPolyPoly; + const ::basegfx::B2DRectangle maBounds; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + const rendering::StrokeAttributes maStrokeAttributes; }; - StrokedPolyPolyAction::StrokedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const rendering::StrokeAttributes& rStrokeAttributes ) : + StrokedPolyPolyAction::StrokedPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPolyPoly, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const rendering::StrokeAttributes& rStrokeAttributes ) : CachedPrimitiveBase( rCanvas, false ), mxPolyPoly( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), rPolyPoly) ), maBounds( ::basegfx::tools::getRange(rPolyPoly) ), @@ -425,15 +425,15 @@ namespace cppcanvas rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - rCachedPrimitive = mpCanvas->getUNOCanvas()->strokePolyPolygon( mxPolyPoly, + rCachedPrimitive = mpCanvas->getUNOCanvas()->strokePolyPolygon( mxPolyPoly, mpCanvas->getViewState(), aLocalState, maStrokeAttributes ); return true; } - bool StrokedPolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool StrokedPolyPolyAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -447,19 +447,19 @@ namespace cppcanvas return CachedPrimitiveBase::render( rTransformation ); } - ::basegfx::B2DRange StrokedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const + ::basegfx::B2DRange StrokedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - - return tools::calcDevicePixelBounds( + + return tools::calcDevicePixelBounds( maBounds, mpCanvas->getViewState(), aLocalState ); } - ::basegfx::B2DRange StrokedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange StrokedPolyPolyAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F1): Split up poly-polygon into polygons, or even // line segments, when subsets are requested. @@ -481,40 +481,40 @@ namespace cppcanvas } } - ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) + ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) { OSL_ENSURE( rState.isLineColorSet || rState.isFillColorSet, "PolyPolyActionFactory::createPolyPolyAction() with empty line and fill color" ); - return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, - rState.isFillColorSet, + return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, + rState.isFillColorSet, rState.isLineColorSet ) ); } - ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, + ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, + const CanvasSharedPtr& rCanvas, const OutDevState& rState, const rendering::Texture& rTexture ) { return ActionSharedPtr( new TexturedPolyPolyAction( rPoly, rCanvas, rState, rTexture ) ); } - ActionSharedPtr PolyPolyActionFactory::createLinePolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, + ActionSharedPtr PolyPolyActionFactory::createLinePolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) { OSL_ENSURE( rState.isLineColorSet, "PolyPolyActionFactory::createLinePolyPolyAction() called with empty line color" ); - return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, - false, + return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, + false, rState.isLineColorSet ) ); } - - ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, + + ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, const rendering::StrokeAttributes& rStrokeAttributes ) { OSL_ENSURE( rState.isLineColorSet, @@ -522,15 +522,15 @@ namespace cppcanvas return ActionSharedPtr( new StrokedPolyPolyAction( rPoly, rCanvas, rState, rStrokeAttributes ) ); } - ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, - const CanvasSharedPtr& rCanvas, + ActionSharedPtr PolyPolyActionFactory::createPolyPolyAction( const ::basegfx::B2DPolyPolygon& rPoly, + const CanvasSharedPtr& rCanvas, const OutDevState& rState, - int nTransparency ) + int nTransparency ) { OSL_ENSURE( rState.isLineColorSet || rState.isFillColorSet, "PolyPolyActionFactory::createPolyPolyAction() with empty line and fill color" ); - return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, - rState.isFillColorSet, + return ActionSharedPtr( new PolyPolyAction( rPoly, rCanvas, rState, + rState.isFillColorSet, rState.isLineColorSet, nTransparency ) ); } diff --git a/cppcanvas/source/mtfrenderer/polypolyaction.hxx b/cppcanvas/source/mtfrenderer/polypolyaction.hxx index a38ba92a8752..5422e944f76a 100644 --- a/cppcanvas/source/mtfrenderer/polypolyaction.hxx +++ b/cppcanvas/source/mtfrenderer/polypolyaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -45,8 +45,8 @@ namespace com { namespace sun { namespace star { namespace rendering /* Definition of internal::PolyPolyActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { struct OutDevState; @@ -59,35 +59,35 @@ namespace cppcanvas text layout) is Canvas-dependent. */ class PolyPolyActionFactory - { - public: + { + public: /// Create polygon, fill/stroke according to state - static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, - const OutDevState& ); + static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, + const OutDevState& ); /// Create texture-filled polygon - static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, + static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, const OutDevState&, - const ::com::sun::star::rendering::Texture& ); + const ::com::sun::star::rendering::Texture& ); /// Create line polygon (always stroked, not filled) - static ActionSharedPtr createLinePolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, - const OutDevState& ); + static ActionSharedPtr createLinePolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, + const OutDevState& ); /// Create stroked polygon - static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, + static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, const OutDevState&, - const ::com::sun::star::rendering::StrokeAttributes& ); + const ::com::sun::star::rendering::StrokeAttributes& ); /// For transparent painting of the given polygon (normally, we take the colors always opaque) - static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, - const CanvasSharedPtr&, + static ActionSharedPtr createPolyPolyAction( const ::basegfx::B2DPolyPolygon&, + const CanvasSharedPtr&, const OutDevState&, - int nTransparency ); + int nTransparency ); private: // static factory, disable big four @@ -96,7 +96,7 @@ namespace cppcanvas PolyPolyActionFactory(const PolyPolyActionFactory&); PolyPolyActionFactory& operator=( const PolyPolyActionFactory& ); }; - } + } } #endif /* _CPPCANVAS_POLYPOLYACTION_HXX */ diff --git a/cppcanvas/source/mtfrenderer/textaction.cxx b/cppcanvas/source/mtfrenderer/textaction.cxx index f9bf1e7da9dd..dd041b3da261 100644 --- a/cppcanvas/source/mtfrenderer/textaction.cxx +++ b/cppcanvas/source/mtfrenderer/textaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -72,10 +72,10 @@ namespace cppcanvas { namespace { - void init( rendering::RenderState& o_rRenderState, - const ::basegfx::B2DPoint& rStartPoint, - const OutDevState& rState, - const CanvasSharedPtr& rCanvas ) + void init( rendering::RenderState& o_rRenderState, + const ::basegfx::B2DPoint& rStartPoint, + const OutDevState& rState, + const CanvasSharedPtr& rCanvas ) { tools::initRenderState(o_rRenderState,rState); @@ -85,10 +85,10 @@ namespace cppcanvas // since this, opposed to the FontMatrix rotation // elsewhere, _does_ get incorporated into the render // state transform. - tools::modifyClip( o_rRenderState, - rState, - rCanvas, - rStartPoint, + tools::modifyClip( o_rRenderState, + rState, + rCanvas, + rStartPoint, NULL, &rState.fontRotation ); @@ -101,11 +101,11 @@ namespace cppcanvas o_rRenderState.DeviceColor = rState.textColor; } - void init( rendering::RenderState& o_rRenderState, - const ::basegfx::B2DPoint& rStartPoint, - const OutDevState& rState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DHomMatrix& rTextTransform ) + void init( rendering::RenderState& o_rRenderState, + const ::basegfx::B2DPoint& rStartPoint, + const OutDevState& rState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DHomMatrix& rTextTransform ) { init( o_rRenderState, rStartPoint, rState, rCanvas ); @@ -120,11 +120,11 @@ namespace cppcanvas rTextTransform ); } - void init( rendering::RenderState& o_rRenderState, - uno::Reference< rendering::XCanvasFont >& o_rFont, - const ::basegfx::B2DPoint& rStartPoint, - const OutDevState& rState, - const CanvasSharedPtr& rCanvas ) + void init( rendering::RenderState& o_rRenderState, + uno::Reference< rendering::XCanvasFont >& o_rFont, + const ::basegfx::B2DPoint& rStartPoint, + const OutDevState& rState, + const CanvasSharedPtr& rCanvas ) { // ensure that o_rFont is valid. It is possible that // text actions are generated without previously @@ -137,24 +137,24 @@ namespace cppcanvas geometry::Matrix2D aFontMatrix; ::canvas::tools::setIdentityMatrix2D( aFontMatrix ); - o_rFont = rCanvas->getUNOCanvas()->createFont( + o_rFont = rCanvas->getUNOCanvas()->createFont( aFontRequest, uno::Sequence< beans::PropertyValue >(), aFontMatrix ); } init( o_rRenderState, - rStartPoint, + rStartPoint, rState, rCanvas ); } - void init( rendering::RenderState& o_rRenderState, - uno::Reference< rendering::XCanvasFont >& o_rFont, - const ::basegfx::B2DPoint& rStartPoint, - const OutDevState& rState, - const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DHomMatrix& rTextTransform ) + void init( rendering::RenderState& o_rRenderState, + uno::Reference< rendering::XCanvasFont >& o_rFont, + const ::basegfx::B2DPoint& rStartPoint, + const OutDevState& rState, + const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DHomMatrix& rTextTransform ) { init( o_rRenderState, o_rFont, rStartPoint, rState, rCanvas ); @@ -169,25 +169,25 @@ namespace cppcanvas rTextTransform ); } - ::basegfx::B2DPolyPolygon textLinesFromLogicalOffsets( const uno::Sequence< double >& rOffsets, - const tools::TextLineInfo& rTextLineInfo ) + ::basegfx::B2DPolyPolygon textLinesFromLogicalOffsets( const uno::Sequence< double >& rOffsets, + const tools::TextLineInfo& rTextLineInfo ) { - return tools::createTextLinesPolyPolygon( - 0.0, + return tools::createTextLinesPolyPolygon( + 0.0, // extract character cell furthest to the right - *(::std::max_element( + *(::std::max_element( rOffsets.getConstArray(), - rOffsets.getConstArray() + rOffsets.getLength() )), + rOffsets.getConstArray() + rOffsets.getLength() )), rTextLineInfo ); } - uno::Sequence< double > setupDXArray( const sal_Int32* pCharWidths, - sal_Int32 nLen, + uno::Sequence< double > setupDXArray( const sal_Int32* pCharWidths, + sal_Int32 nLen, const OutDevState& rState ) { // convert character widths from logical units uno::Sequence< double > aCharWidthSeq( nLen ); - double* pOutputWidths( aCharWidthSeq.getArray() ); + double* pOutputWidths( aCharWidthSeq.getArray() ); // #143885# maintain (nearly) full precision of DX // array, by circumventing integer-based @@ -198,29 +198,29 @@ namespace cppcanvas // TODO(F2): use correct scale direction *pOutputWidths++ = *pCharWidths++ * nScale; } - + return aCharWidthSeq; } - uno::Sequence< double > setupDXArray( const ::String& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - VirtualDevice& rVDev, + uno::Sequence< double > setupDXArray( const ::String& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + VirtualDevice& rVDev, const OutDevState& rState ) { // no external DX array given, create one from given // string ::boost::scoped_array< sal_Int32 > pCharWidths( new sal_Int32[nLen] ); - rVDev.GetTextArray( rText, pCharWidths.get(), - static_cast<USHORT>(nStartPos), + rVDev.GetTextArray( rText, pCharWidths.get(), + static_cast<USHORT>(nStartPos), static_cast<USHORT>(nLen) ); return setupDXArray( pCharWidths.get(), nLen, rState ); } - ::basegfx::B2DPoint adaptStartPoint( const ::basegfx::B2DPoint& rStartPoint, - const OutDevState& rState, + ::basegfx::B2DPoint adaptStartPoint( const ::basegfx::B2DPoint& rStartPoint, + const OutDevState& rState, const uno::Sequence< double >& rOffsets ) { ::basegfx::B2DPoint aLocalPoint( rStartPoint ); @@ -241,27 +241,27 @@ namespace cppcanvas return aLocalPoint; } - + /** Perform common setup for array text actions This method creates the XTextLayout object and initializes it, e.g. with the logical advancements. */ - void initArrayAction( rendering::RenderState& o_rRenderState, - uno::Reference< rendering::XTextLayout >& o_rTextLayout, - const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix* pTextTransform ) + void initArrayAction( rendering::RenderState& o_rRenderState, + uno::Reference< rendering::XTextLayout >& o_rTextLayout, + const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix* pTextTransform ) { ENSURE_OR_THROW( rOffsets.getLength(), "::cppcanvas::internal::initArrayAction(): zero-length DX array" ); - const ::basegfx::B2DPoint aLocalStartPoint( + const ::basegfx::B2DPoint aLocalStartPoint( adaptStartPoint( rStartPoint, rState, rOffsets ) ); uno::Reference< rendering::XCanvasFont > xFont( rState.xFont ); @@ -271,9 +271,9 @@ namespace cppcanvas else init( o_rRenderState, xFont, aLocalStartPoint, rState, rCanvas ); - o_rTextLayout = xFont->createTextLayout( - rendering::StringContext( rText, nStartPos, nLen ), - rState.textDirection, + o_rTextLayout = xFont->createTextLayout( + rendering::StringContext( rText, nStartPos, nLen ), + rState.textDirection, 0 ); ENSURE_OR_THROW( o_rTextLayout.is(), @@ -282,31 +282,31 @@ namespace cppcanvas o_rTextLayout->applyLogicalAdvancements( rOffsets ); } - double getLineWidth( ::VirtualDevice& rVDev, - const OutDevState& rState, + double getLineWidth( ::VirtualDevice& rVDev, + const OutDevState& rState, const rendering::StringContext& rStringContext ) { // TODO(F2): use correct scale direction - const ::basegfx::B2DSize aSize( rVDev.GetTextWidth( rStringContext.Text, - static_cast<USHORT>(rStringContext.StartPosition), + const ::basegfx::B2DSize aSize( rVDev.GetTextWidth( rStringContext.Text, + static_cast<USHORT>(rStringContext.StartPosition), static_cast<USHORT>(rStringContext.Length) ), 0 ); return (rState.mapModeTransform * aSize).getX(); } - uno::Sequence< double > - calcSubsetOffsets( rendering::RenderState& io_rRenderState, - double& o_rMinPos, - double& o_rMaxPos, - const uno::Reference< rendering::XTextLayout >& rOrigTextLayout, - const ::cppcanvas::internal::Action::Subset& rSubset ) + uno::Sequence< double > + calcSubsetOffsets( rendering::RenderState& io_rRenderState, + double& o_rMinPos, + double& o_rMaxPos, + const uno::Reference< rendering::XTextLayout >& rOrigTextLayout, + const ::cppcanvas::internal::Action::Subset& rSubset ) { ENSURE_OR_THROW( rSubset.mnSubsetEnd > rSubset.mnSubsetBegin, "::cppcanvas::internal::calcSubsetOffsets(): invalid subset range range" ); uno::Sequence< double > aOrigOffsets( rOrigTextLayout->queryLogicalAdvancements() ); - const double* pOffsets( aOrigOffsets.getConstArray() ); + const double* pOffsets( aOrigOffsets.getConstArray() ); ENSURE_OR_THROW( aOrigOffsets.getLength() >= rSubset.mnSubsetEnd, "::cppcanvas::internal::calcSubsetOffsets(): invalid subset range range" ); @@ -332,11 +332,11 @@ namespace cppcanvas // starting with the second character (the first is // assumed to have output position 0), correct begin // iterator. - const double nMaxPos( - *(::std::max_element( pOffsets + (rSubset.mnSubsetBegin <= 0 ? + const double nMaxPos( + *(::std::max_element( pOffsets + (rSubset.mnSubsetBegin <= 0 ? 0 : rSubset.mnSubsetBegin-1), pOffsets + rSubset.mnSubsetEnd )) ); - + // adapt render state, to move text output to given offset // ------------------------------------------------------- @@ -367,10 +367,10 @@ namespace cppcanvas // reduce DX array to given substring // ---------------------------------- - - const sal_Int32 nNewElements( rSubset.mnSubsetEnd - rSubset.mnSubsetBegin ); + + const sal_Int32 nNewElements( rSubset.mnSubsetEnd - rSubset.mnSubsetBegin ); uno::Sequence< double > aAdaptedOffsets( nNewElements ); - double* pAdaptedOffsets( aAdaptedOffsets.getArray() ); + double* pAdaptedOffsets( aAdaptedOffsets.getArray() ); // move to new output position (subtract nMinPos, // which is the new '0' position), copy only the range @@ -379,7 +379,7 @@ namespace cppcanvas pOffsets + rSubset.mnSubsetEnd, pAdaptedOffsets, ::boost::bind( ::std::minus<double>(), - _1, + _1, nMinPos ) ); o_rMinPos = nMinPos; @@ -388,18 +388,18 @@ namespace cppcanvas return aAdaptedOffsets; } - uno::Reference< rendering::XTextLayout > - createSubsetLayout( const rendering::StringContext& rOrigContext, - const ::cppcanvas::internal::Action::Subset& rSubset, - const uno::Reference< rendering::XTextLayout >& rOrigTextLayout ) + uno::Reference< rendering::XTextLayout > + createSubsetLayout( const rendering::StringContext& rOrigContext, + const ::cppcanvas::internal::Action::Subset& rSubset, + const uno::Reference< rendering::XTextLayout >& rOrigTextLayout ) { // create temporary new text layout with subset string // --------------------------------------------------- - const sal_Int32 nNewStartPos( rOrigContext.StartPosition + ::std::min( + const sal_Int32 nNewStartPos( rOrigContext.StartPosition + ::std::min( rSubset.mnSubsetBegin, rOrigContext.Length-1 ) ); - const sal_Int32 nNewLength( ::std::max( - ::std::min( + const sal_Int32 nNewLength( ::std::max( + ::std::min( rSubset.mnSubsetEnd - rSubset.mnSubsetBegin, rOrigContext.Length ), sal_Int32( 0 ) ) ); @@ -408,7 +408,7 @@ namespace cppcanvas nNewStartPos, nNewLength ); - uno::Reference< rendering::XTextLayout > xTextLayout( + uno::Reference< rendering::XTextLayout > xTextLayout( rOrigTextLayout->getFont()->createTextLayout( aContext, rOrigTextLayout->getMainTextDirection(), 0 ), @@ -436,12 +436,12 @@ namespace cppcanvas @param rSubset Subset to prepare */ - void createSubsetLayout( uno::Reference< rendering::XTextLayout >& io_rTextLayout, - rendering::RenderState& io_rRenderState, - double& o_rMinPos, - double& o_rMaxPos, - const ::basegfx::B2DHomMatrix& rTransformation, - const Action::Subset& rSubset ) + void createSubsetLayout( uno::Reference< rendering::XTextLayout >& io_rTextLayout, + rendering::RenderState& io_rRenderState, + double& o_rMinPos, + double& o_rMaxPos, + const ::basegfx::B2DHomMatrix& rTransformation, + const Action::Subset& rSubset ) { ::canvas::tools::prependToRenderState(io_rRenderState, rTransformation); @@ -470,7 +470,7 @@ namespace cppcanvas if( xTextLayout.is() ) { - xTextLayout->applyLogicalAdvancements( + xTextLayout->applyLogicalAdvancements( calcSubsetOffsets( io_rRenderState, o_rMinPos, o_rMaxPos, @@ -503,14 +503,14 @@ namespace cppcanvas part of the text effect (the text itself and the means to render it are unknown to this method) */ - bool renderEffectText( const TextRenderer& rRenderer, - const rendering::RenderState& rRenderState, - const rendering::ViewState& /*rViewState*/, - const uno::Reference< rendering::XCanvas >& xCanvas, - const ::Color& rShadowColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rReliefOffset ) + bool renderEffectText( const TextRenderer& rRenderer, + const rendering::RenderState& rRenderState, + const rendering::ViewState& /*rViewState*/, + const uno::Reference< rendering::XCanvas >& xCanvas, + const ::Color& rShadowColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rReliefOffset ) { ::Color aEmptyColor( COL_AUTO ); uno::Reference<rendering::XColorSpace> xColorSpace( @@ -527,7 +527,7 @@ namespace cppcanvas ::canvas::tools::appendToRenderState(aShadowState, aTranslate); - aShadowState.DeviceColor = + aShadowState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( rShadowColor, xColorSpace ); @@ -545,7 +545,7 @@ namespace cppcanvas ::canvas::tools::appendToRenderState(aReliefState, aTranslate); - aReliefState.DeviceColor = + aReliefState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( rReliefColor, xColorSpace ); @@ -559,26 +559,26 @@ namespace cppcanvas } - ::basegfx::B2DRange calcEffectTextBounds( const ::basegfx::B2DRange& rTextBounds, - const ::basegfx::B2DRange& rLineBounds, - const ::basegfx::B2DSize& rReliefOffset, - const ::basegfx::B2DSize& rShadowOffset, - const rendering::RenderState& rRenderState, + ::basegfx::B2DRange calcEffectTextBounds( const ::basegfx::B2DRange& rTextBounds, + const ::basegfx::B2DRange& rLineBounds, + const ::basegfx::B2DSize& rReliefOffset, + const ::basegfx::B2DSize& rShadowOffset, + const rendering::RenderState& rRenderState, const rendering::ViewState& rViewState ) { ::basegfx::B2DRange aBounds( rTextBounds ); // add extends of text lines aBounds.expand( rLineBounds ); - + // TODO(Q3): Provide this functionality at the B2DRange ::basegfx::B2DRange aTotalBounds( aBounds ); - aTotalBounds.expand( + aTotalBounds.expand( ::basegfx::B2DRange( aBounds.getMinX() + rReliefOffset.getX(), aBounds.getMinY() + rReliefOffset.getY(), aBounds.getMaxX() + rReliefOffset.getX(), aBounds.getMaxY() + rReliefOffset.getY() ) ); - aTotalBounds.expand( + aTotalBounds.expand( ::basegfx::B2DRange( aBounds.getMinX() + rShadowOffset.getX(), aBounds.getMinY() + rShadowOffset.getY(), aBounds.getMaxX() + rShadowOffset.getX(), @@ -589,37 +589,37 @@ namespace cppcanvas rRenderState ); } - void initEffectLinePolyPolygon( ::basegfx::B2DSize& o_rOverallSize, - uno::Reference< rendering::XPolyPolygon2D >& o_rTextLines, - const CanvasSharedPtr& rCanvas, - const uno::Sequence< double >& rOffsets, - const tools::TextLineInfo rLineInfo ) + void initEffectLinePolyPolygon( ::basegfx::B2DSize& o_rOverallSize, + uno::Reference< rendering::XPolyPolygon2D >& o_rTextLines, + const CanvasSharedPtr& rCanvas, + const uno::Sequence< double >& rOffsets, + const tools::TextLineInfo rLineInfo ) { - const ::basegfx::B2DPolyPolygon aPoly( + const ::basegfx::B2DPolyPolygon aPoly( textLinesFromLogicalOffsets( rOffsets, rLineInfo ) ); o_rOverallSize = ::basegfx::tools::getRange( aPoly ).getRange(); - o_rTextLines = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( + o_rTextLines = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), aPoly ); } - void initEffectLinePolyPolygon( ::basegfx::B2DSize& o_rOverallSize, - uno::Reference< rendering::XPolyPolygon2D >& o_rTextLines, - const CanvasSharedPtr& rCanvas, + void initEffectLinePolyPolygon( ::basegfx::B2DSize& o_rOverallSize, + uno::Reference< rendering::XPolyPolygon2D >& o_rTextLines, + const CanvasSharedPtr& rCanvas, double nLineWidth, - const tools::TextLineInfo rLineInfo ) + const tools::TextLineInfo rLineInfo ) { - const ::basegfx::B2DPolyPolygon aPoly( - tools::createTextLinesPolyPolygon( 0.0, nLineWidth, + const ::basegfx::B2DPolyPolygon aPoly( + tools::createTextLinesPolyPolygon( 0.0, nLineWidth, rLineInfo ) ); o_rOverallSize = ::basegfx::tools::getRange( aPoly ).getRange(); - o_rTextLines = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( + o_rTextLines = ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( rCanvas->getUNOCanvas()->getDevice(), aPoly ); } @@ -628,30 +628,30 @@ namespace cppcanvas // ------------------------------------------------------------------------- class TextAction : public Action, private ::boost::noncopyable - { - public: - TextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - - TextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ); + { + public: + TextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + + TextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -663,48 +663,48 @@ namespace cppcanvas // TextActions, maybe using maOffsets for the // translation. - uno::Reference< rendering::XCanvasFont > mxFont; - const rendering::StringContext maStringContext; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - const sal_Int8 maTextDirection; + uno::Reference< rendering::XCanvasFont > mxFont; + const rendering::StringContext maStringContext; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + const sal_Int8 maTextDirection; }; - TextAction::TextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + TextAction::TextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mxFont( rState.xFont ), maStringContext( rString, nStartPos, nLen ), mpCanvas( rCanvas ), maState(), maTextDirection( rState.textDirection ) { - init( maState, mxFont, - rStartPoint, + init( maState, mxFont, + rStartPoint, rState, rCanvas ); ENSURE_OR_THROW( mxFont.is(), "::cppcanvas::internal::TextAction(): Invalid font" ); } - TextAction::TextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ) : + TextAction::TextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ) : mxFont( rState.xFont ), maStringContext( rString, nStartPos, nLen ), mpCanvas( rCanvas ), maState(), maTextDirection( rState.textDirection ) { - init( maState, mxFont, - rStartPoint, + init( maState, mxFont, + rStartPoint, rState, rCanvas, rTextTransform ); ENSURE_OR_THROW( mxFont.is(), @@ -725,8 +725,8 @@ namespace cppcanvas return true; } - bool TextAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& /*rSubset*/ ) const + bool TextAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& /*rSubset*/ ) const { OSL_ENSURE( false, "TextAction::render(): Subset not supported by this object" ); @@ -743,9 +743,9 @@ namespace cppcanvas // create XTextLayout, to have the // XTextLayout::queryTextBounds() method available uno::Reference< rendering::XTextLayout > xTextLayout( - mxFont->createTextLayout( + mxFont->createTextLayout( maStringContext, - maTextDirection, + maTextDirection, 0 ) ); rendering::RenderState aLocalState( maState ); @@ -757,8 +757,8 @@ namespace cppcanvas aLocalState ); } - ::basegfx::B2DRange TextAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& /*rSubset*/ ) const + ::basegfx::B2DRange TextAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& /*rSubset*/ ) const { OSL_ENSURE( false, "TextAction::getBounds(): Subset not supported by this object" ); @@ -782,49 +782,49 @@ namespace cppcanvas // ------------------------------------------------------------------------- - class EffectTextAction : - public Action, + class EffectTextAction : + public Action, public TextRenderer, private ::boost::noncopyable - { - public: - EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - - EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ); + { + public: + EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + + EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; private: - /// Interface TextRenderer + /// Interface TextRenderer virtual bool operator()( const rendering::RenderState& rRenderState ) const; // TODO(P2): This is potentially a real mass object @@ -834,23 +834,23 @@ namespace cppcanvas // TextActions, maybe using maOffsets for the // translation. - uno::Reference< rendering::XCanvasFont > mxFont; - const rendering::StringContext maStringContext; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - const tools::TextLineInfo maTextLineInfo; - ::basegfx::B2DSize maLinesOverallSize; - const double mnLineWidth; - uno::Reference< rendering::XPolyPolygon2D > mxTextLines; - const ::basegfx::B2DSize maReliefOffset; - const ::Color maReliefColor; - const ::basegfx::B2DSize maShadowOffset; - const ::Color maShadowColor; - const sal_Int8 maTextDirection; + uno::Reference< rendering::XCanvasFont > mxFont; + const rendering::StringContext maStringContext; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + const tools::TextLineInfo maTextLineInfo; + ::basegfx::B2DSize maLinesOverallSize; + const double mnLineWidth; + uno::Reference< rendering::XPolyPolygon2D > mxTextLines; + const ::basegfx::B2DSize maReliefOffset; + const ::Color maReliefColor; + const ::basegfx::B2DSize maShadowOffset; + const ::Color maShadowColor; + const sal_Int8 maTextDirection; }; - EffectTextAction::EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, + EffectTextAction::EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, const ::Color& rReliefColor, const ::basegfx::B2DSize& rShadowOffset, const ::Color& rShadowColor, @@ -858,7 +858,7 @@ namespace cppcanvas sal_Int32 nStartPos, sal_Int32 nLen, VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, + const CanvasSharedPtr& rCanvas, const OutDevState& rState ) : mxFont( rState.xFont ), maStringContext( rText, nStartPos, nLen ), @@ -880,26 +880,26 @@ namespace cppcanvas mnLineWidth, maTextLineInfo ); - init( maState, mxFont, - rStartPoint, + init( maState, mxFont, + rStartPoint, rState, rCanvas ); ENSURE_OR_THROW( mxFont.is() && mxTextLines.is(), "::cppcanvas::internal::EffectTextAction(): Invalid font or lines" ); } - EffectTextAction::EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ) : + EffectTextAction::EffectTextAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ) : mxFont( rState.xFont ), maStringContext( rText, nStartPos, nLen ), mpCanvas( rCanvas ), @@ -920,8 +920,8 @@ namespace cppcanvas mnLineWidth, maTextLineInfo ); - init( maState, mxFont, - rStartPoint, + init( maState, mxFont, + rStartPoint, rState, rCanvas, rTextTransform ); ENSURE_OR_THROW( mxFont.is() && mxTextLines.is(), @@ -939,7 +939,7 @@ namespace cppcanvas rCanvas->drawText( maStringContext, mxFont, rViewState, - rRenderState, + rRenderState, maTextDirection ); return true; @@ -963,8 +963,8 @@ namespace cppcanvas maReliefOffset ); } - bool EffectTextAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& /*rSubset*/ ) const + bool EffectTextAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& /*rSubset*/ ) const { OSL_ENSURE( false, "EffectTextAction::render(): Subset not supported by this object" ); @@ -981,9 +981,9 @@ namespace cppcanvas // create XTextLayout, to have the // XTextLayout::queryTextBounds() method available uno::Reference< rendering::XTextLayout > xTextLayout( - mxFont->createTextLayout( + mxFont->createTextLayout( maStringContext, - maTextDirection, + maTextDirection, 0 ) ); rendering::RenderState aLocalState( maState ); @@ -1000,8 +1000,8 @@ namespace cppcanvas mpCanvas->getViewState() ); } - ::basegfx::B2DRange EffectTextAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& /*rSubset*/ ) const + ::basegfx::B2DRange EffectTextAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& /*rSubset*/ ) const { OSL_ENSURE( false, "EffectTextAction::getBounds(): Subset not supported by this object" ); @@ -1026,32 +1026,32 @@ namespace cppcanvas // ------------------------------------------------------------------------- class TextArrayAction : public Action, private ::boost::noncopyable - { - public: - TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - - TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ); + { + public: + TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + + TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; @@ -1063,23 +1063,23 @@ namespace cppcanvas // TextActions, maybe using maOffsets for the // translation. - uno::Reference< rendering::XTextLayout > mxTextLayout; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; + uno::Reference< rendering::XTextLayout > mxTextLayout; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; }; - TextArrayAction::TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + TextArrayAction::TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mxTextLayout(), mpCanvas( rCanvas ), maState() { - initArrayAction( maState, + initArrayAction( maState, mxTextLayout, rStartPoint, rString, @@ -1090,19 +1090,19 @@ namespace cppcanvas rState, NULL ); } - TextArrayAction::TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::rtl::OUString& rString, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ) : + TextArrayAction::TextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::rtl::OUString& rString, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ) : mxTextLayout(), mpCanvas( rCanvas ), maState() { - initArrayAction( maState, + initArrayAction( maState, mxTextLayout, rStartPoint, rString, @@ -1124,38 +1124,38 @@ namespace cppcanvas #ifdef SPECIAL_DEBUG aLocalState.Clip.clear(); - aLocalState.DeviceColor = + aLocalState.DeviceColor = ::vcl::unotools::colorToDoubleSequence( mpCanvas->getUNOCanvas()->getDevice(), ::Color( 0x80FF0000 ) ); if( maState.Clip.is() ) - mpCanvas->getUNOCanvas()->drawPolyPolygon( maState.Clip, - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->drawPolyPolygon( maState.Clip, + mpCanvas->getViewState(), aLocalState ); aLocalState.DeviceColor = maState.DeviceColor; #endif - mpCanvas->getUNOCanvas()->drawTextLayout( mxTextLayout, - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->drawTextLayout( mxTextLayout, + mpCanvas->getViewState(), aLocalState ); return true; } - bool TextArrayAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool TextArrayAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::TextArrayAction::render( subset )" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::TextArrayAction: 0x%X", this ); - rendering::RenderState aLocalState( maState ); - uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); + rendering::RenderState aLocalState( maState ); + uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); double nDummy0, nDummy1; createSubsetLayout( xTextLayout, aLocalState, - nDummy0, + nDummy0, nDummy1, rTransformation, rSubset ); @@ -1163,8 +1163,8 @@ namespace cppcanvas if( !xTextLayout.is() ) return true; // empty layout, render nothing - mpCanvas->getUNOCanvas()->drawTextLayout( xTextLayout, - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->drawTextLayout( xTextLayout, + mpCanvas->getViewState(), aLocalState ); return true; @@ -1181,19 +1181,19 @@ namespace cppcanvas aLocalState ); } - ::basegfx::B2DRange TextArrayAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange TextArrayAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::TextArrayAction::getBounds( subset )" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::TextArrayAction: 0x%X", this ); - rendering::RenderState aLocalState( maState ); - uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); + rendering::RenderState aLocalState( maState ); + uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); double nDummy0, nDummy1; createSubsetLayout( xTextLayout, aLocalState, - nDummy0, + nDummy0, nDummy1, rTransformation, rSubset ); @@ -1217,52 +1217,52 @@ namespace cppcanvas // ------------------------------------------------------------------------- - class EffectTextArrayAction : - public Action, + class EffectTextArrayAction : + public Action, public TextRenderer, private ::boost::noncopyable - { - public: - EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ); + { + public: + EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; private: // TextRenderer interface virtual bool operator()( const rendering::RenderState& rRenderState ) const; - + // TODO(P2): This is potentially a real mass object // (every character might be a separate TextAction), // thus, make it as lightweight as possible. For @@ -1270,30 +1270,30 @@ namespace cppcanvas // TextActions, maybe using maOffsets for the // translation. - uno::Reference< rendering::XTextLayout > mxTextLayout; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - const tools::TextLineInfo maTextLineInfo; - ::basegfx::B2DSize maLinesOverallSize; - uno::Reference< rendering::XPolyPolygon2D > mxTextLines; - const ::basegfx::B2DSize maReliefOffset; - const ::Color maReliefColor; - const ::basegfx::B2DSize maShadowOffset; - const ::Color maShadowColor; + uno::Reference< rendering::XTextLayout > mxTextLayout; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + const tools::TextLineInfo maTextLineInfo; + ::basegfx::B2DSize maLinesOverallSize; + uno::Reference< rendering::XPolyPolygon2D > mxTextLines; + const ::basegfx::B2DSize maReliefOffset; + const ::Color maReliefColor; + const ::basegfx::B2DSize maShadowOffset; + const ::Color maShadowColor; }; - EffectTextArrayAction::EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + EffectTextArrayAction::EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mxTextLayout(), mpCanvas( rCanvas ), maState(), @@ -1311,7 +1311,7 @@ namespace cppcanvas rOffsets, maTextLineInfo ); - initArrayAction( maState, + initArrayAction( maState, mxTextLayout, rStartPoint, rText, @@ -1322,19 +1322,19 @@ namespace cppcanvas rState, NULL ); } - EffectTextArrayAction::EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::rtl::OUString& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ) : + EffectTextArrayAction::EffectTextArrayAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::rtl::OUString& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ) : mxTextLayout(), mpCanvas( rCanvas ), maState(), @@ -1352,7 +1352,7 @@ namespace cppcanvas rOffsets, maTextLineInfo ); - initArrayAction( maState, + initArrayAction( maState, mxTextLayout, rStartPoint, rText, @@ -1360,7 +1360,7 @@ namespace cppcanvas nLen, rOffsets, rCanvas, - rState, + rState, &rTextTransform ); } @@ -1373,7 +1373,7 @@ namespace cppcanvas rViewState, rRenderState ); - rCanvas->drawTextLayout( mxTextLayout, + rCanvas->drawTextLayout( mxTextLayout, rViewState, rRenderState ); @@ -1401,10 +1401,10 @@ namespace cppcanvas class EffectTextArrayRenderHelper : public TextRenderer { public: - EffectTextArrayRenderHelper( const uno::Reference< rendering::XCanvas >& rCanvas, - const uno::Reference< rendering::XTextLayout >& rTextLayout, + EffectTextArrayRenderHelper( const uno::Reference< rendering::XCanvas >& rCanvas, + const uno::Reference< rendering::XTextLayout >& rTextLayout, const uno::Reference< rendering::XPolyPolygon2D >& rLinePolygon, - const rendering::ViewState& rViewState ) : + const rendering::ViewState& rViewState ) : mrCanvas( rCanvas ), mrTextLayout( rTextLayout ), mrLinePolygon( rLinePolygon ), @@ -1418,8 +1418,8 @@ namespace cppcanvas mrCanvas->fillPolyPolygon( mrLinePolygon, mrViewState, rRenderState ); - - mrCanvas->drawTextLayout( mrTextLayout, + + mrCanvas->drawTextLayout( mrTextLayout, mrViewState, rRenderState ); @@ -1427,19 +1427,19 @@ namespace cppcanvas } private: - const uno::Reference< rendering::XCanvas >& mrCanvas; - const uno::Reference< rendering::XTextLayout >& mrTextLayout; - const uno::Reference< rendering::XPolyPolygon2D >& mrLinePolygon; - const rendering::ViewState& mrViewState; + const uno::Reference< rendering::XCanvas >& mrCanvas; + const uno::Reference< rendering::XTextLayout >& mrTextLayout; + const uno::Reference< rendering::XPolyPolygon2D >& mrLinePolygon; + const rendering::ViewState& mrViewState; }; - bool EffectTextArrayAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool EffectTextArrayAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::EffectTextArrayAction::render( subset )" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::EffectTextArrayAction: 0x%X", this ); - rendering::RenderState aLocalState( maState ); + rendering::RenderState aLocalState( maState ); uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); const geometry::RealRectangle2D aTextBounds( mxTextLayout->queryTextBounds() ); @@ -1448,7 +1448,7 @@ namespace cppcanvas createSubsetLayout( xTextLayout, aLocalState, - nMinPos, + nMinPos, nMaxPos, rTransformation, rSubset ); @@ -1461,20 +1461,20 @@ namespace cppcanvas // =================================== uno::Reference< rendering::XCanvas > xCanvas( mpCanvas->getUNOCanvas() ); - const rendering::ViewState& rViewState( mpCanvas->getViewState() ); - + const rendering::ViewState& rViewState( mpCanvas->getViewState() ); + uno::Reference< rendering::XPolyPolygon2D > xTextLines( - ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( + ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( xCanvas->getDevice(), - tools::createTextLinesPolyPolygon( + tools::createTextLinesPolyPolygon( 0.0, nMaxPos - nMinPos, maTextLineInfo ) ) ); - + // render everything // ================= - return renderEffectText( + return renderEffectText( EffectTextArrayRenderHelper( xCanvas, xTextLayout, xTextLines, @@ -1504,13 +1504,13 @@ namespace cppcanvas mpCanvas->getViewState() ); } - ::basegfx::B2DRange EffectTextArrayAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange EffectTextArrayAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::EffectTextArrayAction::getBounds( subset )" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::EffectTextArrayAction: 0x%X", this ); - rendering::RenderState aLocalState( maState ); + rendering::RenderState aLocalState( maState ); uno::Reference< rendering::XTextLayout > xTextLayout( mxTextLayout ); const geometry::RealRectangle2D aTextBounds( mxTextLayout->queryTextBounds() ); @@ -1519,7 +1519,7 @@ namespace cppcanvas createSubsetLayout( xTextLayout, aLocalState, - nMinPos, + nMinPos, nMaxPos, rTransformation, rSubset ); @@ -1532,10 +1532,10 @@ namespace cppcanvas // =================================== const ::basegfx::B2DPolyPolygon aPoly( - tools::createTextLinesPolyPolygon( + tools::createTextLinesPolyPolygon( 0.0, nMaxPos - nMinPos, maTextLineInfo ) ); - + return calcEffectTextBounds( ::basegfx::unotools::b2DRectangleFromRealRectangle2D( xTextLayout->queryTextBounds() ), ::basegfx::tools::getRange( aPoly ), @@ -1555,52 +1555,52 @@ namespace cppcanvas // ------------------------------------------------------------------------- - class OutlineAction : - public Action, + class OutlineAction : + public Action, public TextRenderer, private ::boost::noncopyable - { - public: - OutlineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::basegfx::B2DRectangle& rOutlineBounds, - const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, - const ::std::vector< sal_Int32 >& rPolygonGlyphMap, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - OutlineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::basegfx::B2DRectangle& rOutlineBounds, - const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, - const ::std::vector< sal_Int32 >& rPolygonGlyphMap, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ); + { + public: + OutlineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::basegfx::B2DRectangle& rOutlineBounds, + const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, + const ::std::vector< sal_Int32 >& rPolygonGlyphMap, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + OutlineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::basegfx::B2DRectangle& rOutlineBounds, + const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, + const ::std::vector< sal_Int32 >& rPolygonGlyphMap, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; private: // TextRenderer interface virtual bool operator()( const rendering::RenderState& rRenderState ) const; - + // TODO(P2): This is potentially a real mass object // (every character might be a separate TextAction), // thus, make it as lightweight as possible. For @@ -1608,7 +1608,7 @@ namespace cppcanvas // TextActions, maybe using maOffsets for the // translation. - uno::Reference< rendering::XPolyPolygon2D > mxTextPoly; + uno::Reference< rendering::XPolyPolygon2D > mxTextPoly; /** This vector denotes the index of the start polygon for the respective glyph sequence. @@ -1618,20 +1618,20 @@ namespace cppcanvas maPolygonGlyphMap[i+1] ). Note that this is wrong for BiDi */ - const ::std::vector< sal_Int32 > maPolygonGlyphMap; - const uno::Sequence< double > maOffsets; - const CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - double mnOutlineWidth; - const uno::Sequence< double > maFillColor; - const tools::TextLineInfo maTextLineInfo; - ::basegfx::B2DSize maLinesOverallSize; - const ::basegfx::B2DRectangle maOutlineBounds; - uno::Reference< rendering::XPolyPolygon2D > mxTextLines; - const ::basegfx::B2DSize maReliefOffset; - const ::Color maReliefColor; - const ::basegfx::B2DSize maShadowOffset; - const ::Color maShadowColor; + const ::std::vector< sal_Int32 > maPolygonGlyphMap; + const uno::Sequence< double > maOffsets; + const CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + double mnOutlineWidth; + const uno::Sequence< double > maFillColor; + const tools::TextLineInfo maTextLineInfo; + ::basegfx::B2DSize maLinesOverallSize; + const ::basegfx::B2DRectangle maOutlineBounds; + uno::Reference< rendering::XPolyPolygon2D > mxTextLines; + const ::basegfx::B2DSize maReliefOffset; + const ::Color maReliefColor; + const ::basegfx::B2DSize maShadowOffset; + const ::Color maShadowColor; }; double calcOutlineWidth( const OutDevState& rState, @@ -1640,32 +1640,32 @@ namespace cppcanvas const ::basegfx::B2DSize aFontSize( 0, rVDev.GetFont().GetHeight() / 64.0 ); - const double nOutlineWidth( + const double nOutlineWidth( (rState.mapModeTransform * aFontSize).getY() ); return nOutlineWidth < 1.0 ? 1.0 : nOutlineWidth; } - OutlineAction::OutlineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::basegfx::B2DRectangle& rOutlineBounds, - const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, - const ::std::vector< sal_Int32 >& rPolygonGlyphMap, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + OutlineAction::OutlineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::basegfx::B2DRectangle& rOutlineBounds, + const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, + const ::std::vector< sal_Int32 >& rPolygonGlyphMap, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mxTextPoly( rTextPoly ), maPolygonGlyphMap( rPolygonGlyphMap ), maOffsets( rOffsets ), mpCanvas( rCanvas ), maState(), mnOutlineWidth( calcOutlineWidth(rState,rVDev) ), - maFillColor( - ::vcl::unotools::colorToDoubleSequence( + maFillColor( + ::vcl::unotools::colorToDoubleSequence( ::Color( COL_WHITE ), rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() )), maTextLineInfo( tools::createTextLineInfo( rVDev, rState ) ), @@ -1684,31 +1684,31 @@ namespace cppcanvas maTextLineInfo ); init( maState, - rStartPoint, + rStartPoint, rState, rCanvas ); } - OutlineAction::OutlineAction( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, - const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const ::basegfx::B2DRectangle& rOutlineBounds, - const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, - const ::std::vector< sal_Int32 >& rPolygonGlyphMap, - const uno::Sequence< double >& rOffsets, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const ::basegfx::B2DHomMatrix& rTextTransform ) : + OutlineAction::OutlineAction( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, + const ::basegfx::B2DSize& rShadowOffset, + const ::Color& rShadowColor, + const ::basegfx::B2DRectangle& rOutlineBounds, + const uno::Reference< rendering::XPolyPolygon2D >& rTextPoly, + const ::std::vector< sal_Int32 >& rPolygonGlyphMap, + const uno::Sequence< double >& rOffsets, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const ::basegfx::B2DHomMatrix& rTextTransform ) : mxTextPoly( rTextPoly ), maPolygonGlyphMap( rPolygonGlyphMap ), maOffsets( rOffsets ), mpCanvas( rCanvas ), maState(), mnOutlineWidth( calcOutlineWidth(rState,rVDev) ), - maFillColor( + maFillColor( ::vcl::unotools::colorToDoubleSequence( ::Color( COL_WHITE ), rCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() )), @@ -1728,7 +1728,7 @@ namespace cppcanvas maTextLineInfo ); init( maState, - rStartPoint, + rStartPoint, rState, rCanvas, rTextTransform ); @@ -1736,7 +1736,7 @@ namespace cppcanvas bool OutlineAction::operator()( const rendering::RenderState& rRenderState ) const { - const rendering::ViewState& rViewState( mpCanvas->getViewState() ); + const rendering::ViewState& rViewState( mpCanvas->getViewState() ); const uno::Reference< rendering::XCanvas >& rCanvas( mpCanvas->getUNOCanvas() ); rendering::StrokeAttributes aStrokeAttributes; @@ -1753,12 +1753,12 @@ namespace cppcanvas // TODO(P1): implement caching // background of text - rCanvas->fillPolyPolygon( mxTextPoly, + rCanvas->fillPolyPolygon( mxTextPoly, rViewState, aLocalState ); - + // border line of text - rCanvas->strokePolyPolygon( mxTextPoly, + rCanvas->strokePolyPolygon( mxTextPoly, rViewState, rRenderState, aStrokeAttributes ); @@ -1797,13 +1797,13 @@ namespace cppcanvas class OutlineTextArrayRenderHelper : public TextRenderer { public: - OutlineTextArrayRenderHelper( const uno::Reference< rendering::XCanvas >& rCanvas, + OutlineTextArrayRenderHelper( const uno::Reference< rendering::XCanvas >& rCanvas, const uno::Reference< rendering::XPolyPolygon2D >& rTextPolygon, const uno::Reference< rendering::XPolyPolygon2D >& rLinePolygon, - const rendering::ViewState& rViewState, - double nOutlineWidth ) : - maFillColor( - ::vcl::unotools::colorToDoubleSequence( + const rendering::ViewState& rViewState, + double nOutlineWidth ) : + maFillColor( + ::vcl::unotools::colorToDoubleSequence( ::Color( COL_WHITE ), rCanvas->getDevice()->getDeviceColorSpace() )), mnOutlineWidth( nOutlineWidth ), @@ -1831,12 +1831,12 @@ namespace cppcanvas // TODO(P1): implement caching // background of text - mrCanvas->fillPolyPolygon( mrTextPolygon, + mrCanvas->fillPolyPolygon( mrTextPolygon, mrViewState, aLocalState ); - + // border line of text - mrCanvas->strokePolyPolygon( mrTextPolygon, + mrCanvas->strokePolyPolygon( mrTextPolygon, mrViewState, rRenderState, aStrokeAttributes ); @@ -1855,16 +1855,16 @@ namespace cppcanvas } private: - const uno::Sequence< double > maFillColor; - double mnOutlineWidth; - const uno::Reference< rendering::XCanvas >& mrCanvas; - const uno::Reference< rendering::XPolyPolygon2D >& mrTextPolygon; - const uno::Reference< rendering::XPolyPolygon2D >& mrLinePolygon; - const rendering::ViewState& mrViewState; + const uno::Sequence< double > maFillColor; + double mnOutlineWidth; + const uno::Reference< rendering::XCanvas >& mrCanvas; + const uno::Reference< rendering::XPolyPolygon2D >& mrTextPolygon; + const uno::Reference< rendering::XPolyPolygon2D >& mrLinePolygon; + const rendering::ViewState& mrViewState; }; - bool OutlineAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool OutlineAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::OutlineAction::render( subset )" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::OutlineAction: 0x%X", this ); @@ -1902,8 +1902,8 @@ namespace cppcanvas // render everything // ================= - return renderEffectText( - OutlineTextArrayRenderHelper( + return renderEffectText( + OutlineTextArrayRenderHelper( xCanvas, mnOutlineWidth, xTextLayout, @@ -1934,8 +1934,8 @@ namespace cppcanvas mpCanvas->getViewState() ); } - ::basegfx::B2DRange OutlineAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& /*rSubset*/ ) const + ::basegfx::B2DRange OutlineAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& /*rSubset*/ ) const { OSL_ENSURE( false, "OutlineAction::getBounds(): Subset not yet supported by this object" ); @@ -1962,19 +1962,19 @@ namespace cppcanvas text, and creates a properly setup OutlineAction from it. */ - ActionSharedPtr createOutline( const ::basegfx::B2DPoint& rStartPoint, - const ::basegfx::B2DSize& rReliefOffset, - const ::Color& rReliefColor, + ActionSharedPtr createOutline( const ::basegfx::B2DPoint& rStartPoint, + const ::basegfx::B2DSize& rReliefOffset, + const ::Color& rReliefColor, const ::basegfx::B2DSize& rShadowOffset, - const ::Color& rShadowColor, - const String& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const sal_Int32* pDXArray, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const Renderer::Parameters& rParms ) + const ::Color& rShadowColor, + const String& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const sal_Int32* pDXArray, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const Renderer::Parameters& rParms ) { // operate on raw DX array here (in logical coordinate // system), to have a higher resolution @@ -1989,14 +1989,14 @@ namespace cppcanvas ::Font aUnrotatedFont( aOrigFont ); aUnrotatedFont.SetOrientation(0); rVDev.SetFont( aUnrotatedFont ); - + // TODO(F3): Don't understand parameter semantics of // GetTextOutlines() ::basegfx::B2DPolyPolygon aResultingPolyPolygon; PolyPolyVector aVCLPolyPolyVector; const bool bHaveOutlines( rVDev.GetTextOutlines( aVCLPolyPolyVector, rText, static_cast<USHORT>(nStartPos), - static_cast<USHORT>(nStartPos), + static_cast<USHORT>(nStartPos), static_cast<USHORT>(nLen), TRUE, 0, pDXArray ) ); rVDev.SetFont(aOrigFont); @@ -2012,12 +2012,12 @@ namespace cppcanvas // remove offsetting from mapmode transformation // (outline polygons must stay at origin, only need to // be scaled) - ::basegfx::B2DHomMatrix aMapModeTransform( + ::basegfx::B2DHomMatrix aMapModeTransform( rState.mapModeTransform ); aMapModeTransform.set(0,2, 0.0); aMapModeTransform.set(1,2, 0.0); - PolyPolyVector::const_iterator aIter( aVCLPolyPolyVector.begin() ); + PolyPolyVector::const_iterator aIter( aVCLPolyPolyVector.begin() ); const PolyPolyVector::const_iterator aEnd( aVCLPolyPolyVector.end() ); for( ; aIter!= aEnd; ++aIter ) { @@ -2066,16 +2066,16 @@ namespace cppcanvas rVDev, rState )); const uno::Reference< rendering::XPolyPolygon2D > xTextPoly( - ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( - rCanvas->getUNOCanvas()->getDevice(), + ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( + rCanvas->getUNOCanvas()->getDevice(), aResultingPolyPolygon ) ); if( rParms.maTextTransformation.isValid() ) { - return ActionSharedPtr( - new OutlineAction( + return ActionSharedPtr( + new OutlineAction( rStartPoint, - rReliefOffset, + rReliefOffset, rReliefColor, rShadowOffset, rShadowColor, @@ -2084,16 +2084,16 @@ namespace cppcanvas aPolygonGlyphMap, aCharWidthSeq, rVDev, - rCanvas, + rCanvas, rState, rParms.maTextTransformation.getValue() ) ); } else { - return ActionSharedPtr( - new OutlineAction( + return ActionSharedPtr( + new OutlineAction( rStartPoint, - rReliefOffset, + rReliefOffset, rReliefColor, rShadowOffset, rShadowColor, @@ -2102,50 +2102,50 @@ namespace cppcanvas aPolygonGlyphMap, aCharWidthSeq, rVDev, - rCanvas, - rState ) ); + rCanvas, + rState ) ); } } } // namespace - + // --------------------------------------------------------------------------------- - ActionSharedPtr TextActionFactory::createTextAction( const ::Point& rStartPoint, - const ::Size& rReliefOffset, - const ::Color& rReliefColor, - const ::Size& rShadowOffset, - const ::Color& rShadowColor, - const String& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const sal_Int32* pDXArray, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const Renderer::Parameters& rParms, - bool bSubsettable ) + ActionSharedPtr TextActionFactory::createTextAction( const ::Point& rStartPoint, + const ::Size& rReliefOffset, + const ::Color& rReliefColor, + const ::Size& rShadowOffset, + const ::Color& rShadowColor, + const String& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const sal_Int32* pDXArray, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const Renderer::Parameters& rParms, + bool bSubsettable ) { const ::Size aBaselineOffset( tools::getBaselineOffset( rState, rVDev ) ); // #143885# maintain (nearly) full precision positioning, // by circumventing integer-based OutDev-mapping - const ::basegfx::B2DPoint aStartPoint( - rState.mapModeTransform * + const ::basegfx::B2DPoint aStartPoint( + rState.mapModeTransform * ::basegfx::B2DPoint(rStartPoint.X() + aBaselineOffset.Width(), rStartPoint.Y() + aBaselineOffset.Height()) ); - const ::basegfx::B2DSize aReliefOffset( + const ::basegfx::B2DSize aReliefOffset( rState.mapModeTransform * ::vcl::unotools::b2DSizeFromSize( rReliefOffset ) ); - const ::basegfx::B2DSize aShadowOffset( + const ::basegfx::B2DSize aShadowOffset( rState.mapModeTransform * ::vcl::unotools::b2DSizeFromSize( rShadowOffset ) ); if( rState.isTextOutlineModeSet ) { return createOutline( - aStartPoint, - aReliefOffset, + aStartPoint, + aReliefOffset, rReliefColor, aShadowOffset, rShadowColor, @@ -2154,7 +2154,7 @@ namespace cppcanvas nLen, pDXArray, rVDev, - rCanvas, + rCanvas, rState, rParms ); } @@ -2189,7 +2189,7 @@ namespace cppcanvas // nope if( rParms.maTextTransformation.isValid() ) { - return ActionSharedPtr( new TextAction( + return ActionSharedPtr( new TextAction( aStartPoint, rText, nStartPos, @@ -2200,7 +2200,7 @@ namespace cppcanvas } else { - return ActionSharedPtr( new TextAction( + return ActionSharedPtr( new TextAction( aStartPoint, rText, nStartPos, @@ -2213,9 +2213,9 @@ namespace cppcanvas { // at least one of the effects requested if( rParms.maTextTransformation.isValid() ) - return ActionSharedPtr( new EffectTextAction( + return ActionSharedPtr( new EffectTextAction( aStartPoint, - aReliefOffset, + aReliefOffset, rReliefColor, aShadowOffset, rShadowColor, @@ -2227,9 +2227,9 @@ namespace cppcanvas rState, rParms.maTextTransformation.getValue() ) ); else - return ActionSharedPtr( new EffectTextAction( + return ActionSharedPtr( new EffectTextAction( aStartPoint, - aReliefOffset, + aReliefOffset, rReliefColor, aShadowOffset, rShadowColor, @@ -2252,7 +2252,7 @@ namespace cppcanvas { // nope if( rParms.maTextTransformation.isValid() ) - return ActionSharedPtr( new TextArrayAction( + return ActionSharedPtr( new TextArrayAction( aStartPoint, rText, nStartPos, @@ -2262,7 +2262,7 @@ namespace cppcanvas rState, rParms.maTextTransformation.getValue() ) ); else - return ActionSharedPtr( new TextArrayAction( + return ActionSharedPtr( new TextArrayAction( aStartPoint, rText, nStartPos, @@ -2275,9 +2275,9 @@ namespace cppcanvas { // at least one of the effects requested if( rParms.maTextTransformation.isValid() ) - return ActionSharedPtr( new EffectTextArrayAction( - aStartPoint, - aReliefOffset, + return ActionSharedPtr( new EffectTextArrayAction( + aStartPoint, + aReliefOffset, rReliefColor, aShadowOffset, rShadowColor, @@ -2290,9 +2290,9 @@ namespace cppcanvas rState, rParms.maTextTransformation.getValue() ) ); else - return ActionSharedPtr( new EffectTextArrayAction( + return ActionSharedPtr( new EffectTextArrayAction( aStartPoint, - aReliefOffset, + aReliefOffset, rReliefColor, aShadowOffset, rShadowColor, diff --git a/cppcanvas/source/mtfrenderer/textaction.hxx b/cppcanvas/source/mtfrenderer/textaction.hxx index 390752d23ce1..136994c4d20a 100644 --- a/cppcanvas/source/mtfrenderer/textaction.hxx +++ b/cppcanvas/source/mtfrenderer/textaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -45,8 +45,8 @@ class String; /* Definition of internal::TextActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { struct OutDevState; @@ -60,7 +60,7 @@ namespace cppcanvas */ class TextActionFactory { - public: + public: /** Create text action, optionally shadow/relief effect Note that this method accepts all coordinates in @@ -75,20 +75,20 @@ namespace cppcanvas subsettable (Action::render( Subset ) works on characters) */ - static ActionSharedPtr createTextAction( const ::Point& rStartPoint, - const ::Size& rReliefOffset, - const ::Color& rReliefColor, - const ::Size& rShadowOffset, - const ::Color& rShadowColor, - const ::String& rText, - sal_Int32 nStartPos, - sal_Int32 nLen, - const sal_Int32* pDXArray, - VirtualDevice& rVDev, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState, - const Renderer::Parameters& rParms, - bool bSubsettable ); + static ActionSharedPtr createTextAction( const ::Point& rStartPoint, + const ::Size& rReliefOffset, + const ::Color& rReliefColor, + const ::Size& rShadowOffset, + const ::Color& rShadowColor, + const ::String& rText, + sal_Int32 nStartPos, + sal_Int32 nLen, + const sal_Int32* pDXArray, + VirtualDevice& rVDev, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState, + const Renderer::Parameters& rParms, + bool bSubsettable ); private: // static factory, disable big four @@ -97,7 +97,7 @@ namespace cppcanvas TextActionFactory(const TextActionFactory&); TextActionFactory& operator=( const TextActionFactory& ); }; - } + } } #endif /* _CPPCANVAS_TEXTACTION_HXX */ diff --git a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx index d4c204feb6de..cab85f36a59c 100644 --- a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx +++ b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -72,26 +72,26 @@ using namespace ::com::sun::star; -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { // free support functions // ====================== namespace { - class TransparencyGroupAction : public Action, private ::boost::noncopyable - { - public: + class TransparencyGroupAction : public Action, private ::boost::noncopyable + { + public: /** Create new transparency group action. @param rGroupMtf Metafile that groups all actions to be rendered transparent - + @param rParms Render parameters - + @param rDstPoint Left, top edge of destination, in current state coordinate system @@ -103,13 +103,13 @@ namespace cppcanvas @param nAlpha Alpha value, must be in the range [0,1] */ - TransparencyGroupAction( MtfAutoPtr& rGroupMtf, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - double nAlpha, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); + TransparencyGroupAction( MtfAutoPtr& rGroupMtf, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + double nAlpha, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); /** Create new transparency group action. @@ -132,41 +132,41 @@ namespace cppcanvas Size of the transparency group object, in current state coordinate system. */ - TransparencyGroupAction( MtfAutoPtr& rGroupMtf, - GradientAutoPtr& rAlphaGradient, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); + TransparencyGroupAction( MtfAutoPtr& rGroupMtf, + GradientAutoPtr& rAlphaGradient, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const; virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + const Subset& rSubset ) const; virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const; - virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const; + virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const; virtual sal_Int32 getActionCount() const; private: - MtfAutoPtr mpGroupMtf; - GradientAutoPtr mpAlphaGradient; + MtfAutoPtr mpGroupMtf; + GradientAutoPtr mpAlphaGradient; - const Renderer::Parameters maParms; + const Renderer::Parameters maParms; - const ::basegfx::B2DSize maDstSize; + const ::basegfx::B2DSize maDstSize; - mutable uno::Reference< rendering::XBitmap > mxBufferBitmap; // contains last rendered version - mutable ::basegfx::B2DHomMatrix maLastTransformation; // contains last active transformation - mutable Subset maLastSubset; // contains last effective subset + mutable uno::Reference< rendering::XBitmap > mxBufferBitmap; // contains last rendered version + mutable ::basegfx::B2DHomMatrix maLastTransformation; // contains last active transformation + mutable Subset maLastSubset; // contains last effective subset // transformation for - // mxBufferBitmap content - CanvasSharedPtr mpCanvas; - rendering::RenderState maState; - const double mnAlpha; + // mxBufferBitmap content + CanvasSharedPtr mpCanvas; + rendering::RenderState maState; + const double mnAlpha; }; @@ -174,24 +174,24 @@ namespace cppcanvas moved rPoint away, and scaled according to the ratio given by src and dst size. */ - void implSetupTransform( rendering::RenderState& rRenderState, - const ::basegfx::B2DPoint& rDstPoint ) + void implSetupTransform( rendering::RenderState& rRenderState, + const ::basegfx::B2DPoint& rDstPoint ) { - ::basegfx::B2DHomMatrix aLocalTransformation; - - aLocalTransformation.translate( rDstPoint.getX(), + ::basegfx::B2DHomMatrix aLocalTransformation; + + aLocalTransformation.translate( rDstPoint.getX(), rDstPoint.getY() ); ::canvas::tools::appendToRenderState( rRenderState, aLocalTransformation ); } - TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - double nAlpha, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + double nAlpha, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mpGroupMtf( rGroupMtf ), mpAlphaGradient(), maParms( rParms ), @@ -206,10 +206,10 @@ namespace cppcanvas implSetupTransform( maState, rDstPoint ); // correct clip (which is relative to original transform) - tools::modifyClip( maState, - rState, - rCanvas, - rDstPoint, + tools::modifyClip( maState, + rState, + rCanvas, + rDstPoint, NULL, NULL ); @@ -217,13 +217,13 @@ namespace cppcanvas maLastSubset.mnSubsetEnd = -1; } - TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf, - GradientAutoPtr& rAlphaGradient, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) : + TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf, + GradientAutoPtr& rAlphaGradient, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) : mpGroupMtf( rGroupMtf ), mpAlphaGradient( rAlphaGradient ), maParms( rParms ), @@ -238,10 +238,10 @@ namespace cppcanvas implSetupTransform( maState, rDstPoint ); // correct clip (which is relative to original transform) - tools::modifyClip( maState, - rState, - rCanvas, - rDstPoint, + tools::modifyClip( maState, + rState, + rCanvas, + rDstPoint, NULL, NULL ); @@ -256,8 +256,8 @@ namespace cppcanvas // into the direction of having a direct GDIMetaFile2XCanvas // renderer, and maybe a separate metafile XCanvas // implementation. - bool TransparencyGroupAction::render( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + bool TransparencyGroupAction::render( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::TransparencyGroupAction::render()" ); RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::TransparencyGroupAction: 0x%X", this ); @@ -276,7 +276,7 @@ namespace cppcanvas // does not matter, remove them before comparing aTotalTransform.set( 0, 2, 0.0 ); aTotalTransform.set( 1, 2, 0.0 ); - + // if there's no buffer bitmap, or as soon as the // total transformation changes, we've got to // re-render the bitmap @@ -285,16 +285,16 @@ namespace cppcanvas rSubset.mnSubsetBegin != maLastSubset.mnSubsetBegin || rSubset.mnSubsetEnd != maLastSubset.mnSubsetEnd ) { - DBG_TESTSOLARMUTEX(); + DBG_TESTSOLARMUTEX(); // determine total scaling factor of the // transformation matrix - need to make the bitmap // large enough ::basegfx::B2DTuple aScale; ::basegfx::B2DTuple aTranslate; - double nRotate; - double nShearX; - if( !aTotalTransform.decompose( aScale, + double nRotate; + double nShearX; + if( !aTotalTransform.decompose( aScale, aTranslate, nRotate, nShearX ) ) @@ -328,7 +328,7 @@ namespace cppcanvas // metaactions from mpGroupMtf GDIMetaFile aMtf; MetaAction* pCurrAct; - int nCurrActionIndex; + int nCurrActionIndex; // extract subset actions for( nCurrActionIndex=0, @@ -409,25 +409,25 @@ namespace cppcanvas } } - aVDev.DrawTransparent( aMtf, + aVDev.DrawTransparent( aMtf, aEmptyPoint, aOutputSizePixel, - *mpAlphaGradient ); + *mpAlphaGradient ); } else { // no subsetting - render whole mtf - aVDev.DrawTransparent( *mpGroupMtf, + aVDev.DrawTransparent( *mpGroupMtf, aEmptyPoint, aOutputSizePixel, *mpAlphaGradient ); } - + // update buffered bitmap and transformation - BitmapSharedPtr aBmp( VCLFactory::getInstance().createBitmap( + BitmapSharedPtr aBmp( VCLFactory::getInstance().createBitmap( mpCanvas, - aVDev.GetBitmapEx( + aVDev.GetBitmapEx( aEmptyPoint, aBitmapSizePixel ) ) ); mxBufferBitmap = aBmp->getUNOBitmap(); @@ -451,7 +451,7 @@ namespace cppcanvas // Translation*Rotation*Shear*Scale. Thus, to neutralize // the contained scaling, we've got to right-multiply with // the inverse. - ::basegfx::B2ISize aBmpSize( + ::basegfx::B2ISize aBmpSize( ::basegfx::unotools::b2ISizeFromIntegerSize2D( mxBufferBitmap->getSize() ) ); ::basegfx::B2DHomMatrix aScaleCorrection; @@ -464,14 +464,14 @@ namespace cppcanvas #ifdef SPECIAL_DEBUG aLocalState.Clip.clear(); - aLocalState.DeviceColor = - ::vcl::unotools::colorToDoubleSequence( + aLocalState.DeviceColor = + ::vcl::unotools::colorToDoubleSequence( ::Color( 0x80FF0000 ), mpCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() ); if( maState.Clip.is() ) - mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip, - mpCanvas->getViewState(), + mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip, + mpCanvas->getViewState(), aLocalState ); aLocalState.DeviceColor = maState.DeviceColor; @@ -489,7 +489,7 @@ namespace cppcanvas // add alpha modulation value to DeviceColor uno::Sequence<rendering::ARGBColor> aCols(1); aCols[0] = rendering::ARGBColor( mnAlpha, 1.0, 1.0, 1.0); - aLocalState.DeviceColor = + aLocalState.DeviceColor = mpCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace()->convertFromARGB( aCols); @@ -517,13 +517,13 @@ namespace cppcanvas return render( rTransformation, aSubset ); } - - ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const + + ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const { rendering::RenderState aLocalState( maState ); ::canvas::tools::prependToRenderState(aLocalState, rTransformation); - - return tools::calcDevicePixelBounds( + + return tools::calcDevicePixelBounds( ::basegfx::B2DRange( 0,0, maDstSize.getX(), maDstSize.getY() ), @@ -531,8 +531,8 @@ namespace cppcanvas aLocalState ); } - ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, - const Subset& rSubset ) const + ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation, + const Subset& rSubset ) const { // TODO(F3): Currently, the bounds for // TransparencyGroupAction subsets equal those of the @@ -555,13 +555,13 @@ namespace cppcanvas } - ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - double nAlpha, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) + ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + double nAlpha, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) { return ActionSharedPtr( new TransparencyGroupAction(rGroupMtf, rParms, @@ -572,13 +572,13 @@ namespace cppcanvas rState ) ); } - ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, - GradientAutoPtr& rAlphaGradient, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ) + ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, + GradientAutoPtr& rAlphaGradient, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ) { return ActionSharedPtr( new TransparencyGroupAction(rGroupMtf, rAlphaGradient, @@ -588,7 +588,7 @@ namespace cppcanvas rCanvas, rState ) ); } - + } } diff --git a/cppcanvas/source/mtfrenderer/transparencygroupaction.hxx b/cppcanvas/source/mtfrenderer/transparencygroupaction.hxx index dd629011cfa2..d3b3a1851e71 100644 --- a/cppcanvas/source/mtfrenderer/transparencygroupaction.hxx +++ b/cppcanvas/source/mtfrenderer/transparencygroupaction.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,14 +46,14 @@ class Gradient; /* Definition of internal::TransparencyGroupActionFactory class */ -namespace cppcanvas -{ +namespace cppcanvas +{ namespace internal { struct OutDevState; - typedef ::std::auto_ptr< GDIMetaFile > MtfAutoPtr; - typedef ::std::auto_ptr< Gradient > GradientAutoPtr; + typedef ::std::auto_ptr< GDIMetaFile > MtfAutoPtr; + typedef ::std::auto_ptr< Gradient > GradientAutoPtr; /** Transparency group action. @@ -69,8 +69,8 @@ namespace cppcanvas text layout) is Canvas-dependent. */ class TransparencyGroupActionFactory - { - public: + { + public: /** Create new transparency group action. @param rGroupMtf @@ -91,14 +91,14 @@ namespace cppcanvas @param nAlpha Alpha value, must be in the range [0,1] */ - static ActionSharedPtr createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - double nAlpha, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - + static ActionSharedPtr createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + double nAlpha, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + /** Create new transparency group action. @param rGroupMtf @@ -120,14 +120,14 @@ namespace cppcanvas Size of the transparency group object, in current state coordinate system. */ - static ActionSharedPtr createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, - GradientAutoPtr& rAlphaGradient, - const Renderer::Parameters& rParms, - const ::basegfx::B2DPoint& rDstPoint, - const ::basegfx::B2DVector& rDstSize, - const CanvasSharedPtr& rCanvas, - const OutDevState& rState ); - + static ActionSharedPtr createTransparencyGroupAction( MtfAutoPtr& rGroupMtf, + GradientAutoPtr& rAlphaGradient, + const Renderer::Parameters& rParms, + const ::basegfx::B2DPoint& rDstPoint, + const ::basegfx::B2DVector& rDstSize, + const CanvasSharedPtr& rCanvas, + const OutDevState& rState ); + private: // static factory, disable big four TransparencyGroupActionFactory(); @@ -135,7 +135,7 @@ namespace cppcanvas TransparencyGroupActionFactory(const TransparencyGroupActionFactory&); TransparencyGroupActionFactory& operator=( const TransparencyGroupActionFactory& ); }; - } + } } #endif /*_CPPCANVAS_TRANSPARENCYGROUPACTION_HXX */ diff --git a/cppcanvas/source/tools/canvasgraphichelper.cxx b/cppcanvas/source/tools/canvasgraphichelper.cxx index 4888960c0d96..758172e19f78 100644 --- a/cppcanvas/source/tools/canvasgraphichelper.cxx +++ b/cppcanvas/source/tools/canvasgraphichelper.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -58,7 +58,7 @@ namespace cppcanvas mxGraphicDevice() { OSL_ENSURE( mpCanvas.get() != NULL && - mpCanvas->getUNOCanvas().is(), + mpCanvas->getUNOCanvas().is(), "CanvasGraphicHelper::CanvasGraphicHelper: no valid canvas" ); if( mpCanvas.get() != NULL && @@ -74,11 +74,11 @@ namespace cppcanvas { ::canvas::tools::setRenderStateTransform( maRenderState, rMatrix ); } - + ::basegfx::B2DHomMatrix CanvasGraphicHelper::getTransformation() const { ::basegfx::B2DHomMatrix aMatrix; - return ::canvas::tools::getRenderStateTransform( aMatrix, + return ::canvas::tools::getRenderStateTransform( aMatrix, maRenderState ); } @@ -118,13 +118,13 @@ namespace cppcanvas void CanvasGraphicHelper::setRGBAColor( Color::IntSRGBA aColor ) { - maRenderState.DeviceColor = tools::intSRGBAToDoubleSequence( mxGraphicDevice, + maRenderState.DeviceColor = tools::intSRGBAToDoubleSequence( mxGraphicDevice, aColor ); } Color::IntSRGBA CanvasGraphicHelper::getRGBAColor() const { - return tools::doubleSequenceToIntSRGBA( mxGraphicDevice, + return tools::doubleSequenceToIntSRGBA( mxGraphicDevice, maRenderState.DeviceColor ); } @@ -143,11 +143,11 @@ namespace cppcanvas return mpCanvas; } - uno::Reference< rendering::XGraphicDevice > CanvasGraphicHelper::getGraphicDevice() const + uno::Reference< rendering::XGraphicDevice > CanvasGraphicHelper::getGraphicDevice() const { return mxGraphicDevice; } - + } } diff --git a/cppcanvas/source/tools/tools.cxx b/cppcanvas/source/tools/tools.cxx index bea26d8e55e8..6b3d8f4bce1e 100644 --- a/cppcanvas/source/tools/tools.cxx +++ b/cppcanvas/source/tools/tools.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -38,8 +38,8 @@ namespace cppcanvas { namespace tools { - uno::Sequence< double > intSRGBAToDoubleSequence( const uno::Reference< rendering::XGraphicDevice >&, - Color::IntSRGBA aColor ) + uno::Sequence< double > intSRGBAToDoubleSequence( const uno::Reference< rendering::XGraphicDevice >&, + Color::IntSRGBA aColor ) { uno::Sequence< double > aRes( 4 ); @@ -51,8 +51,8 @@ namespace cppcanvas return aRes; } - Color::IntSRGBA doubleSequenceToIntSRGBA( const uno::Reference< rendering::XGraphicDevice >&, - const uno::Sequence< double >& rColor ) + Color::IntSRGBA doubleSequenceToIntSRGBA( const uno::Reference< rendering::XGraphicDevice >&, + const uno::Sequence< double >& rColor ) { return makeColor( static_cast<sal_uInt8>( 255*rColor[0] + .5 ), static_cast<sal_uInt8>( 255*rColor[1] + .5 ), diff --git a/cppcanvas/source/wrapper/basegfxfactory.cxx b/cppcanvas/source/wrapper/basegfxfactory.cxx index c65a4216b522..696c977ddf18 100644 --- a/cppcanvas/source/wrapper/basegfxfactory.cxx +++ b/cppcanvas/source/wrapper/basegfxfactory.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -69,16 +69,16 @@ namespace cppcanvas BaseGfxFactory::BaseGfxFactory() { } - + BaseGfxFactory::~BaseGfxFactory() { } - PolyPolygonSharedPtr BaseGfxFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DPolygon& rPoly ) const + PolyPolygonSharedPtr BaseGfxFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DPolygon& rPoly ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "BaseGfxFactory::createPolyPolygon(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -88,18 +88,18 @@ namespace cppcanvas if( !xCanvas.is() ) return PolyPolygonSharedPtr(); - return PolyPolygonSharedPtr( - new internal::ImplPolyPolygon( rCanvas, + return PolyPolygonSharedPtr( + new internal::ImplPolyPolygon( rCanvas, ::basegfx::unotools::xPolyPolygonFromB2DPolygon( xCanvas->getDevice(), rPoly) ) ); } - - PolyPolygonSharedPtr BaseGfxFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, - const ::basegfx::B2DPolyPolygon& rPolyPoly ) const + + PolyPolygonSharedPtr BaseGfxFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, + const ::basegfx::B2DPolyPolygon& rPolyPoly ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "BaseGfxFactory::createPolyPolygon(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -109,20 +109,20 @@ namespace cppcanvas if( !xCanvas.is() ) return PolyPolygonSharedPtr(); - return PolyPolygonSharedPtr( - new internal::ImplPolyPolygon( rCanvas, + return PolyPolygonSharedPtr( + new internal::ImplPolyPolygon( rCanvas, ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( xCanvas->getDevice(), rPolyPoly) ) ); } - BitmapSharedPtr BaseGfxFactory::createBitmap( const CanvasSharedPtr& rCanvas, + BitmapSharedPtr BaseGfxFactory::createBitmap( const CanvasSharedPtr& rCanvas, const ::basegfx::B2ISize& rSize ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "BaseGfxFactory::createBitmap(): Invalid canvas" ); - + if( rCanvas.get() == NULL ) return BitmapSharedPtr(); @@ -130,19 +130,19 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( - new internal::ImplBitmap( rCanvas, - xCanvas->getDevice()->createCompatibleBitmap( + return BitmapSharedPtr( + new internal::ImplBitmap( rCanvas, + xCanvas->getDevice()->createCompatibleBitmap( ::basegfx::unotools::integerSize2DFromB2ISize(rSize) ) ) ); } - BitmapSharedPtr BaseGfxFactory::createAlphaBitmap( const CanvasSharedPtr& rCanvas, + BitmapSharedPtr BaseGfxFactory::createAlphaBitmap( const CanvasSharedPtr& rCanvas, const ::basegfx::B2ISize& rSize ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "BaseGfxFactory::createBitmap(): Invalid canvas" ); - + if( rCanvas.get() == NULL ) return BitmapSharedPtr(); @@ -150,15 +150,15 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( - new internal::ImplBitmap( rCanvas, - xCanvas->getDevice()->createCompatibleAlphaBitmap( + return BitmapSharedPtr( + new internal::ImplBitmap( rCanvas, + xCanvas->getDevice()->createCompatibleAlphaBitmap( ::basegfx::unotools::integerSize2DFromB2ISize(rSize) ) ) ); } TextSharedPtr BaseGfxFactory::createText( const CanvasSharedPtr& rCanvas, const ::rtl::OUString& rText ) const { - return TextSharedPtr( new internal::ImplText( rCanvas, + return TextSharedPtr( new internal::ImplText( rCanvas, rText ) ); } diff --git a/cppcanvas/source/wrapper/implbitmap.cxx b/cppcanvas/source/wrapper/implbitmap.cxx index bf00e0f673c6..5748fedbfc6d 100644 --- a/cppcanvas/source/wrapper/implbitmap.cxx +++ b/cppcanvas/source/wrapper/implbitmap.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -44,7 +44,7 @@ namespace cppcanvas namespace internal { - ImplBitmap::ImplBitmap( const CanvasSharedPtr& rParentCanvas, + ImplBitmap::ImplBitmap( const CanvasSharedPtr& rParentCanvas, const uno::Reference< rendering::XBitmap >& rBitmap ) : CanvasGraphicHelper( rParentCanvas ), mxBitmap( rBitmap ), @@ -55,7 +55,7 @@ namespace cppcanvas uno::Reference< rendering::XBitmapCanvas > xBitmapCanvas( rBitmap, uno::UNO_QUERY ); if( xBitmapCanvas.is() ) - mpBitmapCanvas.reset( new ImplBitmapCanvas( + mpBitmapCanvas.reset( new ImplBitmapCanvas( uno::Reference< rendering::XBitmapCanvas >(rBitmap, uno::UNO_QUERY) ) ); } @@ -79,8 +79,8 @@ namespace cppcanvas } // TODO(P1): implement caching - pCanvas->getUNOCanvas()->drawBitmap( mxBitmap, - pCanvas->getViewState(), + pCanvas->getUNOCanvas()->drawBitmap( mxBitmap, + pCanvas->getViewState(), getRenderState() ); return true; @@ -103,12 +103,12 @@ namespace cppcanvas rendering::RenderState aLocalState( getRenderState() ); uno::Sequence<rendering::ARGBColor> aCol(1); aCol[0] = rendering::ARGBColor( nAlphaModulation, 1.0, 1.0, 1.0 ); - aLocalState.DeviceColor = + aLocalState.DeviceColor = pCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace()->convertFromARGB(aCol); // TODO(P1): implement caching - pCanvas->getUNOCanvas()->drawBitmapModulated( mxBitmap, - pCanvas->getViewState(), + pCanvas->getUNOCanvas()->drawBitmapModulated( mxBitmap, + pCanvas->getViewState(), aLocalState ); return true; diff --git a/cppcanvas/source/wrapper/implbitmap.hxx b/cppcanvas/source/wrapper/implbitmap.hxx index c27d095d1888..56bdd29070c7 100644 --- a/cppcanvas/source/wrapper/implbitmap.hxx +++ b/cppcanvas/source/wrapper/implbitmap.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -50,7 +50,7 @@ namespace cppcanvas public: ImplBitmap( const CanvasSharedPtr& rParentCanvas, - const ::com::sun::star::uno::Reference< + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap >& rBitmap ); virtual ~ImplBitmap(); @@ -59,19 +59,19 @@ namespace cppcanvas virtual bool draw() const; virtual bool drawAlphaModulated( double nAlphaModulation ) const; - virtual BitmapCanvasSharedPtr getBitmapCanvas() const; + virtual BitmapCanvasSharedPtr getBitmapCanvas() const; // Bitmap implementation - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XBitmap > getUNOBitmap() const; + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XBitmap > getUNOBitmap() const; private: // default: disabled copy/assignment ImplBitmap(const ImplBitmap&); ImplBitmap& operator=( const ImplBitmap& ); - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap > mxBitmap; - BitmapCanvasSharedPtr mpBitmapCanvas; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap > mxBitmap; + BitmapCanvasSharedPtr mpBitmapCanvas; }; } } diff --git a/cppcanvas/source/wrapper/implbitmapcanvas.cxx b/cppcanvas/source/wrapper/implbitmapcanvas.cxx index 6aa08a9334d0..5526d00e7548 100644 --- a/cppcanvas/source/wrapper/implbitmapcanvas.cxx +++ b/cppcanvas/source/wrapper/implbitmapcanvas.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -59,7 +59,7 @@ namespace cppcanvas ImplBitmapCanvas::~ImplBitmapCanvas() { } - + ::basegfx::B2ISize ImplBitmapCanvas::getSize() const { OSL_ENSURE( mxBitmap.is(), "ImplBitmapCanvas::getSize(): Invalid canvas" ); diff --git a/cppcanvas/source/wrapper/implbitmapcanvas.hxx b/cppcanvas/source/wrapper/implbitmapcanvas.hxx index 5b1b625630a0..722656d37a45 100644 --- a/cppcanvas/source/wrapper/implbitmapcanvas.hxx +++ b/cppcanvas/source/wrapper/implbitmapcanvas.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -47,13 +47,13 @@ namespace cppcanvas class ImplBitmapCanvas : public virtual BitmapCanvas, protected virtual ImplCanvas { public: - ImplBitmapCanvas( const ::com::sun::star::uno::Reference< + ImplBitmapCanvas( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas >& rCanvas ); virtual ~ImplBitmapCanvas(); - virtual ::basegfx::B2ISize getSize() const; + virtual ::basegfx::B2ISize getSize() const; - virtual CanvasSharedPtr clone() const; + virtual CanvasSharedPtr clone() const; // take compiler-provided default copy constructor //ImplBitmapCanvas(const ImplBitmapCanvas&); @@ -62,8 +62,8 @@ namespace cppcanvas // default: disabled assignment ImplBitmapCanvas& operator=( const ImplBitmapCanvas& ); - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > mxBitmapCanvas; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap > mxBitmap; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > mxBitmapCanvas; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap > mxBitmap; }; } } diff --git a/cppcanvas/source/wrapper/implcanvas.cxx b/cppcanvas/source/wrapper/implcanvas.cxx index 2fb6debc0eae..d871ac345915 100644 --- a/cppcanvas/source/wrapper/implcanvas.cxx +++ b/cppcanvas/source/wrapper/implcanvas.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -73,10 +73,10 @@ namespace cppcanvas ::basegfx::B2DHomMatrix ImplCanvas::getTransformation() const { ::basegfx::B2DHomMatrix aMatrix; - return ::canvas::tools::getViewStateTransform( aMatrix, + return ::canvas::tools::getViewStateTransform( aMatrix, maViewState ); } - + void ImplCanvas::setClip( const ::basegfx::B2DPolyPolygon& rClipPoly ) { // TODO(T3): not thread-safe. B2DPolyPolygon employs copy-on-write @@ -99,7 +99,7 @@ namespace cppcanvas { return FontSharedPtr( new ImplFont( getUNOCanvas(), rFontName, rCellSize ) ); } - + ColorSharedPtr ImplCanvas::createColor() const { return ColorSharedPtr( new ImplColor( getUNOCanvas()->getDevice() ) ); @@ -109,7 +109,7 @@ namespace cppcanvas { return CanvasSharedPtr( new ImplCanvas( *this ) ); } - + void ImplCanvas::clear() const { OSL_ENSURE( mxCanvas.is(), "ImplCanvas::clear(): Invalid XCanvas" ); diff --git a/cppcanvas/source/wrapper/implcanvas.hxx b/cppcanvas/source/wrapper/implcanvas.hxx index 481a5541441c..56254496220b 100644 --- a/cppcanvas/source/wrapper/implcanvas.hxx +++ b/cppcanvas/source/wrapper/implcanvas.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,7 +46,7 @@ namespace basegfx class B2DPolyPolygon; } -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { class XCanvas; } } } } @@ -63,29 +63,29 @@ namespace cppcanvas class ImplCanvas : public virtual Canvas { public: - ImplCanvas( const ::com::sun::star::uno::Reference< + ImplCanvas( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& rCanvas ); virtual ~ImplCanvas(); virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ); virtual ::basegfx::B2DHomMatrix getTransformation() const; - + virtual void setClip( const ::basegfx::B2DPolyPolygon& rClipPoly ); virtual void setClip(); virtual ::basegfx::B2DPolyPolygon const* getClip() const; - + virtual FontSharedPtr createFont( const ::rtl::OUString& rFontName, const double& rCellSize ) const; - + virtual ColorSharedPtr createColor() const; - + virtual CanvasSharedPtr clone() const; virtual void clear() const; - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XCanvas > getUNOCanvas() const; + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XCanvas > getUNOCanvas() const; - virtual ::com::sun::star::rendering::ViewState getViewState() const; + virtual ::com::sun::star::rendering::ViewState getViewState() const; // take compiler-provided default copy constructor //ImplCanvas(const ImplCanvas&); @@ -94,9 +94,9 @@ namespace cppcanvas // default: disabled assignment ImplCanvas& operator=( const ImplCanvas& ); - mutable ::com::sun::star::rendering::ViewState maViewState; + mutable ::com::sun::star::rendering::ViewState maViewState; boost::optional<basegfx::B2DPolyPolygon> maClipPolyPolygon; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas > mxCanvas; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas > mxCanvas; }; } diff --git a/cppcanvas/source/wrapper/implcolor.cxx b/cppcanvas/source/wrapper/implcolor.cxx index c474deee2420..a4e5f6703db0 100644 --- a/cppcanvas/source/wrapper/implcolor.cxx +++ b/cppcanvas/source/wrapper/implcolor.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite diff --git a/cppcanvas/source/wrapper/implcolor.hxx b/cppcanvas/source/wrapper/implcolor.hxx index 3bc47da73d01..ff72564163d4 100644 --- a/cppcanvas/source/wrapper/implcolor.hxx +++ b/cppcanvas/source/wrapper/implcolor.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,15 +46,15 @@ namespace cppcanvas class ImplColor : public Color { public: - ImplColor( const ::com::sun::star::uno::Reference< + ImplColor( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice >& rDevice ); virtual ~ImplColor(); - virtual IntSRGBA getIntSRGBA( ::com::sun::star::uno::Sequence< double >& rDeviceColor ) const; - virtual ::com::sun::star::uno::Sequence< double > getDeviceColor( IntSRGBA aSRGBA ) const; + virtual IntSRGBA getIntSRGBA( ::com::sun::star::uno::Sequence< double >& rDeviceColor ) const; + virtual ::com::sun::star::uno::Sequence< double > getDeviceColor( IntSRGBA aSRGBA ) const; private: - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > mxDevice; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > mxDevice; }; } diff --git a/cppcanvas/source/wrapper/implcustomsprite.cxx b/cppcanvas/source/wrapper/implcustomsprite.cxx index e41e728e40ce..c93ab1d65399 100644 --- a/cppcanvas/source/wrapper/implcustomsprite.cxx +++ b/cppcanvas/source/wrapper/implcustomsprite.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -40,10 +40,10 @@ namespace cppcanvas { namespace internal { - ImplCustomSprite::ImplCustomSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, - const uno::Reference< rendering::XCustomSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : - ImplSprite( rParentCanvas, + ImplCustomSprite::ImplCustomSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, + const uno::Reference< rendering::XCustomSprite >& rSprite, + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : + ImplSprite( rParentCanvas, uno::Reference< rendering::XSprite >(rSprite, uno::UNO_QUERY), rTransformArbiter ), diff --git a/cppcanvas/source/wrapper/implcustomsprite.hxx b/cppcanvas/source/wrapper/implcustomsprite.hxx index fe40c017b83c..f4c4b5ba1d06 100644 --- a/cppcanvas/source/wrapper/implcustomsprite.hxx +++ b/cppcanvas/source/wrapper/implcustomsprite.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -47,11 +47,11 @@ namespace cppcanvas class ImplCustomSprite : public virtual CustomSprite, protected virtual ImplSprite { public: - ImplCustomSprite( const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, - const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XCustomSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); + ImplCustomSprite( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, + const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XCustomSprite >& rSprite, + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); virtual ~ImplCustomSprite(); virtual CanvasSharedPtr getContentCanvas() const; @@ -61,8 +61,8 @@ namespace cppcanvas ImplCustomSprite(const ImplCustomSprite&); ImplCustomSprite& operator=( const ImplCustomSprite& ); - mutable CanvasSharedPtr mpLastCanvas; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCustomSprite > mxCustomSprite; + mutable CanvasSharedPtr mpLastCanvas; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCustomSprite > mxCustomSprite; }; } } diff --git a/cppcanvas/source/wrapper/implfont.cxx b/cppcanvas/source/wrapper/implfont.cxx index b466cfabd068..d92779e9f97a 100644 --- a/cppcanvas/source/wrapper/implfont.cxx +++ b/cppcanvas/source/wrapper/implfont.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -43,7 +43,7 @@ namespace cppcanvas { ImplFont::ImplFont( const uno::Reference< rendering::XCanvas >& rCanvas, - const ::rtl::OUString& rFontName, + const ::rtl::OUString& rFontName, const double& rCellSize ) : mxCanvas( rCanvas ), mxFont( NULL ) @@ -57,12 +57,12 @@ namespace cppcanvas geometry::Matrix2D aFontMatrix; ::canvas::tools::setIdentityMatrix2D( aFontMatrix ); - mxFont = mxCanvas->createFont( aFontRequest, + mxFont = mxCanvas->createFont( aFontRequest, uno::Sequence< beans::PropertyValue >(), aFontMatrix ); } - + ImplFont::~ImplFont() { } diff --git a/cppcanvas/source/wrapper/implfont.hxx b/cppcanvas/source/wrapper/implfont.hxx index 589bab707e84..e5fed9da466c 100644 --- a/cppcanvas/source/wrapper/implfont.hxx +++ b/cppcanvas/source/wrapper/implfont.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -41,7 +41,7 @@ namespace rtl class OUString; } -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { class XCanvasFont; } } } } @@ -57,22 +57,22 @@ namespace cppcanvas class ImplFont : public Font { public: - ImplFont( const ::com::sun::star::uno::Reference< + ImplFont( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas >& rCanvas, - const ::rtl::OUString& rFontName, + const ::rtl::OUString& rFontName, const double& rCellSize ); virtual ~ImplFont(); virtual ::rtl::OUString getName() const; - virtual double getCellSize() const; + virtual double getCellSize() const; - virtual ::com::sun::star::uno::Reference< + virtual ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > getUNOFont() const; private: - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas > mxCanvas; - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > mxFont; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas > mxCanvas; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > mxFont; }; } } diff --git a/cppcanvas/source/wrapper/implpolypolygon.cxx b/cppcanvas/source/wrapper/implpolypolygon.cxx index ac1fa728378c..ed28fae41d9c 100644 --- a/cppcanvas/source/wrapper/implpolypolygon.cxx +++ b/cppcanvas/source/wrapper/implpolypolygon.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -53,12 +53,12 @@ namespace cppcanvas const uno::Reference< rendering::XPolyPolygon2D >& rPolyPoly ) : CanvasGraphicHelper( rParentCanvas ), mxPolyPoly( rPolyPoly ), - maStrokeAttributes(1.0, - 10.0, - uno::Sequence< double >(), - uno::Sequence< double >(), - rendering::PathCapType::ROUND, - rendering::PathCapType::ROUND, + maStrokeAttributes(1.0, + 10.0, + uno::Sequence< double >(), + uno::Sequence< double >(), + rendering::PathCapType::ROUND, + rendering::PathCapType::ROUND, rendering::PathJoinType::ROUND ), maFillColor(), maStrokeColor(), @@ -74,7 +74,7 @@ namespace cppcanvas void ImplPolyPolygon::addPolygon( const ::basegfx::B2DPolygon& rPoly ) { - OSL_ENSURE( mxPolyPoly.is(), + OSL_ENSURE( mxPolyPoly.is(), "ImplPolyPolygon::addPolygon(): Invalid polygon" ); if( !mxPolyPoly.is() ) @@ -82,9 +82,9 @@ namespace cppcanvas uno::Reference< rendering::XGraphicDevice > xDevice( getGraphicDevice() ); - OSL_ENSURE( xDevice.is(), + OSL_ENSURE( xDevice.is(), "ImplPolyPolygon::addPolygon(): Invalid graphic device" ); - + if( !xDevice.is() ) return; @@ -96,7 +96,7 @@ namespace cppcanvas void ImplPolyPolygon::addPolyPolygon( const ::basegfx::B2DPolyPolygon& rPoly ) { - OSL_ENSURE( mxPolyPoly.is(), + OSL_ENSURE( mxPolyPoly.is(), "ImplPolyPolygon::addPolyPolygon(): Invalid polygon" ); if( !mxPolyPoly.is() ) @@ -104,9 +104,9 @@ namespace cppcanvas uno::Reference< rendering::XGraphicDevice > xDevice( getGraphicDevice() ); - OSL_ENSURE( xDevice.is(), + OSL_ENSURE( xDevice.is(), "ImplPolyPolygon::addPolyPolygon(): Invalid graphic device" ); - + if( !xDevice.is() ) return; @@ -118,27 +118,27 @@ namespace cppcanvas void ImplPolyPolygon::setRGBAFillColor( Color::IntSRGBA aColor ) { - maFillColor = tools::intSRGBAToDoubleSequence( getGraphicDevice(), + maFillColor = tools::intSRGBAToDoubleSequence( getGraphicDevice(), aColor ); mbFillColorSet = true; } void ImplPolyPolygon::setRGBALineColor( Color::IntSRGBA aColor ) { - maStrokeColor = tools::intSRGBAToDoubleSequence( getGraphicDevice(), + maStrokeColor = tools::intSRGBAToDoubleSequence( getGraphicDevice(), aColor ); mbStrokeColorSet = true; } Color::IntSRGBA ImplPolyPolygon::getRGBAFillColor() const { - return tools::doubleSequenceToIntSRGBA( getGraphicDevice(), + return tools::doubleSequenceToIntSRGBA( getGraphicDevice(), maFillColor ); } Color::IntSRGBA ImplPolyPolygon::getRGBALineColor() const { - return tools::doubleSequenceToIntSRGBA( getGraphicDevice(), + return tools::doubleSequenceToIntSRGBA( getGraphicDevice(), maStrokeColor ); } @@ -159,7 +159,7 @@ namespace cppcanvas OSL_ENSURE( pCanvas.get() != NULL && pCanvas->getUNOCanvas().is(), "ImplBitmap::draw: invalid canvas" ); - + if( pCanvas.get() == NULL || !pCanvas->getUNOCanvas().is() ) return false; @@ -169,8 +169,8 @@ namespace cppcanvas rendering::RenderState aLocalState( getRenderState() ); aLocalState.DeviceColor = maFillColor; - pCanvas->getUNOCanvas()->fillPolyPolygon( mxPolyPoly, - pCanvas->getViewState(), + pCanvas->getUNOCanvas()->fillPolyPolygon( mxPolyPoly, + pCanvas->getViewState(), aLocalState ); } @@ -180,17 +180,17 @@ namespace cppcanvas aLocalState.DeviceColor = maStrokeColor; if( ::rtl::math::approxEqual(maStrokeAttributes.StrokeWidth, 1.0) ) - pCanvas->getUNOCanvas()->drawPolyPolygon( mxPolyPoly, - pCanvas->getViewState(), + pCanvas->getUNOCanvas()->drawPolyPolygon( mxPolyPoly, + pCanvas->getViewState(), aLocalState ); else - pCanvas->getUNOCanvas()->strokePolyPolygon( mxPolyPoly, - pCanvas->getViewState(), + pCanvas->getUNOCanvas()->strokePolyPolygon( mxPolyPoly, + pCanvas->getViewState(), aLocalState, maStrokeAttributes ); } - return true; + return true; } uno::Reference< rendering::XPolyPolygon2D > ImplPolyPolygon::getUNOPolyPolygon() const diff --git a/cppcanvas/source/wrapper/implpolypolygon.hxx b/cppcanvas/source/wrapper/implpolypolygon.hxx index 7d89039f29c7..e12d75fb0d95 100644 --- a/cppcanvas/source/wrapper/implpolypolygon.hxx +++ b/cppcanvas/source/wrapper/implpolypolygon.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -37,7 +37,7 @@ #include <cppcanvas/polypolygon.hxx> #include <canvasgraphichelper.hxx> -namespace com { namespace sun { namespace star { namespace rendering +namespace com { namespace sun { namespace star { namespace rendering { struct RealPoint2D; } } } } @@ -52,40 +52,40 @@ namespace cppcanvas { public: ImplPolyPolygon( const CanvasSharedPtr& rParentCanvas, - const ::com::sun::star::uno::Reference< + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D >& rPolyPoly ); virtual ~ImplPolyPolygon(); - virtual void addPolygon( const ::basegfx::B2DPolygon& rPoly ); - virtual void addPolyPolygon( const ::basegfx::B2DPolyPolygon& rPoly ); + virtual void addPolygon( const ::basegfx::B2DPolygon& rPoly ); + virtual void addPolyPolygon( const ::basegfx::B2DPolyPolygon& rPoly ); - virtual void setRGBAFillColor( Color::IntSRGBA ); - virtual void setRGBALineColor( Color::IntSRGBA ); - virtual Color::IntSRGBA getRGBAFillColor() const; - virtual Color::IntSRGBA getRGBALineColor() const; + virtual void setRGBAFillColor( Color::IntSRGBA ); + virtual void setRGBALineColor( Color::IntSRGBA ); + virtual Color::IntSRGBA getRGBAFillColor() const; + virtual Color::IntSRGBA getRGBALineColor() const; - virtual void setStrokeWidth( const double& rStrokeWidth ); - virtual double getStrokeWidth() const; + virtual void setStrokeWidth( const double& rStrokeWidth ); + virtual double getStrokeWidth() const; - virtual bool draw() const; + virtual bool draw() const; - virtual ::com::sun::star::uno::Reference< + virtual ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D > getUNOPolyPolygon() const; private: // default: disabled copy/assignment ImplPolyPolygon(const ImplPolyPolygon&); ImplPolyPolygon& operator= ( const ImplPolyPolygon& ); + + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D > mxPolyPoly; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D > mxPolyPoly; - - ::com::sun::star::rendering::StrokeAttributes maStrokeAttributes; + ::com::sun::star::rendering::StrokeAttributes maStrokeAttributes; - ::com::sun::star::uno::Sequence< double > maFillColor; - ::com::sun::star::uno::Sequence< double > maStrokeColor; - bool mbFillColorSet; - bool mbStrokeColorSet; + ::com::sun::star::uno::Sequence< double > maFillColor; + ::com::sun::star::uno::Sequence< double > maStrokeColor; + bool mbFillColorSet; + bool mbStrokeColorSet; }; } diff --git a/cppcanvas/source/wrapper/implsprite.cxx b/cppcanvas/source/wrapper/implsprite.cxx index f2f5fba781bd..4673de2c1f41 100644 --- a/cppcanvas/source/wrapper/implsprite.cxx +++ b/cppcanvas/source/wrapper/implsprite.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,9 +46,9 @@ namespace cppcanvas namespace internal { - ImplSprite::ImplSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, - const uno::Reference< rendering::XSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : + ImplSprite::ImplSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, + const uno::Reference< rendering::XSprite >& rSprite, + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : mxGraphicDevice(), mxSprite( rSprite ), mxAnimatedSprite(), @@ -66,9 +66,9 @@ namespace cppcanvas OSL_ENSURE( mpTransformArbiter.get(), "ImplSprite::ImplSprite(): Invalid transformation arbiter"); } - ImplSprite::ImplSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, - const uno::Reference< rendering::XAnimatedSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : + ImplSprite::ImplSprite( const uno::Reference< rendering::XSpriteCanvas >& rParentCanvas, + const uno::Reference< rendering::XAnimatedSprite >& rSprite, + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ) : mxGraphicDevice(), mxSprite( uno::Reference< rendering::XSprite >(rSprite, uno::UNO_QUERY) ), @@ -112,13 +112,13 @@ namespace cppcanvas if( mxSprite.is() ) { - rendering::ViewState aViewState; - rendering::RenderState aRenderState; - + rendering::ViewState aViewState; + rendering::RenderState aRenderState; + ::canvas::tools::initViewState( aViewState ); ::canvas::tools::initRenderState( aRenderState ); - - mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ), + + mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ), aViewState, aRenderState ); } @@ -130,16 +130,16 @@ namespace cppcanvas if( mxSprite.is() ) { - rendering::ViewState aViewState; - rendering::RenderState aRenderState; + rendering::ViewState aViewState; + rendering::RenderState aRenderState; ::canvas::tools::initViewState( aViewState ); ::canvas::tools::initRenderState( aRenderState ); ::canvas::tools::setViewStateTransform( aViewState, mpTransformArbiter->getTransformation() ); - - mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ), + + mxSprite->move( ::basegfx::unotools::point2DFromB2DPoint( rNewPos ), aViewState, aRenderState ); } @@ -162,7 +162,7 @@ namespace cppcanvas { OSL_ENSURE( mxGraphicDevice.is(), "ImplSprite::setClip(): Invalid canvas"); OSL_ENSURE( mxSprite.is(), "ImplSprite::transform(): Invalid sprite"); - + if( mxSprite.is() && mxGraphicDevice.is() ) mxSprite->clip( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( mxGraphicDevice, rClipPoly ) ); @@ -172,20 +172,20 @@ namespace cppcanvas { OSL_ENSURE( mxGraphicDevice.is(), "ImplSprite::setClip(): Invalid canvas"); OSL_ENSURE( mxSprite.is(), "ImplSprite::transform(): Invalid sprite"); - + if( mxSprite.is() && mxGraphicDevice.is() ) { - ::basegfx::B2DPolyPolygon aTransformedClipPoly( rClipPoly ); - - // extract linear part of canvas view transformation (linear means: - // without translational components) - ::basegfx::B2DHomMatrix aViewTransform( mpTransformArbiter->getTransformation() ); + ::basegfx::B2DPolyPolygon aTransformedClipPoly( rClipPoly ); + + // extract linear part of canvas view transformation (linear means: + // without translational components) + ::basegfx::B2DHomMatrix aViewTransform( mpTransformArbiter->getTransformation() ); aViewTransform.set( 0, 2, 0.0 ); aViewTransform.set( 1, 2, 0.0 ); - - // transform polygon from view to device coordinate space + + // transform polygon from view to device coordinate space aTransformedClipPoly.transform( aViewTransform ); - + mxSprite->clip( ::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon( mxGraphicDevice, aTransformedClipPoly ) ); } @@ -195,11 +195,11 @@ namespace cppcanvas { OSL_ENSURE( mxGraphicDevice.is(), "ImplSprite::setClip(): Invalid canvas"); OSL_ENSURE( mxSprite.is(), "ImplSprite::setClip(): Invalid sprite"); - + if( mxSprite.is() && mxGraphicDevice.is() ) mxSprite->clip( uno::Reference< rendering::XPolyPolygon2D >() ); } - + void ImplSprite::show() { OSL_ENSURE( mxSprite.is(), "ImplSprite::show(): Invalid sprite"); diff --git a/cppcanvas/source/wrapper/implsprite.hxx b/cppcanvas/source/wrapper/implsprite.hxx index 1397791d1f82..d8b4a8600fd1 100644 --- a/cppcanvas/source/wrapper/implsprite.hxx +++ b/cppcanvas/source/wrapper/implsprite.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,16 +46,16 @@ namespace cppcanvas class ImplSprite : public virtual Sprite { public: - ImplSprite( const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, - const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); - ImplSprite( const ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, - const ::com::sun::star::uno::Reference< + ImplSprite( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, + const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSprite >& rSprite, + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); + ImplSprite( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSpriteCanvas >& rParentCanvas, + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XAnimatedSprite >& rSprite, - const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); + const ImplSpriteCanvas::TransformationArbiterSharedPtr& rTransformArbiter ); virtual ~ImplSprite(); virtual void setAlpha( const double& rAlpha ); @@ -65,16 +65,16 @@ namespace cppcanvas virtual void setClipPixel( const ::basegfx::B2DPolyPolygon& rClipPoly ); virtual void setClip( const ::basegfx::B2DPolyPolygon& rClipPoly ); virtual void setClip(); - + virtual void show(); virtual void hide(); virtual void setPriority( double fPriority ); - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSprite > getUNOSprite() const; + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSprite > getUNOSprite() const; - ::com::sun::star::uno::Reference< + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > getGraphicDevice() const; @@ -83,10 +83,10 @@ namespace cppcanvas ImplSprite(const ImplSprite&); ImplSprite& operator=( const ImplSprite& ); - ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > mxGraphicDevice; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XSprite > mxSprite; - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XAnimatedSprite > mxAnimatedSprite; - ImplSpriteCanvas::TransformationArbiterSharedPtr mpTransformArbiter; + ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XGraphicDevice > mxGraphicDevice; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XSprite > mxSprite; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XAnimatedSprite > mxAnimatedSprite; + ImplSpriteCanvas::TransformationArbiterSharedPtr mpTransformArbiter; }; } } diff --git a/cppcanvas/source/wrapper/implspritecanvas.cxx b/cppcanvas/source/wrapper/implspritecanvas.cxx index cc8cf5bdefcc..c116fd970a5e 100644 --- a/cppcanvas/source/wrapper/implspritecanvas.cxx +++ b/cppcanvas/source/wrapper/implspritecanvas.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -69,7 +69,7 @@ namespace cppcanvas { OSL_ENSURE( mxSpriteCanvas.is(), "ImplSpriteCanvas::ImplSpriteCanvas(): Invalid canvas" ); } - + ImplSpriteCanvas::ImplSpriteCanvas(const ImplSpriteCanvas& rOrig) : Canvas(), BitmapCanvas(), @@ -104,7 +104,7 @@ namespace cppcanvas return mxSpriteCanvas->updateScreen( bUpdateAll ); } - + CustomSpriteSharedPtr ImplSpriteCanvas::createCustomSprite( const ::basegfx::B2DSize& rSize ) const { OSL_ENSURE( mxSpriteCanvas.is(), "ImplSpriteCanvas::createCustomSprite(): Invalid canvas" ); @@ -112,7 +112,7 @@ namespace cppcanvas if( !mxSpriteCanvas.is() ) return CustomSpriteSharedPtr(); - return CustomSpriteSharedPtr( + return CustomSpriteSharedPtr( new ImplCustomSprite( mxSpriteCanvas, mxSpriteCanvas->createCustomSprite( ::basegfx::unotools::size2DFromB2DSize(rSize) ), mpTransformArbiter ) ); @@ -121,7 +121,7 @@ namespace cppcanvas SpriteSharedPtr ImplSpriteCanvas::createClonedSprite( const SpriteSharedPtr& rSprite ) const { OSL_ENSURE( mxSpriteCanvas.is(), "ImplSpriteCanvas::createCustomSprite(): Invalid canvas" ); - OSL_ENSURE( rSprite.get() != NULL && rSprite->getUNOSprite().is(), + OSL_ENSURE( rSprite.get() != NULL && rSprite->getUNOSprite().is(), "ImplSpriteCanvas::createCustomSprite(): Invalid sprite" ); if( !mxSpriteCanvas.is() || @@ -131,16 +131,16 @@ namespace cppcanvas return SpriteSharedPtr(); } - return SpriteSharedPtr( + return SpriteSharedPtr( new ImplSprite( mxSpriteCanvas, mxSpriteCanvas->createClonedSprite( rSprite->getUNOSprite() ), mpTransformArbiter ) ); } - SpriteSharedPtr ImplSpriteCanvas::createSpriteFromBitmaps( const uno::Sequence< uno::Reference< rendering::XBitmap > >& rAnimationBitmaps, - sal_Int8 nInterpolationMode ) + SpriteSharedPtr ImplSpriteCanvas::createSpriteFromBitmaps( const uno::Sequence< uno::Reference< rendering::XBitmap > >& rAnimationBitmaps, + sal_Int8 nInterpolationMode ) { - return SpriteSharedPtr( new internal::ImplSprite( mxSpriteCanvas, + return SpriteSharedPtr( new internal::ImplSprite( mxSpriteCanvas, mxSpriteCanvas->createSpriteFromBitmaps( rAnimationBitmaps, nInterpolationMode ), mpTransformArbiter ) ); diff --git a/cppcanvas/source/wrapper/implspritecanvas.hxx b/cppcanvas/source/wrapper/implspritecanvas.hxx index d308b313b7dd..a6844431e456 100644 --- a/cppcanvas/source/wrapper/implspritecanvas.hxx +++ b/cppcanvas/source/wrapper/implspritecanvas.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -48,29 +48,29 @@ namespace cppcanvas class ImplSpriteCanvas : public virtual SpriteCanvas, protected virtual ImplBitmapCanvas { public: - ImplSpriteCanvas( const ::com::sun::star::uno::Reference< + ImplSpriteCanvas( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XSpriteCanvas >& rCanvas ); ImplSpriteCanvas(const ImplSpriteCanvas&); virtual ~ImplSpriteCanvas(); - virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ); - - virtual bool updateScreen( bool bUpdateAll ) const; + virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ); - virtual CustomSpriteSharedPtr createCustomSprite( const ::basegfx::B2DSize& ) const; - virtual SpriteSharedPtr createClonedSprite( const SpriteSharedPtr& ) const; + virtual bool updateScreen( bool bUpdateAll ) const; + + virtual CustomSpriteSharedPtr createCustomSprite( const ::basegfx::B2DSize& ) const; + virtual SpriteSharedPtr createClonedSprite( const SpriteSharedPtr& ) const; - SpriteSharedPtr createSpriteFromBitmaps( - const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XBitmap > >& animationBitmaps, - sal_Int8 interpolationMode ); + SpriteSharedPtr createSpriteFromBitmaps( + const ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XBitmap > >& animationBitmaps, + sal_Int8 interpolationMode ); - virtual CanvasSharedPtr clone() const; + virtual CanvasSharedPtr clone() const; - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::rendering::XSpriteCanvas > getUNOSpriteCanvas() const; + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XSpriteCanvas > getUNOSpriteCanvas() const; /** This class passes the view transformation to child sprites @@ -80,16 +80,16 @@ namespace cppcanvas itself, but has somehow pass an object to child sprites those can query for the canvas' view transform. */ - class TransformationArbiter + class TransformationArbiter { public: TransformationArbiter(); - void setTransformation( const ::basegfx::B2DHomMatrix& rViewTransform ); - ::basegfx::B2DHomMatrix getTransformation() const; + void setTransformation( const ::basegfx::B2DHomMatrix& rViewTransform ); + ::basegfx::B2DHomMatrix getTransformation() const; private: - ::basegfx::B2DHomMatrix maTransformation; + ::basegfx::B2DHomMatrix maTransformation; }; typedef ::boost::shared_ptr< TransformationArbiter > TransformationArbiterSharedPtr; @@ -98,8 +98,8 @@ namespace cppcanvas // default: disabled assignment ImplSpriteCanvas& operator=( const ImplSpriteCanvas& ); - const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XSpriteCanvas > mxSpriteCanvas; - TransformationArbiterSharedPtr mpTransformArbiter; + const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XSpriteCanvas > mxSpriteCanvas; + TransformationArbiterSharedPtr mpTransformArbiter; }; } } diff --git a/cppcanvas/source/wrapper/impltext.cxx b/cppcanvas/source/wrapper/impltext.cxx index 68592105c14a..57433c7c8baa 100644 --- a/cppcanvas/source/wrapper/impltext.cxx +++ b/cppcanvas/source/wrapper/impltext.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -46,8 +46,8 @@ namespace cppcanvas namespace internal { - ImplText::ImplText( const CanvasSharedPtr& rParentCanvas, - const ::rtl::OUString& rText ) : + ImplText::ImplText( const CanvasSharedPtr& rParentCanvas, + const ::rtl::OUString& rText ) : CanvasGraphicHelper( rParentCanvas ), mpFont(), maText(rText) diff --git a/cppcanvas/source/wrapper/impltext.hxx b/cppcanvas/source/wrapper/impltext.hxx index a45e7dab2114..c24efece4463 100644 --- a/cppcanvas/source/wrapper/impltext.hxx +++ b/cppcanvas/source/wrapper/impltext.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -47,8 +47,8 @@ namespace cppcanvas { public: - ImplText( const CanvasSharedPtr& rParentCanvas, - const ::rtl::OUString& rText ); + ImplText( const CanvasSharedPtr& rParentCanvas, + const ::rtl::OUString& rText ); virtual ~ImplText(); @@ -62,8 +62,8 @@ namespace cppcanvas ImplText(const ImplText&); ImplText& operator= ( const ImplText& ); - FontSharedPtr mpFont; - ::rtl::OUString maText; + FontSharedPtr mpFont; + ::rtl::OUString maText; }; } } diff --git a/cppcanvas/source/wrapper/vclfactory.cxx b/cppcanvas/source/wrapper/vclfactory.cxx index 870de321055c..b4a92ef3eba1 100644 --- a/cppcanvas/source/wrapper/vclfactory.cxx +++ b/cppcanvas/source/wrapper/vclfactory.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -71,15 +71,15 @@ namespace cppcanvas VCLFactory::VCLFactory() { } - + VCLFactory::~VCLFactory() { } BitmapCanvasSharedPtr VCLFactory::createCanvas( const ::Window& rVCLWindow ) - { - return BitmapCanvasSharedPtr( - new internal::ImplBitmapCanvas( + { + return BitmapCanvasSharedPtr( + new internal::ImplBitmapCanvas( uno::Reference< rendering::XBitmapCanvas >( rVCLWindow.GetCanvas(), uno::UNO_QUERY) ) ); @@ -87,14 +87,14 @@ namespace cppcanvas BitmapCanvasSharedPtr VCLFactory::createCanvas( const uno::Reference< rendering::XBitmapCanvas >& xCanvas ) { - return BitmapCanvasSharedPtr( + return BitmapCanvasSharedPtr( new internal::ImplBitmapCanvas( xCanvas ) ); } SpriteCanvasSharedPtr VCLFactory::createSpriteCanvas( const ::Window& rVCLWindow ) const { - return SpriteCanvasSharedPtr( - new internal::ImplSpriteCanvas( + return SpriteCanvasSharedPtr( + new internal::ImplSpriteCanvas( uno::Reference< rendering::XSpriteCanvas >( rVCLWindow.GetSpriteCanvas(), uno::UNO_QUERY) ) ); @@ -102,25 +102,25 @@ namespace cppcanvas SpriteCanvasSharedPtr VCLFactory::createSpriteCanvas( const uno::Reference< rendering::XSpriteCanvas >& xCanvas ) const { - return SpriteCanvasSharedPtr( + return SpriteCanvasSharedPtr( new internal::ImplSpriteCanvas( xCanvas ) ); } - SpriteCanvasSharedPtr VCLFactory::createFullscreenSpriteCanvas( const ::Window& rVCLWindow, - const Size& rFullscreenSize ) const + SpriteCanvasSharedPtr VCLFactory::createFullscreenSpriteCanvas( const ::Window& rVCLWindow, + const Size& rFullscreenSize ) const { - return SpriteCanvasSharedPtr( - new internal::ImplSpriteCanvas( + return SpriteCanvasSharedPtr( + new internal::ImplSpriteCanvas( uno::Reference< rendering::XSpriteCanvas >( rVCLWindow.GetFullscreenSpriteCanvas( rFullscreenSize ), uno::UNO_QUERY) ) ); } - PolyPolygonSharedPtr VCLFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, - const ::Polygon& rPoly ) const + PolyPolygonSharedPtr VCLFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, + const ::Polygon& rPoly ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createPolyPolygon(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -130,18 +130,18 @@ namespace cppcanvas if( !xCanvas.is() ) return PolyPolygonSharedPtr(); - return PolyPolygonSharedPtr( - new internal::ImplPolyPolygon( rCanvas, + return PolyPolygonSharedPtr( + new internal::ImplPolyPolygon( rCanvas, ::vcl::unotools::xPolyPolygonFromPolygon( xCanvas->getDevice(), rPoly) ) ); } - PolyPolygonSharedPtr VCLFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, - const ::PolyPolygon& rPolyPoly ) const + PolyPolygonSharedPtr VCLFactory::createPolyPolygon( const CanvasSharedPtr& rCanvas, + const ::PolyPolygon& rPolyPoly ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createPolyPolygon(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -151,20 +151,20 @@ namespace cppcanvas if( !xCanvas.is() ) return PolyPolygonSharedPtr(); - return PolyPolygonSharedPtr( - new internal::ImplPolyPolygon( rCanvas, + return PolyPolygonSharedPtr( + new internal::ImplPolyPolygon( rCanvas, ::vcl::unotools::xPolyPolygonFromPolyPolygon( xCanvas->getDevice(), rPolyPoly) ) ); } - BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, - const ::Size& rSize ) const + BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, + const ::Size& rSize ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createBitmap(): Invalid canvas" ); - + if( rCanvas.get() == NULL ) return BitmapSharedPtr(); @@ -172,19 +172,19 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( - new internal::ImplBitmap( rCanvas, - xCanvas->getDevice()->createCompatibleBitmap( + return BitmapSharedPtr( + new internal::ImplBitmap( rCanvas, + xCanvas->getDevice()->createCompatibleBitmap( ::vcl::unotools::integerSize2DFromSize(rSize) ) ) ); } - BitmapSharedPtr VCLFactory::createAlphaBitmap( const CanvasSharedPtr& rCanvas, - const ::Size& rSize ) const + BitmapSharedPtr VCLFactory::createAlphaBitmap( const CanvasSharedPtr& rCanvas, + const ::Size& rSize ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createBitmap(): Invalid canvas" ); - + if( rCanvas.get() == NULL ) return BitmapSharedPtr(); @@ -192,17 +192,17 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( - new internal::ImplBitmap( rCanvas, - xCanvas->getDevice()->createCompatibleAlphaBitmap( + return BitmapSharedPtr( + new internal::ImplBitmap( rCanvas, + xCanvas->getDevice()->createCompatibleAlphaBitmap( ::vcl::unotools::integerSize2DFromSize(rSize) ) ) ); } - BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, - const ::Bitmap& rBitmap ) const + BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, + const ::Bitmap& rBitmap ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createBitmap(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -212,17 +212,17 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( new internal::ImplBitmap( rCanvas, + return BitmapSharedPtr( new internal::ImplBitmap( rCanvas, ::vcl::unotools::xBitmapFromBitmap( xCanvas->getDevice(), rBitmap) ) ); } - BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, - const ::BitmapEx& rBmpEx ) const + BitmapSharedPtr VCLFactory::createBitmap( const CanvasSharedPtr& rCanvas, + const ::BitmapEx& rBmpEx ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createBitmap(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -232,18 +232,18 @@ namespace cppcanvas if( !xCanvas.is() ) return BitmapSharedPtr(); - return BitmapSharedPtr( new internal::ImplBitmap( rCanvas, + return BitmapSharedPtr( new internal::ImplBitmap( rCanvas, ::vcl::unotools::xBitmapFromBitmapEx( xCanvas->getDevice(), rBmpEx) ) ); } - RendererSharedPtr VCLFactory::createRenderer( const CanvasSharedPtr& rCanvas, - const ::Graphic& rGraphic, - const Renderer::Parameters& rParms ) const + RendererSharedPtr VCLFactory::createRenderer( const CanvasSharedPtr& rCanvas, + const ::Graphic& rGraphic, + const Renderer::Parameters& rParms ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createRenderer(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -254,20 +254,20 @@ namespace cppcanvas return RendererSharedPtr(); if( rGraphic.GetType() == GRAPHIC_GDIMETAFILE ) - return RendererSharedPtr( new internal::ImplRenderer( rCanvas, + return RendererSharedPtr( new internal::ImplRenderer( rCanvas, rGraphic.GetGDIMetaFile(), rParms ) ); else - return RendererSharedPtr( new internal::ImplRenderer( rCanvas, + return RendererSharedPtr( new internal::ImplRenderer( rCanvas, rGraphic.GetBitmapEx(), rParms ) ); } - RendererSharedPtr VCLFactory::createRenderer( const CanvasSharedPtr& rCanvas, - const ::GDIMetaFile& rMtf, - const Renderer::Parameters& rParms ) const + RendererSharedPtr VCLFactory::createRenderer( const CanvasSharedPtr& rCanvas, + const ::GDIMetaFile& rMtf, + const Renderer::Parameters& rParms ) const { - return RendererSharedPtr( new internal::ImplRenderer( rCanvas, + return RendererSharedPtr( new internal::ImplRenderer( rCanvas, rMtf, rParms ) ); } @@ -275,7 +275,7 @@ namespace cppcanvas SpriteSharedPtr VCLFactory::createAnimatedSprite( const SpriteCanvasSharedPtr& rCanvas, const ::Animation& rAnim ) const { OSL_ENSURE( rCanvas.get() != NULL && - rCanvas->getUNOCanvas().is(), + rCanvas->getUNOCanvas().is(), "VCLFactory::createAnimatedSprite(): Invalid canvas" ); if( rCanvas.get() == NULL ) @@ -324,7 +324,7 @@ namespace cppcanvas // simply clear bitmap to transparent aBmpEx.Erase( ::Color( 255, 0,0,0 ) ); } - else if( rAnimBmp.eDisposal == DISPOSE_PREVIOUS ) + else if( rAnimBmp.eDisposal == DISPOSE_PREVIOUS ) { // copy in last known full frame aBmpEx = aRestoreBuffer; @@ -335,10 +335,10 @@ namespace cppcanvas "VCLFactory::createAnimatedSprite(): Somebody set the deprecated DISPOSE_FULL at the Animation" ); // update display - aBmpEx.CopyPixel( Rectangle( rAnimBmp.aPosPix, - rAnimBmp.aSizePix ), + aBmpEx.CopyPixel( Rectangle( rAnimBmp.aPosPix, + rAnimBmp.aSizePix ), Rectangle( aEmptyPoint, - rAnimBmp.aSizePix ), + rAnimBmp.aSizePix ), &rAnimBmp.aBmpEx ); // store last DISPOSE_NOT frame, for later @@ -357,7 +357,7 @@ namespace cppcanvas TextSharedPtr VCLFactory::createText( const CanvasSharedPtr& rCanvas, const ::rtl::OUString& rText ) const { - return TextSharedPtr( new internal::ImplText( rCanvas, + return TextSharedPtr( new internal::ImplText( rCanvas, rText ) ); } |