10
UMLClass
480
230
190
90
/*Image*/
--
+pixel_data: byte[][]
+size: Vector2
--
+clear_image(Color)
UMLClass
770
280
180
40
*RasterImage*
--
--
UMLClass
1100
240
210
110
*ShapedImage*
--
-polygon_data: byte[][]
--
+create_vertex(Vector2)
+remove_vertex(Vector2)
+clear_polygon()
UMLClass
380
490
290
190
/*Tool*/
--
+effected_area_border_color: Color
+effected_area_border_radius: int
+effected_area_border_line_type: LineType
+name: String
+icon: Sprite
+tooltip: String
+description: String
...
--
/+handleImageClick(Vector2): void/
Relation
660
290
130
30
lt=<<-
10.0;10.0;110.0;10.0
Relation
940
290
180
30
lt=<<-
10.0;10.0;160.0;10.0
Relation
560
310
30
200
lt=<<.
10.0;10.0;10.0;180.0
UMLClass
470
820
230
170
/*SetColorTool*/
--
+colors: Color[255]
+selected_colors: Color[2]
--
+renderColorPalette(): void
+setMainColor(Color): void
+setSecondaryColor(Color): void
+getMainColor(): Color
+getSecondaryColor(): Color
UMLClass
770
460
250
130
*HistoryTool*
--
-history: HistoryAction[20]
-current_location: int
--
+undo(): bool
+redo(): bool
+clearRedo(): void
+addUndo(HistoryAction): void
UMLClass
30
230
210
130
<<Enumeration>>
*LineType*
--
Solid
Dotted
Dashed
LongDash
...
Relation
1010
480
110
30
lt=<<<<-
10.0;10.0;90.0;10.0
UMLClass
1100
480
190
50
*HistoryAction*
--
+string action_data[]
--
UMLClass
1390
500
210
110
<<Enumeration>>
*HistoryActionType*
--
ColorChange
Deletion
PolygonVertex
....
Relation
1280
500
130
40
lt=<-
+action_type
110.0;20.0;10.0;20.0
UMLClass
770
920
250
50
*FloodFillTool*
--
--
+handleImageClick(Vector2): void
UMLClass
770
1000
250
50
*PlainTool*
--
--
+handleImageClick(Vector2): void
UMLClass
770
790
250
100
/*FormsTool*/
--
+edge_display_line_type: LineType
+edge_display_color: Color
+edge_display_thickness: int
--
+handleImageClick(Vector2): void
UMLClass
770
690
250
70
*PenTool*
--
-radius: int
--
+handleImageClick(Vector2): void
UMLClass
1110
750
260
100
*RectangleTool*
--
+edge_thickness: int
+edge_line_type: LineType
--
+handleImageClick(Vector2): void
UMLClass
1110
870
240
80
*LineTool*
--
+thickness: int
+line_type: LineType
--
+handleImageClick(Vector2): void
UMLClass
1110
630
260
100
*ConvexFormsTool*
--
+edge_thickness: int
+edge_line_type: LineType
--
+handleImageClick(Vector2): void
UMLClass
1110
970
260
100
*PolygonTool*
--
+edge_thickness: int
+edge_line_type: LineType
--
+handleImageClick(Vector2): void
Relation
690
690
100
160
lt=<<-
10.0;140.0;80.0;10.0
Relation
690
790
100
110
lt=<<-
10.0;90.0;80.0;10.0
Relation
690
920
100
30
lt=<<-
10.0;10.0;80.0;10.0
Relation
690
970
100
60
lt=<<-
10.0;10.0;80.0;40.0
Relation
560
670
30
170
lt=<<-
10.0;10.0;10.0;150.0
Relation
1010
670
120
160
lt=<<-
10.0;140.0;100.0;10.0
Relation
1010
780
120
70
lt=<<-
10.0;50.0;100.0;10.0
Relation
1010
850
120
70
lt=<<-
10.0;10.0;100.0;50.0
Relation
1010
870
120
140
lt=<<-
10.0;10.0;100.0;120.0
Relation
660
470
130
80
lt=<<-
10.0;60.0;110.0;10.0
UMLClass
770
1080
250
90
*CircleTool*
--
+edge_thickness: int
+edge_line_type: LineType
--
+handleImageClick(Vector2): void
Relation
670
980
120
130
lt=<<-
10.0;10.0;100.0;110.0
UMLClass
30
670
250
70
*MergeTool*
--
+import_file: DataStream<File>
--
+handleImageClick(Vector2): void
UMLClass
30
430
250
50
*RotateTool*
--
--
+handleImageClick(Vector2): void
UMLClass
30
550
250
50
*ResizeTool*
--
--
+handleImageClick(Vector2): void
Relation
270
440
130
110
lt=<<-
110.0;90.0;10.0;10.0
Relation
270
560
130
50
lt=<<-
110.0;30.0;10.0;10.0
Relation
270
640
130
90
lt=<<-
110.0;10.0;10.0;70.0