AnchorOverlayObject.cxx (efeef26f) AnchorOverlayObject.cxx (14232878)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 40 unchanged lines hidden (view full) ---

49private:
50 basegfx::B2DPolygon maTriangle;
51 basegfx::B2DPolygon maLine;
52 basegfx::B2DPolygon maLineTop;
53 const AnchorState maAnchorState;
54 basegfx::BColor maColor;
55
56 // discrete line width
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 40 unchanged lines hidden (view full) ---

49private:
50 basegfx::B2DPolygon maTriangle;
51 basegfx::B2DPolygon maLine;
52 basegfx::B2DPolygon maLineTop;
53 const AnchorState maAnchorState;
54 basegfx::BColor maColor;
55
56 // discrete line width
57 double mfLogicLineWidth;
57 double mfDiscreteLineWidth;
58
59 // bitfield
60 bool mbShadow : 1;
61 bool mbLineSolid : 1;
62
63protected:
64 virtual drawinglayer::primitive2d::Primitive2DSequence create2DDecomposition(
65 const drawinglayer::geometry::ViewInformation2D& rViewInformation) const;
66
67public:
68 AnchorPrimitive( const basegfx::B2DPolygon& rTriangle,
69 const basegfx::B2DPolygon& rLine,
70 const basegfx::B2DPolygon& rLineTop,
71 AnchorState aAnchorState,
72 const basegfx::BColor& rColor,
58
59 // bitfield
60 bool mbShadow : 1;
61 bool mbLineSolid : 1;
62
63protected:
64 virtual drawinglayer::primitive2d::Primitive2DSequence create2DDecomposition(
65 const drawinglayer::geometry::ViewInformation2D& rViewInformation) const;
66
67public:
68 AnchorPrimitive( const basegfx::B2DPolygon& rTriangle,
69 const basegfx::B2DPolygon& rLine,
70 const basegfx::B2DPolygon& rLineTop,
71 AnchorState aAnchorState,
72 const basegfx::BColor& rColor,
73 double fLogicLineWidth,
73 double fDiscreteLineWidth,
74 bool bShadow,
75 bool bLineSolid )
76 : drawinglayer::primitive2d::DiscreteMetricDependentPrimitive2D(),
77 maTriangle(rTriangle),
78 maLine(rLine),
79 maLineTop(rLineTop),
80 maAnchorState(aAnchorState),
81 maColor(rColor),
74 bool bShadow,
75 bool bLineSolid )
76 : drawinglayer::primitive2d::DiscreteMetricDependentPrimitive2D(),
77 maTriangle(rTriangle),
78 maLine(rLine),
79 maLineTop(rLineTop),
80 maAnchorState(aAnchorState),
81 maColor(rColor),
82 mfLogicLineWidth(fLogicLineWidth),
82 mfDiscreteLineWidth(fDiscreteLineWidth),
83 mbShadow(bShadow),
84 mbLineSolid(bLineSolid)
85 {}
86
87 // data access
88 const basegfx::B2DPolygon& getTriangle() const { return maTriangle; }
89 const basegfx::B2DPolygon& getLine() const { return maLine; }
90 const basegfx::B2DPolygon& getLineTop() const { return maLineTop; }
91 AnchorState getAnchorState() const { return maAnchorState; }
92 const basegfx::BColor& getColor() const { return maColor; }
83 mbShadow(bShadow),
84 mbLineSolid(bLineSolid)
85 {}
86
87 // data access
88 const basegfx::B2DPolygon& getTriangle() const { return maTriangle; }
89 const basegfx::B2DPolygon& getLine() const { return maLine; }
90 const basegfx::B2DPolygon& getLineTop() const { return maLineTop; }
91 AnchorState getAnchorState() const { return maAnchorState; }
92 const basegfx::BColor& getColor() const { return maColor; }
93 double getLogicLineWidth() const { return mfLogicLineWidth; }
93 double getDiscreteLineWidth() const { return mfDiscreteLineWidth; }
94 bool getShadow() const { return mbShadow; }
95 bool getLineSolid() const { return mbLineSolid; }
96
97 virtual bool operator==( const drawinglayer::primitive2d::BasePrimitive2D& rPrimitive ) const;
98
99 DeclPrimitrive2DIDBlock()
100};
101

--- 10 unchanged lines hidden (view full) ---

112 const drawinglayer::primitive2d::Primitive2DReference aTriangle(
113 new drawinglayer::primitive2d::PolyPolygonColorPrimitive2D(
114 basegfx::B2DPolyPolygon(getTriangle()),
115 getColor()));
116
117 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aTriangle);
118 }
119
94 bool getShadow() const { return mbShadow; }
95 bool getLineSolid() const { return mbLineSolid; }
96
97 virtual bool operator==( const drawinglayer::primitive2d::BasePrimitive2D& rPrimitive ) const;
98
99 DeclPrimitrive2DIDBlock()
100};
101

--- 10 unchanged lines hidden (view full) ---

112 const drawinglayer::primitive2d::Primitive2DReference aTriangle(
113 new drawinglayer::primitive2d::PolyPolygonColorPrimitive2D(
114 basegfx::B2DPolyPolygon(getTriangle()),
115 getColor()));
116
117 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aTriangle);
118 }
119
120 // prepare view-independent LineWidth and color
121 const drawinglayer::attribute::LineAttribute aLineAttribute(
122 getColor(),
123 getDiscreteLineWidth() * getDiscreteUnit());
124
120 if ( AS_ALL == maAnchorState ||
121 AS_START == maAnchorState )
122 {
123 // create line start
125 if ( AS_ALL == maAnchorState ||
126 AS_START == maAnchorState )
127 {
128 // create line start
124 const drawinglayer::attribute::LineAttribute aLineAttribute(
125 getColor(),
126 getLogicLineWidth() / (basegfx::fTools::equalZero(getDiscreteUnit()) ? 1.0 : getDiscreteUnit()));
127
128 if(getLineSolid())
129 {
130 const drawinglayer::primitive2d::Primitive2DReference aSolidLine(
131 new drawinglayer::primitive2d::PolygonStrokePrimitive2D(
132 getLine(),
133 aLineAttribute));
134
135 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aSolidLine);

--- 62 unchanged lines hidden (view full) ---

198 drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aRetval, aTemporary);
199 }
200
201 if ( AS_ALL == maAnchorState ||
202 AS_END == maAnchorState )
203 {
204 // LineTop has to be created, too, but uses no shadow, so add after
205 // the other parts are created
129 if(getLineSolid())
130 {
131 const drawinglayer::primitive2d::Primitive2DReference aSolidLine(
132 new drawinglayer::primitive2d::PolygonStrokePrimitive2D(
133 getLine(),
134 aLineAttribute));
135
136 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aSolidLine);

--- 62 unchanged lines hidden (view full) ---

199 drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(aRetval, aTemporary);
200 }
201
202 if ( AS_ALL == maAnchorState ||
203 AS_END == maAnchorState )
204 {
205 // LineTop has to be created, too, but uses no shadow, so add after
206 // the other parts are created
206 const drawinglayer::attribute::LineAttribute aLineAttribute(
207 getColor(),
208 getLogicLineWidth() / (basegfx::fTools::equalZero(getDiscreteUnit()) ? 1.0 : getDiscreteUnit()));
209
210 const drawinglayer::primitive2d::Primitive2DReference aLineTop(
211 new drawinglayer::primitive2d::PolygonStrokePrimitive2D(
212 getLineTop(),
213 aLineAttribute));
214
215 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aLineTop);
216 }
217

--- 6 unchanged lines hidden (view full) ---

224 {
225 const AnchorPrimitive& rCompare = static_cast< const AnchorPrimitive& >(rPrimitive);
226
227 return (getTriangle() == rCompare.getTriangle()
228 && getLine() == rCompare.getLine()
229 && getLineTop() == rCompare.getLineTop()
230 && getAnchorState() == rCompare.getAnchorState()
231 && getColor() == rCompare.getColor()
207 const drawinglayer::primitive2d::Primitive2DReference aLineTop(
208 new drawinglayer::primitive2d::PolygonStrokePrimitive2D(
209 getLineTop(),
210 aLineAttribute));
211
212 drawinglayer::primitive2d::appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, aLineTop);
213 }
214

--- 6 unchanged lines hidden (view full) ---

221 {
222 const AnchorPrimitive& rCompare = static_cast< const AnchorPrimitive& >(rPrimitive);
223
224 return (getTriangle() == rCompare.getTriangle()
225 && getLine() == rCompare.getLine()
226 && getLineTop() == rCompare.getLineTop()
227 && getAnchorState() == rCompare.getAnchorState()
228 && getColor() == rCompare.getColor()
232 && getLogicLineWidth() == rCompare.getLogicLineWidth()
229 && getDiscreteLineWidth() == rCompare.getDiscreteLineWidth()
233 && getShadow() == rCompare.getShadow()
234 && getLineSolid() == rCompare.getLineSolid());
235 }
236
237 return false;
238}
239
240ImplPrimitrive2DIDBlock(AnchorPrimitive, PRIMITIVE2D_ID_SWSIDEBARANCHORPRIMITIVE)

--- 110 unchanged lines hidden (view full) ---

351 maLine.clear();
352 maLineTop.clear();
353}
354
355drawinglayer::primitive2d::Primitive2DSequence AnchorOverlayObject::createOverlayObjectPrimitive2DSequence()
356{
357 implEnsureGeometry();
358
230 && getShadow() == rCompare.getShadow()
231 && getLineSolid() == rCompare.getLineSolid());
232 }
233
234 return false;
235}
236
237ImplPrimitrive2DIDBlock(AnchorPrimitive, PRIMITIVE2D_ID_SWSIDEBARANCHORPRIMITIVE)

--- 110 unchanged lines hidden (view full) ---

348 maLine.clear();
349 maLineTop.clear();
350}
351
352drawinglayer::primitive2d::Primitive2DSequence AnchorOverlayObject::createOverlayObjectPrimitive2DSequence()
353{
354 implEnsureGeometry();
355
356 static double aDiscreteLineWidth(1.6);
359 const drawinglayer::primitive2d::Primitive2DReference aReference(
360 new AnchorPrimitive( maTriangle,
361 maLine,
362 maLineTop,
363 GetAnchorState(),
364 getBaseColor().getBColor(),
357 const drawinglayer::primitive2d::Primitive2DReference aReference(
358 new AnchorPrimitive( maTriangle,
359 maLine,
360 maLineTop,
361 GetAnchorState(),
362 getBaseColor().getBColor(),
365 ANCHORLINE_WIDTH * 15.0,
363 ANCHORLINE_WIDTH * aDiscreteLineWidth,
366 getShadowedEffect(),
367 getLineSolid()) );
368
369 return drawinglayer::primitive2d::Primitive2DSequence(&aReference, 1);
370}
371
372void AnchorOverlayObject::SetAllPosition( const basegfx::B2DPoint& rPoint1,
373 const basegfx::B2DPoint& rPoint2,

--- 87 unchanged lines hidden ---
364 getShadowedEffect(),
365 getLineSolid()) );
366
367 return drawinglayer::primitive2d::Primitive2DSequence(&aReference, 1);
368}
369
370void AnchorOverlayObject::SetAllPosition( const basegfx::B2DPoint& rPoint1,
371 const basegfx::B2DPoint& rPoint2,

--- 87 unchanged lines hidden ---