diff --git a/src/args.jl b/src/args.jl index 67759915..8d96b779 100644 --- a/src/args.jl +++ b/src/args.jl @@ -605,6 +605,24 @@ function preprocessArgs!(d::KW) # convert into strokes and brushes + if haskey(d, :arrow) + a = d[:arrow] + d[:arrow] = if a == true + arrow() + elseif a == false + nothing + elseif !(typeof(a) <: Arrow) + arrow(wraptuple(a)...) + else + a + end + end + + + if get(d, :arrow, false) == true + d[:arrow] = arrow() + end + # legends if haskey(d, :legend) d[:legend] = convertLegendValue(d[:legend]) diff --git a/src/components.jl b/src/components.jl index 53f0905e..f29e3bac 100644 --- a/src/components.jl +++ b/src/components.jl @@ -410,13 +410,19 @@ end function arrow(args...) style = :simple headlength = 0.3 - headwidth = 0.2 + headwidth = 0.3 + setlength = false for arg in args T = typeof(arg) if T == Symbol style = arg elseif T <: Number - headlength = headwidth = Float64(arg) + # first we apply to both, but if there's more, then only change width after the first number + headwidth = Float64(arg) + if !setlength + headlength = headwidth + end + setlength = true elseif T <: Tuple && length(arg) == 2 headlength, headwidth = Float64(arg[1]), Float64(arg[2]) else