plantuml-stdlib / C4-PlantUML

C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
MIT License
6.33k stars 1.1k forks source link

Adjust thickness of element border #315

Closed qtzar closed 1 year ago

qtzar commented 1 year ago

I would like to be able to adjust the thickness of the element border on diagrams.

kirchsth commented 1 year ago

Hi @qtzar,

I couldn't test all shapes, but I could try to support it like the Rel() implementation via tags. (details see #254)

@startuml
!include <C4/C4_Component.puml>

' SHOW_PERSON_PORTRAIT() ' not working??
' skinparam actorBorderThickness 15.0  ' not working??
' skinparam actorBorderStyle 15.0  ' not working??

SHOW_PERSON_OUTLINE()
skinparam personBorderThickness 15.0
skinparam personBorderStyle dashed

skinparam rectangleBorderThickness 5.0
skinparam rectangleBorderStyle dashed

Person(P,"Person")
Component(C,"Component","techn")

AddRelTag(special, $textColor="$ARROW_FONT_COLOR", $lineColor="$ARROW_COLOR", $lineStyle=DashedLine(), $lineThickness=5)
Rel(P,C,"uses",$tags=special)

SHOW_LEGEND()
@enduml

BR Helmut

kirchsth commented 1 year ago

If possible AddBoundaryTag() and UpdateBoundaryStyle() should be extended too

kirchsth commented 1 year ago

Atm border thickness cannot be changed per component. Opened a question in forum

kirchsth commented 1 year ago

Hi @qtzar,

I have a first version: the border style and thickness of all elements and boundaries can be defined via tags. Can you please check it via in my extended branch. Does it match your expectations?

Thank you and best regards Helmut

PS.: I extended all Add...Tag() with (..., $borderStyle="", $borderThickness="") too, but I forgot the update in the readme

qtzar commented 1 year ago

Just got a chance to test this, grabbed one of my puml files, changed the imports to point to your extended branch and added the borderStyle and borderThickness declarations to a few of the AddElementTags in the puml and generated an diagram.

It looked great and exactly what I was looking for. Plan for using this is to be able to set border colors and styles for containers that are being change in future state diagrams.

kirchsth commented 1 year ago

@qtzar: v.2.8.0 with border styles released