60 lines
874 B
Plaintext
60 lines
874 B
Plaintext
@startuml
|
|
|
|
class GUI{
|
|
This is a singleton
|
|
---
|
|
- Image currentImage
|
|
- ImageManipulation[] imageManipulations
|
|
+ none initialise()
|
|
}
|
|
|
|
|
|
class Image{
|
|
- imagedata image
|
|
+ none loadImage(path: str)
|
|
+ imagedata getImage()
|
|
+ pair<int,int> getDimensions()
|
|
}
|
|
|
|
abstract class ImageManipulation{
|
|
+none manipulateImage(Image, Parameters)
|
|
+str[] getParameters()
|
|
+str getManipulationName()
|
|
}
|
|
|
|
class CropImage{
|
|
- str name
|
|
}
|
|
|
|
class GreyScaleImage{
|
|
- str name
|
|
}
|
|
|
|
class SmoothImage{
|
|
- str name
|
|
}
|
|
|
|
class RotateImage{
|
|
- str name
|
|
}
|
|
|
|
class HSVImage{
|
|
- str
|
|
}
|
|
|
|
class HueShiftImage{
|
|
- str
|
|
}
|
|
|
|
GUI ..> Image
|
|
GUI ..> ImageManipulation
|
|
|
|
CropImage ..|> ImageManipulation
|
|
GreyScaleImage ..|> ImageManipulation
|
|
SmoothImage ..|> ImageManipulation
|
|
RotateImage ..|> ImageManipulation
|
|
HSVImage ..|> ImageManipulation
|
|
HueShiftImage ..|> ImageManipulation
|
|
|
|
|
|
@enduml |