68 lines
1.4 KiB
Plaintext
68 lines
1.4 KiB
Plaintext
@startuml
|
|
skinparam packageStyle rectangle
|
|
|
|
' ============================
|
|
' MODEL (bleu)
|
|
' ============================
|
|
package mimage {
|
|
class Pixel #aliceblue
|
|
class RGBImage #aliceblue
|
|
}
|
|
|
|
RGBImage *-- Pixel
|
|
|
|
package mhuffman {
|
|
class FrequencyTable #aliceblue
|
|
class HuffmanNode #aliceblue
|
|
class HuffmanTree #aliceblue
|
|
class CanonicalCode #aliceblue
|
|
}
|
|
|
|
HuffmanTree *-- HuffmanNode
|
|
FrequencyTable ..> RGBImage
|
|
CanonicalCode ..> HuffmanTree
|
|
|
|
package util {
|
|
class BitInputStream #aliceblue
|
|
class BitOutputStream #aliceblue
|
|
class ByteUtils #aliceblue
|
|
class FileUtils #aliceblue
|
|
}
|
|
|
|
package mpif {
|
|
class PIFWriter #aliceblue
|
|
}
|
|
|
|
PIFWriter ..> RGBImage
|
|
PIFWriter ..> CanonicalCode
|
|
PIFWriter ..> BitOutputStream
|
|
|
|
|
|
' ============================
|
|
' VIEW (vert)
|
|
' ============================
|
|
package vconverter {
|
|
class ConverterWindow #palegreen
|
|
class PreviewPanel #palegreen
|
|
class FrequencyTablePanel #palegreen
|
|
class CodeTablePanel #palegreen
|
|
}
|
|
|
|
ConverterWindow *-- PreviewPanel
|
|
ConverterWindow *-- FrequencyTablePanel
|
|
ConverterWindow *-- CodeTablePanel
|
|
|
|
|
|
' ============================
|
|
' CONTROLLER (orange)
|
|
' ============================
|
|
class ConverterController #ffddaa
|
|
|
|
ConverterController ..> RGBImage
|
|
ConverterController ..> FrequencyTable
|
|
ConverterController ..> HuffmanTree
|
|
ConverterController ..> CanonicalCode
|
|
ConverterController ..> PIFWriter
|
|
|
|
@enduml
|