Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ImportedProjects
SVG
Commits
ae333749
Commit
ae333749
authored
Sep 26, 2014
by
Tebjan Halm
Browse files
Revert "Performance Improvement"
parent
13132300
Changes
27
Show whitespace changes
Inline
Side-by-side
Source/Basic Shapes/SvgCircle.cs
View file @
ae333749
...
@@ -78,10 +78,10 @@ namespace Svg
...
@@ -78,10 +78,10 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the circle.
/// Gets the bounds of the circle.
/// </summary>
/// </summary>
/// <
returns
>The rectangular bounds of the circle.</
returns
>
/// <
value
>The rectangular bounds of the circle.</
value
>
public
override
RectangleF
Calculate
Bounds
()
public
override
RectangleF
Bounds
{
{
return
this
.
Path
(
null
).
GetBounds
();
get
{
return
this
.
Path
(
null
).
GetBounds
();
}
}
}
/// <summary>
/// <summary>
...
...
Source/Basic Shapes/SvgEllipse.cs
View file @
ae333749
...
@@ -92,10 +92,10 @@ namespace Svg
...
@@ -92,10 +92,10 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <
returns
>The bounds.</
returns
>
/// <
value
>The bounds.</
value
>
public
override
RectangleF
Calculate
Bounds
()
public
override
RectangleF
Bounds
{
{
return
this
.
Path
(
null
).
GetBounds
();
get
{
return
this
.
Path
(
null
).
GetBounds
();
}
}
}
/// <summary>
/// <summary>
...
...
Source/Basic Shapes/SvgImage.cs
View file @
ae333749
...
@@ -83,12 +83,12 @@ namespace Svg
...
@@ -83,12 +83,12 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <
returns
>The bounds.</
returns>
/// <
value
>The bounds.</
value>
public
override
RectangleF
Calculate
Bounds
()
public
override
RectangleF
Bounds
{
{
return
new
RectangleF
(
this
.
Location
.
ToDeviceValue
(
null
,
this
),
get
{
return
new
RectangleF
(
this
.
Location
.
ToDeviceValue
(
null
,
this
),
new
SizeF
(
this
.
Width
.
ToDeviceValue
(
null
,
UnitRenderingType
.
Horizontal
,
this
),
new
SizeF
(
this
.
Width
.
ToDeviceValue
(
null
,
UnitRenderingType
.
Horizontal
,
this
),
this
.
Height
.
ToDeviceValue
(
null
,
UnitRenderingType
.
Vertical
,
this
)));
this
.
Height
.
ToDeviceValue
(
null
,
UnitRenderingType
.
Vertical
,
this
)));
}
}
}
/// <summary>
/// <summary>
...
...
Source/Basic Shapes/SvgLine.cs
View file @
ae333749
...
@@ -171,9 +171,9 @@ namespace Svg
...
@@ -171,9 +171,9 @@ namespace Svg
return
result
;
return
result
;
}
}
public
override
RectangleF
Calculate
Bounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
{
return
this
.
Path
(
null
).
GetBounds
();
get
{
return
this
.
Path
(
null
).
GetBounds
();
}
}
}
public
override
SvgElement
DeepCopy
()
public
override
SvgElement
DeepCopy
()
...
...
Source/Basic Shapes/SvgPolygon.cs
View file @
ae333749
...
@@ -130,9 +130,9 @@ namespace Svg
...
@@ -130,9 +130,9 @@ namespace Svg
return
result
;
return
result
;
}
}
public
override
RectangleF
Calculate
Bounds
()
public
override
RectangleF
Bounds
{
{
return
this
.
Path
(
null
).
GetBounds
();
get
{
return
this
.
Path
(
null
).
GetBounds
();
}
}
}
...
...
Source/Basic Shapes/SvgRectangle.cs
View file @
ae333749
...
@@ -165,10 +165,10 @@ namespace Svg
...
@@ -165,10 +165,10 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <
returns
>The bounds.</
returns
>
/// <
value
>The bounds.</
value
>
public
override
RectangleF
Calculate
Bounds
()
public
override
RectangleF
Bounds
{
{
return
Path
(
null
).
GetBounds
();
get
{
return
Path
(
null
).
GetBounds
();
}
}
}
/// <summary>
/// <summary>
...
...
Source/Basic Shapes/SvgVisualElement.cs
View file @
ae333749
...
@@ -19,11 +19,27 @@ namespace Svg
...
@@ -19,11 +19,27 @@ namespace Svg
/// </summary>
/// </summary>
public
abstract
GraphicsPath
Path
(
ISvgRenderer
renderer
);
public
abstract
GraphicsPath
Path
(
ISvgRenderer
renderer
);
PointF
ISvgBoundable
.
Location
{
get
{
return
Bounds
.
Location
;
}
}
SizeF
ISvgBoundable
.
Size
{
get
{
return
Bounds
.
Size
;
}
}
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <
returns
>The bounds.</
returns
>
/// <
value
>The bounds.</
value
>
public
abstract
RectangleF
CalculateBounds
();
public
abstract
RectangleF
Bounds
{
get
;
}
/// <summary>
/// <summary>
/// Gets the associated <see cref="SvgClipPath"/> if one has been specified.
/// Gets the associated <see cref="SvgClipPath"/> if one has been specified.
...
...
Source/DataTypes/SvgUnit.cs
View file @
ae333749
...
@@ -149,7 +149,7 @@ namespace Svg
...
@@ -149,7 +149,7 @@ namespace Svg
break
;
break
;
}
}
System
.
Drawing
.
SizeF
size
=
boundable
.
Calculate
Bounds
()
.
Size
;
System
.
Drawing
.
SizeF
size
=
boundable
.
Bounds
.
Size
;
switch
(
renderType
)
switch
(
renderType
)
{
{
...
@@ -157,13 +157,13 @@ namespace Svg
...
@@ -157,13 +157,13 @@ namespace Svg
_deviceValue
=
(
size
.
Width
/
100
)
*
value
;
_deviceValue
=
(
size
.
Width
/
100
)
*
value
;
break
;
break
;
case
UnitRenderingType
.
HorizontalOffset
:
case
UnitRenderingType
.
HorizontalOffset
:
_deviceValue
=
(
size
.
Width
/
100
)
*
value
+
boundable
.
CalculateBounds
().
Location
.
X
;
_deviceValue
=
(
size
.
Width
/
100
)
*
value
+
boundable
.
Location
.
X
;
break
;
break
;
case
UnitRenderingType
.
Vertical
:
case
UnitRenderingType
.
Vertical
:
_deviceValue
=
(
size
.
Height
/
100
)
*
value
;
_deviceValue
=
(
size
.
Height
/
100
)
*
value
;
break
;
break
;
case
UnitRenderingType
.
VerticalOffset
:
case
UnitRenderingType
.
VerticalOffset
:
_deviceValue
=
(
size
.
Height
/
100
)
*
value
+
boundable
.
CalculateBounds
().
Location
.
Y
;
_deviceValue
=
(
size
.
Height
/
100
)
*
value
+
boundable
.
Location
.
Y
;
break
;
break
;
default
:
default
:
_deviceValue
=
(
float
)(
Math
.
Sqrt
(
Math
.
Pow
(
size
.
Width
,
2
)
+
Math
.
Pow
(
size
.
Height
,
2
))
/
Math
.
Sqrt
(
2
)
*
value
/
100.0
);
_deviceValue
=
(
float
)(
Math
.
Sqrt
(
Math
.
Pow
(
size
.
Width
,
2
)
+
Math
.
Pow
(
size
.
Height
,
2
))
/
Math
.
Sqrt
(
2
)
*
value
/
100.0
);
...
...
Source/Document Structure/SvgFragment.cs
View file @
ae333749
...
@@ -15,9 +15,28 @@ namespace Svg
...
@@ -15,9 +15,28 @@ namespace Svg
/// </summary>
/// </summary>
public
static
readonly
Uri
Namespace
=
new
Uri
(
"http://www.w3.org/2000/svg"
);
public
static
readonly
Uri
Namespace
=
new
Uri
(
"http://www.w3.org/2000/svg"
);
Rectangle
F
ISvgBoundable
.
CalculateBounds
()
Point
F
ISvgBoundable
.
Location
{
{
return
new
RectangleF
(
PointF
.
Empty
,
GetDimensions
());
get
{
return
PointF
.
Empty
;
}
}
SizeF
ISvgBoundable
.
Size
{
get
{
return
GetDimensions
();
}
}
RectangleF
ISvgBoundable
.
Bounds
{
get
{
return
new
RectangleF
(((
ISvgBoundable
)
this
).
Location
,
((
ISvgBoundable
)
this
).
Size
);
}
}
}
private
SvgUnit
_x
;
private
SvgUnit
_x
;
...
@@ -171,7 +190,9 @@ namespace Svg
...
@@ -171,7 +190,9 @@ namespace Svg
/// Gets the <see cref="GraphicsPath"/> for this element.
/// Gets the <see cref="GraphicsPath"/> for this element.
/// </summary>
/// </summary>
/// <value></value>
/// <value></value>
public
GraphicsPath
CreatePath
()
public
GraphicsPath
Path
{
get
{
{
var
path
=
new
GraphicsPath
();
var
path
=
new
GraphicsPath
();
...
@@ -179,16 +200,17 @@ namespace Svg
...
@@ -179,16 +200,17 @@ namespace Svg
return
path
;
return
path
;
}
}
}
/// <summary>
/// <summary>
/// Gets the bounds of the svg element.
/// Gets the bounds of the svg element.
/// </summary>
/// </summary>
/// <
returns
>The bounds.</
returns
>
/// <
value
>The bounds.</
value
>
public
RectangleF
Calculate
Bounds
()
public
RectangleF
Bounds
{
{
using
(
var
path
=
CreatePath
())
get
{
{
return
p
ath
.
GetBounds
();
return
this
.
P
ath
.
GetBounds
();
}
}
}
}
...
@@ -220,7 +242,7 @@ namespace Svg
...
@@ -220,7 +242,7 @@ namespace Svg
}
}
else
else
{
{
bounds
=
this
.
Calculate
Bounds
()
;
//do just one call to the
expen
sive bounds
calculation method
bounds
=
this
.
Bounds
;
//do just one call to the
recur
sive bounds
property
}
}
}
}
...
...
Source/Document Structure/SvgGroup.cs
View file @
ae333749
...
@@ -21,11 +21,13 @@ namespace Svg
...
@@ -21,11 +21,13 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <returns>The bounds.</returns>
/// <value>The bounds.</value>
public
override
RectangleF
CalculateBounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
get
{
{
var
r
=
new
RectangleF
();
var
r
=
new
RectangleF
();
foreach
(
var
c
in
this
.
Children
)
foreach
(
var
c
in
this
.
Children
)
{
{
if
(
c
is
SvgVisualElement
)
if
(
c
is
SvgVisualElement
)
{
{
...
@@ -33,11 +35,11 @@ namespace Svg
...
@@ -33,11 +35,11 @@ namespace Svg
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
if
(
r
.
IsEmpty
)
if
(
r
.
IsEmpty
)
{
{
r
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
r
=
((
SvgVisualElement
)
c
).
Bounds
;
}
}
else
else
{
{
var
childBounds
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
var
childBounds
=
((
SvgVisualElement
)
c
).
Bounds
;
if
(!
childBounds
.
IsEmpty
)
if
(!
childBounds
.
IsEmpty
)
{
{
r
=
RectangleF
.
Union
(
r
,
childBounds
);
r
=
RectangleF
.
Union
(
r
,
childBounds
);
...
@@ -48,6 +50,7 @@ namespace Svg
...
@@ -48,6 +50,7 @@ namespace Svg
return
r
;
return
r
;
}
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
...
...
Source/Document Structure/SvgSwitch.cs
View file @
ae333749
...
@@ -25,8 +25,10 @@ namespace Svg
...
@@ -25,8 +25,10 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <returns>The bounds.</returns>
/// <value>The bounds.</value>
public
override
RectangleF
CalculateBounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
get
{
{
var
r
=
new
RectangleF
();
var
r
=
new
RectangleF
();
foreach
(
var
c
in
this
.
Children
)
foreach
(
var
c
in
this
.
Children
)
...
@@ -37,11 +39,11 @@ namespace Svg
...
@@ -37,11 +39,11 @@ namespace Svg
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
if
(
r
.
IsEmpty
)
if
(
r
.
IsEmpty
)
{
{
r
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
r
=
((
SvgVisualElement
)
c
).
Bounds
;
}
}
else
else
{
{
var
childBounds
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
var
childBounds
=
((
SvgVisualElement
)
c
).
Bounds
;
if
(!
childBounds
.
IsEmpty
)
if
(!
childBounds
.
IsEmpty
)
{
{
r
=
RectangleF
.
Union
(
r
,
childBounds
);
r
=
RectangleF
.
Union
(
r
,
childBounds
);
...
@@ -52,6 +54,7 @@ namespace Svg
...
@@ -52,6 +54,7 @@ namespace Svg
return
r
;
return
r
;
}
}
}
/// <summary>
/// <summary>
/// Renders the <see cref="SvgElement"/> and contents to the specified <see cref="Graphics"/> object.
/// Renders the <see cref="SvgElement"/> and contents to the specified <see cref="Graphics"/> object.
...
...
Source/Document Structure/SvgSymbol.cs
View file @
ae333749
...
@@ -48,7 +48,9 @@ namespace Svg.Document_Structure
...
@@ -48,7 +48,9 @@ namespace Svg.Document_Structure
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <value>The bounds.</value>
/// <value>The bounds.</value>
public
override
System
.
Drawing
.
RectangleF
CalculateBounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
get
{
{
var
r
=
new
RectangleF
();
var
r
=
new
RectangleF
();
foreach
(
var
c
in
this
.
Children
)
foreach
(
var
c
in
this
.
Children
)
...
@@ -59,11 +61,11 @@ namespace Svg.Document_Structure
...
@@ -59,11 +61,11 @@ namespace Svg.Document_Structure
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
if
(
r
.
IsEmpty
)
if
(
r
.
IsEmpty
)
{
{
r
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
r
=
((
SvgVisualElement
)
c
).
Bounds
;
}
}
else
else
{
{
var
childBounds
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
var
childBounds
=
((
SvgVisualElement
)
c
).
Bounds
;
if
(!
childBounds
.
IsEmpty
)
if
(!
childBounds
.
IsEmpty
)
{
{
r
=
RectangleF
.
Union
(
r
,
childBounds
);
r
=
RectangleF
.
Union
(
r
,
childBounds
);
...
@@ -74,6 +76,7 @@ namespace Svg.Document_Structure
...
@@ -74,6 +76,7 @@ namespace Svg.Document_Structure
return
r
;
return
r
;
}
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
...
...
Source/Document Structure/SvgUse.cs
View file @
ae333749
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Text
;
using
System.Text
;
using
System.Web
;
using
System.Web
;
using
System.Xml
;
using
System.Xml
;
...
@@ -62,9 +61,9 @@ namespace Svg
...
@@ -62,9 +61,9 @@ namespace Svg
return
(
element
!=
null
)
?
element
.
Path
(
renderer
)
:
null
;
return
(
element
!=
null
)
?
element
.
Path
(
renderer
)
:
null
;
}
}
public
override
RectangleF
Calculate
Bounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
{
return
new
System
.
Drawing
.
RectangleF
();
get
{
return
new
System
.
Drawing
.
RectangleF
();
}
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
...
...
Source/Extensibility/SvgForeignObject.cs
View file @
ae333749
...
@@ -25,8 +25,10 @@ namespace Svg
...
@@ -25,8 +25,10 @@ namespace Svg
/// <summary>
/// <summary>
/// Gets the bounds of the element.
/// Gets the bounds of the element.
/// </summary>
/// </summary>
/// <returns>The bounds.</returns>
/// <value>The bounds.</value>
public
override
RectangleF
CalculateBounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
get
{
{
var
r
=
new
RectangleF
();
var
r
=
new
RectangleF
();
foreach
(
var
c
in
this
.
Children
)
foreach
(
var
c
in
this
.
Children
)
...
@@ -37,11 +39,11 @@ namespace Svg
...
@@ -37,11 +39,11 @@ namespace Svg
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
// This is because when the Rectangle is Empty, the Union method adds as if the first values where X=0, Y=0
if
(
r
.
IsEmpty
)
if
(
r
.
IsEmpty
)
{
{
r
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
r
=
((
SvgVisualElement
)
c
).
Bounds
;
}
}
else
else
{
{
var
childBounds
=
((
SvgVisualElement
)
c
).
Calculate
Bounds
()
;
var
childBounds
=
((
SvgVisualElement
)
c
).
Bounds
;
if
(!
childBounds
.
IsEmpty
)
if
(!
childBounds
.
IsEmpty
)
{
{
r
=
RectangleF
.
Union
(
r
,
childBounds
);
r
=
RectangleF
.
Union
(
r
,
childBounds
);
...
@@ -52,6 +54,7 @@ namespace Svg
...
@@ -52,6 +54,7 @@ namespace Svg
return
r
;
return
r
;
}
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
protected
override
bool
Renderable
{
get
{
return
false
;
}
}
...
...
Source/Painting/GenericBoundable.cs
View file @
ae333749
...
@@ -19,9 +19,19 @@ namespace Svg
...
@@ -19,9 +19,19 @@ namespace Svg
_rect
=
new
RectangleF
(
x
,
y
,
width
,
height
);
_rect
=
new
RectangleF
(
x
,
y
,
width
,
height
);
}
}
public
RectangleF
CalculateBounds
()
public
System
.
Drawing
.
PointF
Location
{
{
return
_rect
;
get
{
return
_rect
.
Location
;
}
}
public
System
.
Drawing
.
SizeF
Size
{
get
{
return
_rect
.
Size
;
}
}
public
System
.
Drawing
.
RectangleF
Bounds
{
get
{
return
_rect
;
}
}
}
}
}
}
}
Source/Painting/ISvgBoundable.cs
View file @
ae333749
...
@@ -4,6 +4,19 @@ namespace Svg
...
@@ -4,6 +4,19 @@ namespace Svg
{
{
public
interface
ISvgBoundable
public
interface
ISvgBoundable
{
{
RectangleF
CalculateBounds
();
PointF
Location
{
get
;
}
SizeF
Size
{
get
;
}
RectangleF
Bounds
{
get
;
}
}
}
}
}
\ No newline at end of file
Source/Painting/ImmutableBoundable.cs
deleted
100644 → 0
View file @
13132300
using
System.Drawing
;
namespace
Svg
{
internal
sealed
class
ImmutableBoundable
:
ISvgBoundable
{
private
readonly
RectangleF
bounds
;
public
ImmutableBoundable
(
ISvgBoundable
boundable
)
{
bounds
=
boundable
.
CalculateBounds
();
}
public
RectangleF
CalculateBounds
()
{
return
bounds
;
}
}
}
\ No newline at end of file
Source/Painting/SvgGradientServer.cs
View file @
ae333749
...
@@ -178,7 +178,7 @@ namespace Svg
...
@@ -178,7 +178,7 @@ namespace Svg
for
(
int
i
=
0
;
i
<
colourBlends
;
i
++)
for
(
int
i
=
0
;
i
<
colourBlends
;
i
++)
{
{
var
currentStop
=
this
.
Stops
[
radial
?
this
.
Stops
.
Count
-
1
-
actualStops
:
actualStops
];
var
currentStop
=
this
.
Stops
[
radial
?
this
.
Stops
.
Count
-
1
-
actualStops
:
actualStops
];
var
boundWidth
=
renderer
.
GetBoundable
().
Calculate
Bounds
()
.
Width
;
var
boundWidth
=
renderer
.
GetBoundable
().
Bounds
.
Width
;
mergedOpacity
=
opacity
*
currentStop
.
GetOpacity
();
mergedOpacity
=
opacity
*
currentStop
.
GetOpacity
();
position
=
position
=
...
...
Source/Painting/SvgLinearGradientServer.cs
View file @
ae333749
...
@@ -191,7 +191,7 @@ namespace Svg
...
@@ -191,7 +191,7 @@ namespace Svg
private
LinePoints
PointsToMove
(
ISvgBoundable
boundable
,
PointF
specifiedStart
,
PointF
specifiedEnd
)
private
LinePoints
PointsToMove
(
ISvgBoundable
boundable
,
PointF
specifiedStart
,
PointF
specifiedEnd
)
{
{
var
bounds
=
boundable
.
Calculate
Bounds
()
;
var
bounds
=
boundable
.
Bounds
;
if
(
specifiedStart
.
X
==
specifiedEnd
.
X
)
if
(
specifiedStart
.
X
==
specifiedEnd
.
X
)
{
{
return
(
bounds
.
Top
<
specifiedStart
.
Y
&&
specifiedStart
.
Y
<
bounds
.
Bottom
?
LinePoints
.
Start
:
LinePoints
.
None
)
|
return
(
bounds
.
Top
<
specifiedStart
.
Y
&&
specifiedStart
.
Y
<
bounds
.
Bottom
?
LinePoints
.
Start
:
LinePoints
.
None
)
|
...
@@ -227,7 +227,7 @@ namespace Svg
...
@@ -227,7 +227,7 @@ namespace Svg
return
new
GradientPoints
(
specifiedStart
,
specifiedEnd
);
return
new
GradientPoints
(
specifiedStart
,
specifiedEnd
);
}
}
var
bounds
=
boundable
.
Calculate
Bounds
()
;
var
bounds
=
boundable
.
Bounds
;
var
effectiveStart
=
specifiedStart
;
var
effectiveStart
=
specifiedStart
;
var
effectiveEnd
=
specifiedEnd
;
var
effectiveEnd
=
specifiedEnd
;
var
intersectionPoints
=
CandidateIntersections
(
bounds
,
specifiedStart
,
specifiedEnd
);
var
intersectionPoints
=
CandidateIntersections
(
bounds
,
specifiedStart
,
specifiedEnd
);
...
...
Source/Painting/SvgMarker.cs
View file @
ae333749
...
@@ -95,13 +95,16 @@ namespace Svg
...
@@ -95,13 +95,16 @@ namespace Svg
return
null
;
return
null
;
}
}
public
override
RectangleF
CalculateBounds
()
public
override
System
.
Drawing
.
RectangleF
Bounds
{
get
{
{
var
path
=
this
.
Path
(
null
);
var
path
=
this
.
Path
(
null
);
if
(
path
!=
null
)
if
(
path
!=
null
)
return
path
.
GetBounds
();
return
path
.
GetBounds
();
return
new
System
.
Drawing
.
RectangleF
();
return
new
System
.
Drawing
.
RectangleF
();
}
}
}
public
override
SvgElement
DeepCopy
()
public
override
SvgElement
DeepCopy
()
{
{
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment