pen-structure.puml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. @startuml
  2. abstract SPaintEngine
  3. SPainter *-- SPaintEngine
  4. SCanvasPaintEngine ..|> SPaintEngine
  5. SSvgPaintEngine ..|> SPaintEngine
  6. SPaintEngine "1" -- "n" SPaintState
  7. SPen -- SPaintState
  8. SPen "1" -- "1" SColor
  9. SPen "1" -- "1" SGradient
  10. SLineGradient ..|> SGradient
  11. SRadialGradient ..|> SGradient
  12. SPainter "1" *-- "1" SPen
  13. class SPen{
  14. color: SColor
  15. dashOffset: number
  16. lineCapStyle: SLineCapStyle
  17. lineDash: number[] | null
  18. lineJoinStyle: SLineJoinStyle
  19. lineWidth: number
  20. miterLimit: number
  21. constructor(SPen):void
  22. constructor(SColor, number):void
  23. constructor():void
  24. }
  25. class SPaintState{
  26. brush: SBrush
  27. font: SFont
  28. matrix: SMatrix
  29. composite: SComposite
  30. pen: SPen
  31. constructor(SPaintState): void
  32. }
  33. class SColor{
  34. alpha: number
  35. red: number
  36. green: number
  37. blue: number
  38. constructor(number | string | SColor, number, number, number): void
  39. rgb(number, number, number): SColor
  40. rgba(number, number, number, number): SColor
  41. }
  42. class SGradient{
  43. stopList: SGradientStop[]
  44. addColorStop(number, SColor): void
  45. }
  46. @enduml