@startuml SPainter "1" *-- "1" SPen SPainter "1" *-- "1" SBrush SPainter "1" *-- "1" SFont SPen "1" -- "1" SColor SPen "1" -- "1" SGradient SBrush "1" -- "1" SColor SBrush "1" -- "1" SGradient class SPen{ color: SColor dashOffset: number lineCapStyle: SLineCapStyle lineDash: number[] | null lineJoinStyle: SLineJoinStyle lineWidth: number miterLimit: number } class SBrush{ color: SColor type: SBrushType gradient: SGradient } class SColor{ alpha: number red: number green: number blue: number } class SGradient{ end: SPoint start: SPoint stopList: SGradientStop[] x1: number x2: number y1: number y2: number } class SFont{ name: string size: number textAlign: STextAlign textBaseLine: STextBaseLine textDirection: STextDirection } @enduml