Kaydet (Commit) 6fcee31e authored tarafından Release Engineers's avatar Release Engineers

CWS-TOOLING: integrate CWS aw065

2009-06-17 13:48:12 +0200 aw  r273068 : #99385# corrected small error in SCs selection visualisation
2009-06-16 15:45:28 +0200 wg  r273021 : i102838
2009-06-16 12:46:07 +0200 wg  r273016 : i102833
2009-06-11 17:40:29 +0200 aw  r272895 : #i98870# added implementation for getPageCount helper
2009-06-11 16:39:54 +0200 aw  r272885 : #i102663#, #i102667#, #i98870# incluide file typo corrected
2009-06-11 16:24:07 +0200 aw  r272881 : #i102663#, #i102667#, #i98870# changes to SdrText, it's usage in SdrTextPrimitive2D and to OverlayObject base implementation. Also support for PageCountField added
2009-06-11 16:23:52 +0200 aw  r272880 : #i102663#, #i102667#, #i98870# changes to SdrText, it's usage in SdrTextPrimitive2D and to OverlayObject base implementation. Also support for PageCountField added
2009-06-09 13:50:29 +0200 aw  r272769 : #i98917# added support for the OverlayHatchRectanglePrimitive to follow rotation with it's hatch; simplified OverlayHatchRect
2009-06-09 13:04:06 +0200 aw  r272766 : #i98870# re-added PageNumber identification in SdrTextPrimitive2D::get2DDecomposition
2009-06-08 18:56:05 +0200 aw  r272744 : #i99385# added some last corrections to OverlayObjects in SD (had to do some merges on resync, needed to optically check and correct)
2009-06-08 11:17:57 +0200 aw  r272725 : cws aw065: corrections after resync
2009-06-08 11:02:25 +0200 aw  r272723 : cws aw065: corrections after resync
2009-06-08 10:36:22 +0200 aw  r272722 : cws aw065: corrections after resync
2009-06-05 18:57:06 +0200 aw  r272712 : CWS-TOOLING: rebase CWS aw065 to trunk@272291 (milestone: DEV300:m49)
2009-06-05 14:56:34 +0200 aw  r272690 : #i89784# stripped old stuff no longer needed due to text-to-polygon conversion using primitives
2009-06-05 14:50:07 +0200 aw  r272688 : #102091# removed on-model-lock suppression for SdrObject::ActionChanged()
2009-06-05 14:47:29 +0200 aw  r272687 : #102091# corrected local value buffering in ScenePrimitive2D::get2DDecomposition
2009-06-03 17:53:32 +0200 aw  r272599 : #i89784# version before stripping
2009-06-03 17:52:18 +0200 aw  r272598 : #i89784# version before stripping
2009-05-28 17:15:47 +0200 aw  r272420 : #i101872# old stuff removed/stripped
2009-05-28 17:15:32 +0200 aw  r272419 : #i101872# old stuff removed/stripped
2009-05-28 17:15:15 +0200 aw  r272418 : #i101872# old stuff removed/stripped
2009-05-28 17:14:45 +0200 aw  r272417 : #i101872# old stuff removed/stripped
2009-05-28 12:13:56 +0200 aw  r272396 : #i101872# stable hybrid state
2009-05-28 12:13:46 +0200 aw  r272395 : #i101872# stable hybrid state
2009-05-28 12:13:35 +0200 aw  r272394 : #i101872# stable hybrid state
2009-05-28 12:13:20 +0200 aw  r272393 : #i101872# stable hybrid state
2009-05-28 12:13:05 +0200 aw  r272392 : #i101872# stable hybrid state
2009-05-28 12:12:51 +0200 aw  r272391 : #i101872# stable hybrid state
2009-05-15 16:56:02 +0200 aw  r271952 : #i101872# HitTest unifications
2009-05-15 16:55:22 +0200 aw  r271951 : #i101872# HitTest unifications
2009-05-15 16:55:12 +0200 aw  r271950 : #i101872# HitTest unifications
2009-05-15 16:55:01 +0200 aw  r271949 : #i101872# HitTest unifications
2009-05-15 16:54:51 +0200 aw  r271948 : #i101872# HitTest unifications
2009-05-15 16:54:35 +0200 aw  r271947 : #i101872# HitTest unifications
2009-05-15 16:54:22 +0200 aw  r271946 : #i101872# HitTest unifications
2009-05-12 19:08:38 +0200 aw  r271834 : #i101684# corrected AutoShape's preparation of text transformation due to different definitions in TextBounds
2009-05-12 15:44:49 +0200 aw  r271827 : #i89784# expanded TextLayouterDevice::getTextOutlines() to support DXArray and X-Font scaling
2009-05-11 19:40:40 +0200 aw  r271790 : #i99385# extended HitTest primitive usage, removed IsHdlHit implementations; prepared further HitTest simplifications
2009-05-11 19:40:25 +0200 aw  r271789 : #i99385# extended HitTest primitive usage, removed IsHdlHit implementations; prepared further HitTest simplifications
2009-05-11 19:40:12 +0200 aw  r271788 : #i99385# extended HitTest primitive usage, removed IsHdlHit implementations; prepared further HitTest simplifications
2009-05-11 13:01:53 +0200 aw  r271765 : #i99385# corrections and optimizations
2009-05-08 14:48:40 +0200 aw  r271718 : #i1016180# added optimizations in model operations when model is locked
2009-05-08 14:11:45 +0200 aw  r271716 : #i101679# added flush() calls to OverlayManager when interaction step is prepared
2009-05-07 17:44:03 +0200 aw  r271689 : #i99385# last corrections/changes
2009-05-07 17:43:47 +0200 aw  r271688 : #i99385# last corrections/changes
2009-05-07 13:20:09 +0200 aw  r271654 : #i99385# added changes from WFH
2009-05-07 13:19:38 +0200 aw  r271653 : #i99385# added changes from WFH
2009-05-07 13:19:11 +0200 aw  r271652 : #i99385# added changes from WFH
2009-05-07 11:33:17 +0200 aw  r271643 : #i99385# corrections after resync
2009-05-07 11:17:31 +0200 aw  r271642 : #i99385# corrections after resync
2009-05-06 18:46:53 +0200 aw  r271609 : CWS-TOOLING: rebase CWS aw065 to trunk@271427 (milestone: DEV300:m47)
2009-05-05 18:24:03 +0200 aw  r271548 : #i101443# force new text decomposition when TextBackgroundColor has changed
2009-05-05 17:44:42 +0200 aw  r271542 : #i99385# 3rd round, simplifications and corrections done
2009-05-05 17:44:32 +0200 aw  r271541 : #i99385# 3rd round, simplifications and corrections done
2009-05-05 17:44:20 +0200 aw  r271540 : #i99385# 3rd round, simplifications and corrections done
2009-05-05 17:44:09 +0200 aw  r271539 : #i99385# 3rd round, simplifications and corrections done
2009-05-05 15:48:38 +0200 aw  r271527 : #i99385# 2nd round, usages checked and corrected
2009-05-05 15:48:15 +0200 aw  r271526 : #i99385# 2nd round, usages checked and corrected
2009-05-05 15:48:03 +0200 aw  r271525 : #i99385# 2nd round, usages checked and corrected
2009-05-05 15:47:51 +0200 aw  r271524 : #i99385# 2nd round, usages checked and corrected
2009-04-27 18:33:10 +0200 aw  r271300 : #i99385# state commit after all implementations are done
2009-04-27 15:36:53 +0200 aw  r271283 : #i99385# state commit after all implementations are done
2009-04-27 15:27:49 +0200 aw  r271280 : #i99385# state commit after all implementations are done
2009-04-27 15:27:33 +0200 aw  r271279 : #i99385# state commit after all implementations are done
2009-04-27 15:27:00 +0200 aw  r271278 : #i99385# state commit after all implementations are done
2009-04-27 15:26:15 +0200 aw  r271277 : #i99385# state commit after all implementations are done
2009-04-27 15:25:40 +0200 aw  r271275 : #i99385# state commit after all implementations are done
2009-04-27 15:25:19 +0200 aw  r271274 : #i99385# state commit after all implementations are done
2009-04-27 15:24:00 +0200 aw  r271272 : #i99385# state commit after all implementations are done
2009-03-19 17:12:00 +0100 aw  r269757 : #i100360# corrected bitmap's PefSize calculation for bitmap filled objects when Bitmap is Pixel-based on it's mapping
2009-02-19 17:09:47 +0100 aw  r268298 : #i98917# corrected attributes
2009-02-19 17:09:30 +0100 aw  r268297 : #i98917# corrected attributes
2009-02-19 17:08:22 +0100 aw  r268296 : #i98917# corrected attributes
2009-02-19 11:56:25 +0100 aw  r268268 : #i98870# added extra code to react on PageNumber change
2009-02-18 16:57:24 +0100 aw  r268243 : #i98917# in OverlayHatchRect::getGeometry the rotation was not applied to the TopLeft of the centered rectangle, but to the already extended one, thus the visualisation was rotating around the wrong edge
üst 33670429
......@@ -64,11 +64,11 @@ namespace drawinglayer
public:
SdrLineFillShadowAttribute(
SdrLineAttribute* pLine = 0L,
SdrFillAttribute* pFill = 0L,
SdrLineStartEndAttribute* pLineStartEnd = 0L,
SdrShadowAttribute* pShadow = 0L,
FillGradientAttribute* pFillFloatTransGradient = 0L);
SdrLineAttribute* pLine = 0,
SdrFillAttribute* pFill = 0,
SdrLineStartEndAttribute* pLineStartEnd = 0,
SdrShadowAttribute* pShadow = 0,
FillGradientAttribute* pFillFloatTransGradient = 0);
~SdrLineFillShadowAttribute();
// copy constructor and assigment operator
......
......@@ -102,6 +102,7 @@
#define PRIMITIVE2D_ID_BORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 51)
#define PRIMITIVE2D_ID_POLYPOLYGONMARKERPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 52)
#define PRIMITIVE2D_ID_HITTESTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 53)
#define PRIMITIVE2D_ID_INVERTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 54)
//////////////////////////////////////////////////////////////////////////////
......
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unifiedalphaprimitive2d.hxx,v $
*
* $Revision: 1.3 $
*
* last change: $Author: aw $ $Date: 2008-05-27 14:11:17 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace primitive2d
{
class InvertPrimitive2D : public GroupPrimitive2D
{
public:
InvertPrimitive2D(const Primitive2DSequence& rChildren);
// provide unique ID
DeclPrimitrive2DIDBlock()
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
//////////////////////////////////////////////////////////////////////////////
// eof
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: baseprimitive2d.hxx,v $
*
* $Revision: 1.8 $
*
* last change: $Author: aw $ $Date: 2008-05-27 14:11:16 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
//////////////////////////////////////////////////////////////////////////////
// tooling class for BasePrimitive2D baseed classes which are view-dependent
// regarding the size of a discrete unit. The implementation of get2DDecomposition
// guards the buffered local decomposition and ensures that a createLocalDecomposition
// implementation may use an up-to-date DiscreteUnit accessible using getDiscreteUnit()
namespace drawinglayer
{
namespace primitive2d
{
class DiscreteMetricDependentPrimitive2D : public BasePrimitive2D
{
private:
// the last used fDiscreteUnit definitions for decomposition. Since this
// is checked and updated from get2DDecomposition() it will be current and
// usable in createLocalDecomposition()
double mfDiscreteUnit;
public:
DiscreteMetricDependentPrimitive2D()
: BasePrimitive2D(),
mfDiscreteUnit(0.0)
{
}
// data access
double getDiscreteUnit() const { return mfDiscreteUnit; }
// get local decomposition. Overloaded since this decomposition is view-dependent
virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
// tooling class for BasePrimitive2D baseed classes which are view-dependent
// regarding the viewport. The implementation of get2DDecomposition
// guards the buffered local decomposition and ensures that a createLocalDecomposition
// implementation may use an up-to-date Viewport accessible using getViewport()
namespace drawinglayer
{
namespace primitive2d
{
class ViewportDependentPrimitive2D : public BasePrimitive2D
{
private:
// the last used Viewport definition for decomposition. Since this
// is checked and updated from get2DDecomposition() it will be current and
// usable in createLocalDecomposition()
basegfx::B2DRange maViewport;
public:
ViewportDependentPrimitive2D()
: BasePrimitive2D(),
maViewport()
{
}
// data access
const basegfx::B2DRange& getViewport() const { return maViewport; }
// get local decomposition. Overloaded since this decomposition is view-dependent
virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
};
} // end of namespace primitive2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
//////////////////////////////////////////////////////////////////////////////
// eof
......@@ -86,7 +86,7 @@ namespace drawinglayer
// public helpers
// Geometry extractor. Shadow will be added as in createLocalDecomposition, but
// the 3D content is not converted to a bitmap visualisation but to projected 2D gemetry. This
// helper is useful for Contour extraction.
// helper is useful e.g. for Contour extraction or HitTests.
Primitive2DSequence getGeometry2D(const geometry::ViewInformation2D& rViewInformation) const;
// constructor/destructor
......
......@@ -97,7 +97,10 @@ namespace drawinglayer
basegfx::B2DPolyPolygonVector&,
const String& rText,
xub_StrLen nIndex,
xub_StrLen nLength);
xub_StrLen nLength,
// #i89784# added suppirt for DXArray for justified text
const ::std::vector< double >& rDXArray,
double fFontScaleWidth);
basegfx::B2DRange getTextBoundRect(
const String& rText,
......
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: contourextractor2d.hxx,v $
*
* $Revision: 1.3 $
*
* last change: $Author: aw $ $Date: 2008-06-24 15:30:17 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
#ifndef INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
//////////////////////////////////////////////////////////////////////////////
// predeclarations
namespace basegfx { class B2DPolygon; }
namespace basegfx { class B2DPolyPolygon; }
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace processor2d
{
class HitTestProcessor2D : public BaseProcessor2D
{
private:
// discrete HitTest position
basegfx::B2DPoint maDiscreteHitPosition;
// discrete HitTolerance
double mfDiscreteHitTolerance;
// bitfield
unsigned mbHit : 1;
unsigned mbHitToleranceUsed : 1;
// this flag decides if primitives of type HitTestPrimitive2D
// will be taken into account for HitTesting or not. Those primitives
// are created for objects which are else completely invisible and normally
// their content exists of hairline primitives describing the object's contour
unsigned mbUseHitTestPrimitiveContent : 1;
// flag to concentraze on text hits only
unsigned mbHitTextOnly : 1;
// tooling methods
void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
bool checkHairlineHitWithTolerance(
const basegfx::B2DPolygon& rPolygon,
double fDiscreteHitTolerance);
bool checkFillHitWithTolerance(
const basegfx::B2DPolyPolygon& rPolyPolygon,
double fDiscreteHitTolerance);
public:
HitTestProcessor2D(
const geometry::ViewInformation2D& rViewInformation,
const basegfx::B2DPoint& rLogicHitPosition,
double fLogicHitTolerance,
bool bHitTextOnly);
virtual ~HitTestProcessor2D();
// data write access
void setUseHitTestPrimitiveContent(bool bNew)
{
if((bool)mbUseHitTestPrimitiveContent != bNew) mbUseHitTestPrimitiveContent = bNew;
}
// data read access
const basegfx::B2DPoint& getDiscreteHitPosition() const { return maDiscreteHitPosition; }
double getDiscreteHitTolerance() const { return mfDiscreteHitTolerance; }
bool getHit() const { return mbHit; }
bool getHitToleranceUsed() const { return mbHitToleranceUsed; }
bool getUseHitTestPrimitiveContent() const { return mbUseHitTestPrimitiveContent;}
bool getHitTextOnly() const { return mbHitTextOnly; }
};
} // end of namespace processor2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
// eof
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: linegeometryextractor2d.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: aw $ $Date: 2008-06-24 15:44:27 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
#ifndef INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/color/bcolor.hxx>
#include <basegfx/color/bcolormodifier.hxx>
#include <vector>
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace processor2d
{
// helper data structure for returning the result
struct TextAsPolygonDataNode
{
private:
basegfx::B2DPolyPolygon maB2DPolyPolygon;
basegfx::BColor maBColor;
bool mbIsFilled;
public:
TextAsPolygonDataNode(
const basegfx::B2DPolyPolygon& rB2DPolyPolygon,
const basegfx::BColor& rBColor,
bool bIsFilled)
: maB2DPolyPolygon(rB2DPolyPolygon),
maBColor(rBColor),
mbIsFilled(bIsFilled)
{
}
// data read access
const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maB2DPolyPolygon; }
const basegfx::BColor& getBColor() const { return maBColor; }
bool getIsFilled() const { return mbIsFilled; }
};
// typedef for a vector of that helper data
typedef ::std::vector< TextAsPolygonDataNode > TextAsPolygonDataNodeVector;
class TextAsPolygonExtractor2D : public BaseProcessor2D
{
private:
// extraction target
TextAsPolygonDataNodeVector maTarget;
// the modifiedColorPrimitive stack
basegfx::BColorModifierStack maBColorModifierStack;
// flag if we are in a decomposed text
sal_uInt32 mnInText;
// tooling methods
void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
public:
TextAsPolygonExtractor2D(const geometry::ViewInformation2D& rViewInformation);
virtual ~TextAsPolygonExtractor2D();
// data read access
const TextAsPolygonDataNodeVector& getTarget() const { return maTarget; }
};
} // end of namespace processor2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
// eof
......@@ -25,6 +25,7 @@ mkdir: %_DEST%\inc%_EXT%\drawinglayer\primitive2d
..\inc\drawinglayer\primitive2d\groupprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\groupprimitive2d.hxx
..\inc\drawinglayer\primitive2d\helplineprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\helplineprimitive2d.hxx
..\inc\drawinglayer\primitive2d\hittestprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\hittestprimitive2d.hxx
..\inc\drawinglayer\primitive2d\invertprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\invertprimitive2d.hxx
..\inc\drawinglayer\primitive2d\markerarrayprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\markerarrayprimitive2d.hxx
..\inc\drawinglayer\primitive2d\maskprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\maskprimitive2d.hxx
..\inc\drawinglayer\primitive2d\mediaprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\mediaprimitive2d.hxx
......@@ -34,6 +35,7 @@ mkdir: %_DEST%\inc%_EXT%\drawinglayer\primitive2d
..\inc\drawinglayer\primitive2d\pointarrayprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\pointarrayprimitive2d.hxx
..\inc\drawinglayer\primitive2d\polygonprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\polygonprimitive2d.hxx
..\inc\drawinglayer\primitive2d\polypolygonprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\polypolygonprimitive2d.hxx
..\inc\drawinglayer\primitive2d\primitivetools2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\primitivetools2d.hxx
..\inc\drawinglayer\primitive2d\sceneprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\sceneprimitive2d.hxx
..\inc\drawinglayer\primitive2d\shadowprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\shadowprimitive2d.hxx
..\inc\drawinglayer\primitive2d\structuretagprimitive2d.hxx %_DEST%\inc%_EXT%\drawinglayer\primitive2d\structuretagprimitive2d.hxx
......@@ -83,6 +85,8 @@ mkdir: %_DEST%\inc%_EXT%\drawinglayer\processor2d
..\inc\drawinglayer\processor2d\canvasprocessor.hxx %_DEST%\inc%_EXT%\drawinglayer\processor2d\canvasprocessor.hxx
..\inc\drawinglayer\processor2d\contourextractor2d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor2d\contourextractor2d.hxx
..\inc\drawinglayer\processor2d\linegeometryextractor2d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor2d\linegeometryextractor2d.hxx
..\inc\drawinglayer\processor2d\hittestprocessor2d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor2d\hittestprocessor2d.hxx
..\inc\drawinglayer\processor2d\textaspolygonextractor2d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor2d\textaspolygonextractor2d.hxx
mkdir: %_DEST%\inc%_EXT%\drawinglayer\processor3d
..\inc\drawinglayer\processor3d\baseprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\baseprocessor3d.hxx
......
......@@ -64,17 +64,15 @@ namespace drawinglayer
{
}
SdrLineFillShadowAttribute::SdrLineFillShadowAttribute(const SdrLineFillShadowAttribute& rCandidate)
: mpShadow(0L),
mpLine(0L),
mpLineStartEnd(0L),
mpFill(0L),
mpFillFloatTransGradient(0L)
SdrLineFillShadowAttribute::SdrLineFillShadowAttribute(
const SdrLineFillShadowAttribute& rCandidate)
: mpShadow(0),
mpLine(0),
mpLineStartEnd(0),
mpFill(0),
mpFillFloatTransGradient(0)
{
if(!(*this == rCandidate))
{
*this = rCandidate;
}
*this = rCandidate;
}
SdrLineFillShadowAttribute::~SdrLineFillShadowAttribute()
......@@ -91,14 +89,14 @@ namespace drawinglayer
// handle mpShadow
{
// delete local mpShadow if necessary
if(mpShadow && ((!rCandidate.mpShadow) || (!(*mpShadow == *rCandidate.mpShadow))))
if(mpShadow)
{
delete mpShadow;
mpShadow = 0L;
mpShadow = 0;
}
// copy mpShadow if necessary
if(!mpShadow && rCandidate.mpShadow)
if(rCandidate.mpShadow)
{
mpShadow = new SdrShadowAttribute(*rCandidate.mpShadow);
}
......@@ -107,14 +105,14 @@ namespace drawinglayer
// handle mpLine
{
// delete local mpLine if necessary
if(mpLine && ((!rCandidate.mpLine) || (!(*mpLine == *rCandidate.mpLine))))
if(mpLine)
{
delete mpLine;
mpLine = 0L;
mpLine = 0;
}
// copy mpLine if necessary
if(!mpLine && rCandidate.mpLine)
if(rCandidate.mpLine)
{
mpLine = new SdrLineAttribute(*rCandidate.mpLine);
}
......@@ -123,14 +121,14 @@ namespace drawinglayer
// handle mpLineStartEnd
{
// delete local mpLineStartEnd if necessary
if(mpLineStartEnd && ((!rCandidate.mpLineStartEnd) || (!(*mpLineStartEnd == *rCandidate.mpLineStartEnd))))
if(mpLineStartEnd)
{
delete mpLineStartEnd;
mpLineStartEnd = 0L;
mpLineStartEnd = 0;
}
// copy mpLineStartEnd if necessary
if(!mpLineStartEnd && rCandidate.mpLineStartEnd)
if(rCandidate.mpLineStartEnd)
{
mpLineStartEnd = new SdrLineStartEndAttribute(*rCandidate.mpLineStartEnd);
}
......@@ -139,14 +137,14 @@ namespace drawinglayer
// handle mpFill
{
// delete local mpFill if necessary
if(mpFill && ((!rCandidate.mpFill) || (!(*mpFill == *rCandidate.mpFill))))
if(mpFill)
{
delete mpFill;
mpFill = 0L;
mpFill = 0;
}
// copy mpFill if necessary
if(!mpFill && rCandidate.mpFill)
if(rCandidate.mpFill)
{
mpFill = new SdrFillAttribute(*rCandidate.mpFill);
}
......@@ -155,14 +153,14 @@ namespace drawinglayer
// handle mpFillFloatTransGradient
{
// delete local mpFillFloatTransGradient if necessary
if(mpFillFloatTransGradient && ((!rCandidate.mpFillFloatTransGradient) || (!(*mpFillFloatTransGradient == *rCandidate.mpFillFloatTransGradient))))
if(mpFillFloatTransGradient)
{
delete mpFillFloatTransGradient;
mpFillFloatTransGradient = 0L;
mpFillFloatTransGradient = 0;
}
// copy mpFillFloatTransGradient if necessary
if(!mpFillFloatTransGradient && rCandidate.mpFillFloatTransGradient)
if(rCandidate.mpFillFloatTransGradient)
{
mpFillFloatTransGradient = new FillGradientAttribute(*rCandidate.mpFillFloatTransGradient);
}
......
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: unifiedalphaprimitive2d.cxx,v $
*
* $Revision: 1.5 $
*
* last change: $Author: aw $ $Date: 2008-05-27 14:11:20 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_drawinglayer.hxx"
#include <drawinglayer/primitive2d/invertprimitive2d.hxx>
#include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
//////////////////////////////////////////////////////////////////////////////
using namespace com::sun::star;
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace primitive2d