9 UMLClass 603 36 171 81 /*Image*/ -- +pixel_data: byte[][] +size: Vector2 -- +clear_image(Color) UMLClass 864 81 162 36 *RasterImage* -- -- UMLClass 1161 45 189 99 *ShapedImage* -- -polygon_data: byte[][] -- +create_vertex(Vector2) +remove_vertex(Vector2) +clear_polygon() UMLClass 513 270 261 171 /*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 765 90 117 27 lt=<<- 10.0;10.0;110.0;10.0 Relation 1017 90 162 27 lt=<<- 10.0;10.0;160.0;10.0 UMLClass 585 567 207 153 /*SetColorTool*/ -- +colors: Color[255] +selected_colors: Color[2] -- +renderColorPalette(): void +setMainColor(Color): void +setSecondaryColor(Color): void +getMainColor(): Color +getSecondaryColor(): Color UMLClass 864 243 225 117 *HistoryTool* -- -history: HistoryAction[20] -current_location: int -- +undo(): bool +redo(): bool +clearRedo(): void +addUndo(HistoryAction): void UMLClass 198 36 189 117 <<Enumeration>> *LineType* -- Solid Dotted Dashed LongDash ... Relation 1080 261 99 27 lt=<<<<- 10.0;10.0;90.0;10.0 UMLClass 1161 261 171 45 *HistoryAction* -- +string action_data[] -- UMLClass 1422 279 189 99 <<Enumeration>> *HistoryActionType* -- ColorChange Deletion PolygonVertex .... Relation 1323 279 117 36 lt=<- +action_type 110.0;20.0;10.0;20.0 UMLClass 864 657 225 45 *FloodFillTool* -- -- +handleImageClick(Vector2): void UMLClass 864 729 225 45 *PlainTool* -- -- +handleImageClick(Vector2): void UMLClass 864 540 225 90 /*FormsTool*/ -- +edge_display_line_type: LineType +edge_display_color: Color +edge_display_thickness: int -- UMLClass 864 450 225 63 *PenTool* -- -radius: int -- +handleImageClick(Vector2): void UMLClass 1170 504 234 90 *RectangleTool* -- +edge_thickness: int +edge_line_type: LineType -- +handleImageClick(Vector2): void UMLClass 1170 612 216 72 *LineTool* -- +thickness: int +line_type: LineType -- +handleImageClick(Vector2): void UMLClass 1170 396 234 90 *ConvexFormsTool* -- +edge_thickness: int +edge_line_type: LineType -- +handleImageClick(Vector2): void UMLClass 1170 702 234 90 *PolygonTool* -- +edge_thickness: int +edge_line_type: LineType -- +handleImageClick(Vector2): void Relation 783 450 99 144 lt=<<- 10.0;140.0;90.0;10.0 Relation 783 540 99 99 lt=<<- 10.0;90.0;90.0;10.0 Relation 783 657 99 27 lt=<<- 10.0;10.0;90.0;10.0 Relation 783 702 99 54 lt=<<- 10.0;10.0;90.0;40.0 Relation 666 432 36 153 lt=<<- 20.0;10.0;10.0;150.0 Relation 1080 432 108 144 lt=<<- 10.0;140.0;100.0;10.0 Relation 1080 531 108 63 lt=<<- 10.0;50.0;100.0;10.0 Relation 1080 585 108 63 lt=<<- 10.0;10.0;100.0;50.0 Relation 1080 603 108 135 lt=<<- 10.0;10.0;100.0;130.0 Relation 765 252 117 72 lt=<<- 10.0;60.0;110.0;10.0 UMLClass 1179 810 225 81 *CircleTool* -- +edge_thickness: int +edge_line_type: LineType -- +handleImageClick(Vector2): void Relation 1071 621 126 216 lt=<<- 10.0;10.0;120.0;220.0 UMLClass 261 585 225 63 *MergeTool* -- +import_file: DataStream<File> -- +handleImageClick(Vector2): void UMLClass 198 216 225 45 *RotateTool* -- -- +handleImageClick(Vector2): void UMLClass 198 324 225 45 *ResizeTool* -- -- +handleImageClick(Vector2): void Relation 414 225 117 99 lt=<<- 110.0;90.0;10.0;10.0 Relation 414 333 117 45 lt=<<- 110.0;30.0;10.0;10.0 Relation 477 405 54 234 lt=<<- 40.0;10.0;10.0;240.0