10 UMLClass 2080 180 320 180 /*IntelliImage*/ -- #imageData: QImage -- #resizeImage(image, newSize): void +drawPixel(p1, color): void +drawLine(p1, p2, color, penWidth): void +drawPlain(color): void /+getDisplayable(displaySize, alpha): QImage/ +loadImage(fileName): Boolean +getPixelColor(point): QColor ... UMLClass 2090 490 310 80 *IntelliRasterImage* -- -- #calculateVisibility(): void +getDisplayable(displaySize, alpha): QImage ... UMLClass 2080 770 320 150 *IntelliShapedImage* -- -triangles: vector<Triangle> #polygonData: vector<QPoint> -- -calculateVisibility(): void +getDisplayable(displaySize, alpha): QImage +getPolygonData(): vector<QPoint> +setPolygon(polygonData): void ... UMLClass 240 180 290 230 /*IntelliTool*/ -- #Area: PaintingArea #colorPicker: IntelliColorPicker #Active: LayerObject #Canvas: LayerObject #drawing: Boolean -- /+onMouseRightPressed(x,y): void/ /+onMouseLeftPressed(x,y): void/ /+onMouseRightReleased(x,y): void/ /+onMousLeftReleased(x,y): void/ /+onWheelScrolled(value): void/ /+onMouseMoved(x,y): void/ ... Relation 2170 350 30 160 lt=<<- 10.0;10.0;10.0;140.0 Relation 2170 560 30 230 lt=<<- 10.0;10.0;10.0;210.0 UMLClass 1300 290 240 80 <<Enumeration>> *ImageType* -- RASTERIMAGE SHAPEDIMAGE UMLClass 0 1030 250 150 *IntelliToolFloodFill* -- -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... UMLClass 0 570 250 150 *IntelliToolPlain* -- -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... UMLClass 880 570 240 180 *IntelliToolPen* -- -penWidth: Integer -point: QPoint -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... UMLClass 880 1050 250 180 *IntelliToolRectangle* -- -alphaInner: Integer -edgeWidth: Integer -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... UMLClass 880 790 240 200 *IntelliToolLine* -- -start: QPoint -lineWidth: Integer -lineStyle: LineStyle -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... UMLClass 350 760 250 210 *IntelliToolPolygon* -- -lineWidth: Integer -iDrawing: Boolean -PointIsNearStart: Boolean -alphaInner: Integer -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... Relation 500 400 400 190 lt=<<- 10.0;10.0;380.0;170.0 Relation 240 400 100 650 lt=<<- 80.0;10.0;10.0;630.0 Relation 110 400 160 190 lt=<<- 140.0;10.0;10.0;170.0 Relation 370 400 540 670 lt=<<- 10.0;10.0;520.0;650.0 Relation 420 400 480 410 lt=<<- 10.0;10.0;460.0;390.0 Relation 340 400 140 380 lt=<<- 10.0;10.0;120.0;360.0 UMLClass 0 770 250 200 *IntelliToolCircle* -- -Middle: QPoint -alphaInner: Integer -edgeWidth: Integer -- +onMouseRightPressed(x,y): void +onMouseLeftPressed(x,y): void +onMouseRightReleased(x,y): void +onMousLeftReleased(x,y): void +onWheelScrolled(value): void +onMouseMoved(x,y): void ... Relation 240 400 80 390 lt=<<- 60.0;10.0;10.0;370.0 UMLClass 1790 180 280 410 *PaintingArea* -- -Canvas: QImage -maxWidth: Integer -maxHeigth: Integer -Tool: IntelliTool -colorPicker: IntelliColorPicker -layerBundle: vector<LayerObject> -activeLayer: Integer -- +open(fileName): Boolean +save(fileName, fileFormat): void +addLayer(width, heigth, widthOffset, heigthOffset, ImageType): Integer +addLayerAt(idx, width, heigth, widthOffset, heigthOffset, ImageType): Integer +deleteLayer(index): void +setLayerToActive(index): void +movePositionActive(x,y): void +moveActiveLayer(idx): void +setAlphaOfLayer(index, alpha): void +floodFill(r,g,b,a): void +getWidthOfActive(): Integer +getHeigthOfActive(): Integer -- Also overrides every Inputevent and creates every Tool. group=1 UMLClass 1550 180 230 150 <<dataType>> *LayerObject* -- +image: IntelliImage +width: Integer +heigth: Integer +widthOffset: Integer +heigthOffset: Integer +alpha: Integer -- UMLClass 690 180 320 90 /*IntelliHelper*/ -- -- +isInTriangle(tri, P): Boolean +calculateTriangles(polyPoints): vector<Triangle> +isInPolygon(triangles, point): Boolean UMLClass 1300 180 240 80 <<Enumeration>> *LineStyle* -- SOLID DOTTED UMLClass 1040 180 250 150 /*IntelliColorPicker*/ -- -firstColor: QColor -secondColor: QColor -- +switchColors(): void +setFirstColor(Color): void +setSecondColor(Color): void +getFirstColor(): QColor +getSecondColor(): QColor UMLClass 1550 340 230 100 <<dataType>> *Triangle* -- +A: QPoint +B: QPoint +C: QPoint -- UMLClass 1550 450 230 70 <<dataType>> *QImage* -- -- -- Handles the ImageData UMLClass 1550 530 230 70 <<dataType>> *QPoint* -- -- -- Handles points with x,y,z. UMLClass 1550 620 230 90 <<dataType>> *vector<T>* -- -- -- Is a Vector of witch contains data with equal type as type T.