10 UMLClass 2220 90 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 2230 400 310 80 *IntelliRasterImage* -- -- #calculateVisibility(): void +getDisplayable(displaySize, alpha): QImage ... UMLClass 2220 680 320 150 *IntelliShapedImage* -- -triangles: vector<Triangle> #polygonData: vector<QPoint> -- -calculateVisibility(): void +getDisplayable(displaySize, alpha): QImage +getPolygonData(): vector<QPoint> +setPolygon(polygonData): void ... UMLClass 380 90 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 2310 260 30 160 lt=<<- 10.0;10.0;10.0;140.0 Relation 2310 470 30 230 lt=<<- 10.0;10.0;10.0;210.0 UMLClass 1440 200 240 80 <<Enumeration>> *ImageType* -- RASTERIMAGE SHAPEDIMAGE UMLClass 140 940 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 140 480 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 1020 480 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 1020 960 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 1020 700 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 490 670 250 210 *IntelliToolPolygon* -- -lineWidth: Integer -isDrawing: 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 640 310 400 190 lt=<<- 10.0;10.0;380.0;170.0 Relation 380 310 100 650 lt=<<- 80.0;10.0;10.0;630.0 Relation 250 310 160 190 lt=<<- 140.0;10.0;10.0;170.0 Relation 510 310 540 670 lt=<<- 10.0;10.0;520.0;650.0 Relation 560 310 480 410 lt=<<- 10.0;10.0;460.0;390.0 Relation 480 310 140 380 lt=<<- 10.0;10.0;120.0;360.0 UMLClass 140 680 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 380 310 80 390 lt=<<- 60.0;10.0;10.0;370.0 UMLClass 1930 90 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 1690 90 230 150 <<dataType>> *LayerObject* -- +image: IntelliImage +width: Integer +heigth: Integer +widthOffset: Integer +heigthOffset: Integer +alpha: Integer -- UMLClass 830 90 320 90 /*IntelliHelper*/ -- -- +isInTriangle(tri, P): Boolean +calculateTriangles(polyPoints): vector<Triangle> +isInPolygon(triangles, point): Boolean UMLClass 1440 90 240 80 <<Enumeration>> *LineStyle* -- SOLID DOTTED UMLClass 1180 90 250 150 /*IntelliColorPicker*/ -- -firstColor: QColor -secondColor: QColor -- +switchColors(): void +setFirstColor(Color): void +setSecondColor(Color): void +getFirstColor(): QColor +getSecondColor(): QColor UMLClass 1690 250 230 100 <<dataType>> *Triangle* -- +A: QPoint +B: QPoint +C: QPoint -- UMLClass 1690 360 230 70 <<dataType>> *QImage* -- -- -- Handles the ImageData UMLClass 1690 440 230 70 <<dataType>> *QPoint* -- -- -- Handles points with x,y,z. UMLClass 1690 530 230 90 <<dataType>> *vector<T>* -- -- -- Is a Vector of witch contains data with equal type as type T.