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
4d631e7f
Commit
4d631e7f
authored
Mar 28, 2014
by
tebjan
Browse files
made svg transform collection a proper ICloneable
parent
cecce654
Changes
2
Show whitespace changes
Inline
Side-by-side
Source/SvgElement.cs
View file @
4d631e7f
...
@@ -676,9 +676,7 @@ namespace Svg
...
@@ -676,9 +676,7 @@ namespace Svg
if
(
this
.
Transforms
!=
null
)
if
(
this
.
Transforms
!=
null
)
{
{
newObj
.
Transforms
=
new
SvgTransformCollection
();
newObj
.
Transforms
=
this
.
Transforms
.
Clone
()
as
SvgTransformCollection
;
foreach
(
var
transform
in
this
.
Transforms
)
newObj
.
Transforms
.
Add
(
transform
.
Clone
()
as
SvgTransform
);
}
}
foreach
(
var
child
in
this
.
Children
)
foreach
(
var
child
in
this
.
Children
)
...
...
Source/Transforms/SvgTransformCollection.cs
View file @
4d631e7f
...
@@ -8,12 +8,16 @@ using System.Text;
...
@@ -8,12 +8,16 @@ using System.Text;
namespace
Svg.Transforms
namespace
Svg.Transforms
{
{
[
TypeConverter
(
typeof
(
SvgTransformConverter
))]
[
TypeConverter
(
typeof
(
SvgTransformConverter
))]
public
class
SvgTransformCollection
:
List
<
SvgTransform
>
public
class
SvgTransformCollection
:
List
<
SvgTransform
>
,
ICloneable
{
{
private
void
AddItem
(
SvgTransform
item
)
{
base
.
Add
(
item
);
}
public
new
void
Add
(
SvgTransform
item
)
public
new
void
Add
(
SvgTransform
item
)
{
{
base
.
Add
(
item
);
AddItem
(
item
);
OnTransformChanged
();
OnTransformChanged
();
}
}
...
@@ -91,9 +95,19 @@ namespace Svg.Transforms
...
@@ -91,9 +95,19 @@ namespace Svg.Transforms
var
handler
=
TransformChanged
;
var
handler
=
TransformChanged
;
if
(
handler
!=
null
)
if
(
handler
!=
null
)
{
{
handler
(
this
,
new
AttributeEventArgs
{
Attribute
=
"transform"
,
Value
=
this
});
//make a copy of the current value to avoid collection changed exceptions
handler
(
this
,
new
AttributeEventArgs
{
Attribute
=
"transform"
,
Value
=
this
.
Clone
()
});
}
}
}
}
public
object
Clone
()
{
var
result
=
new
SvgTransformCollection
();
foreach
(
var
trans
in
this
)
{
result
.
AddItem
(
trans
.
Clone
()
as
SvgTransform
);
}
return
result
;
}
}
}
}
}
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