@@ -38,6 +38,8 @@ public abstract class DrawAttribute
3838 /// <returns>array of vertices position. x, y, x, y, ... (clockwise)</returns>
3939 public abstract float [ ] GetVertices ( ) ;
4040 public abstract uint [ ] GetVerticesIndexes ( ) ;
41+ public abstract void MoveDelta ( Vector2i deltaPosition ) ;
42+ public abstract void ResizeDelta ( Vector2i size ) ;
4143
4244 public abstract List < Vector2i > GetSelectablePoints ( ) ;
4345
@@ -100,6 +102,16 @@ public override uint[] GetVerticesIndexes()
100102 public override string ToString ( ) => String . Format ( "{0} {1},{2}" , IsRelative ? 'm' : 'M' , X , Y ) ;
101103
102104 public override List < Vector2i > GetSelectablePoints ( ) => new List < Vector2i > ( ) ;
105+
106+ public override void MoveDelta ( Vector2i deltaPosition )
107+ {
108+ //throw new NotImplementedException();
109+ }
110+
111+ public override void ResizeDelta ( Vector2i size )
112+ {
113+ //throw new NotImplementedException();
114+ }
103115 }
104116 /// <summary>
105117 /// LineTo, L or l.
@@ -175,6 +187,18 @@ public override List<Vector2i> GetSelectablePoints()
175187 }
176188 return points ;
177189 }
190+
191+ public override void MoveDelta ( Vector2i deltaPosition )
192+ {
193+ X += deltaPosition . X ;
194+ Y += deltaPosition . Y ;
195+ }
196+
197+ public override void ResizeDelta ( Vector2i deltaSize )
198+ {
199+ X += deltaSize . X ;
200+ Y += deltaSize . Y ;
201+ }
178202 }
179203 /// <summary>
180204 /// HorizontalLineTo, H or h.
@@ -246,6 +270,18 @@ public override List<Vector2i> GetSelectablePoints()
246270 }
247271 return points ;
248272 }
273+
274+ public override void MoveDelta ( Vector2i deltaPosition )
275+ {
276+ X += deltaPosition . X ;
277+ //LastY += deltaPosition.Y;
278+ }
279+
280+ public override void ResizeDelta ( Vector2i size )
281+ {
282+ X += size . X ;
283+ //LastY += size.Y;
284+ }
249285 }
250286 /// <summary>
251287 /// VerticalLineTo, V or v.
@@ -311,6 +347,16 @@ public override List<Vector2i> GetSelectablePoints()
311347 }
312348
313349 public override string ToString ( ) => String . Format ( "{0} {1}" , _isRelative ? 'v' : 'V' , _y ) ;
350+
351+ public override void MoveDelta ( Vector2i deltaPosition )
352+ {
353+ throw new NotImplementedException ( ) ;
354+ }
355+
356+ public override void ResizeDelta ( Vector2i size )
357+ {
358+ throw new NotImplementedException ( ) ;
359+ }
314360 }
315361 /// <summary>
316362 /// CurveTo, Cubic Bézier Curve, C or c.
@@ -439,6 +485,26 @@ public override List<Vector2i> GetSelectablePoints()
439485 }
440486
441487 public override string ToString ( ) => String . Format ( "{0} {1},{2} {3},{4} {5},{6}" , _isRelative ? 'c' : 'C' , X1 , Y1 , X2 , Y2 , X , Y ) ;
488+
489+ public override void MoveDelta ( Vector2i deltaPosition )
490+ {
491+ X1 += deltaPosition . X ;
492+ Y1 += deltaPosition . Y ;
493+ X2 += deltaPosition . X ;
494+ Y2 += deltaPosition . Y ;
495+ X += deltaPosition . X ;
496+ Y += deltaPosition . Y ;
497+ }
498+
499+ public override void ResizeDelta ( Vector2i size )
500+ {
501+ X1 += size . X ;
502+ Y1 += size . Y ;
503+ X2 += size . X ;
504+ Y2 += size . Y ;
505+ X += size . X ;
506+ Y += size . Y ;
507+ }
442508 }
443509 /// <summary>
444510 /// SmoothCurveTo, Smooth Cubic Bézier Curbe, S or s.
@@ -559,6 +625,15 @@ public override List<Vector2i> GetSelectablePoints()
559625
560626 public override string ToString ( ) => String . Format ( "{0} {1},{2} {3},{4}" , IsRelative ? 's' : 'S' , X2 , Y2 , X , Y ) ;
561627
628+ public override void MoveDelta ( Vector2i deltaPosition )
629+ {
630+ throw new NotImplementedException ( ) ;
631+ }
632+
633+ public override void ResizeDelta ( Vector2i size )
634+ {
635+ throw new NotImplementedException ( ) ;
636+ }
562637 }
563638 /// <summary>
564639 /// QuadraticBezierCurveTo, Q, q.
@@ -677,6 +752,15 @@ public override List<Vector2i> GetSelectablePoints()
677752
678753 public override string ToString ( ) => String . Format ( "{0} {1},{2} {3},{4}" , IsRelative ? 'q' : 'Q' , X1 , Y1 , X , Y ) ;
679754
755+ public override void MoveDelta ( Vector2i deltaPosition )
756+ {
757+ throw new NotImplementedException ( ) ;
758+ }
759+
760+ public override void ResizeDelta ( Vector2i size )
761+ {
762+ throw new NotImplementedException ( ) ;
763+ }
680764 }
681765 /// <summary>
682766 /// SmoothQuadraticBezierCurveTo, T, t.
@@ -781,6 +865,16 @@ public override List<Vector2i> GetSelectablePoints()
781865 }
782866
783867 public override string ToString ( ) => String . Format ( "{0} {1},{2}" , _isRelative ? 't' : 'T' , _x , _y ) ;
868+
869+ public override void MoveDelta ( Vector2i deltaPosition )
870+ {
871+ throw new NotImplementedException ( ) ;
872+ }
873+
874+ public override void ResizeDelta ( Vector2i size )
875+ {
876+ throw new NotImplementedException ( ) ;
877+ }
784878 }
785879
786880 /// <summary>
@@ -848,6 +942,16 @@ public override uint[] GetVerticesIndexes()
848942 throw new NotImplementedException ( ) ;
849943 }
850944
945+ public override void MoveDelta ( Vector2i deltaPosition )
946+ {
947+ throw new NotImplementedException ( ) ;
948+ }
949+
950+ public override void ResizeDelta ( Vector2i size )
951+ {
952+ throw new NotImplementedException ( ) ;
953+ }
954+
851955 public override string ToString ( ) => String . Format ( "{0} {1} {2} {3} {4} {5} {6},{7}" , _isRelative ? 'a' : 'A' , _rx , _ry , _angle , Convert . ToInt32 ( _largeArcFlag ) , Convert . ToInt32 ( _sweepFlag ) , _x , _y ) ;
852956 }
853957 /// <summary>
@@ -876,6 +980,16 @@ public override uint[] GetVerticesIndexes()
876980 throw new NotImplementedException ( ) ;
877981 }
878982
983+ public override void MoveDelta ( Vector2i deltaPosition )
984+ {
985+ throw new NotImplementedException ( ) ;
986+ }
987+
988+ public override void ResizeDelta ( Vector2i size )
989+ {
990+ throw new NotImplementedException ( ) ;
991+ }
992+
879993 public override string ToString ( ) => "z" ;
880994 }
881995}
0 commit comments