There need to be standard style strings and a vocabulary for describing the properties of graphics. Ivar asked for annotations with more control over the highlited region, and this is the motivator. I could have anchorBorderColor, anchorBorderLineStyle, and anchorBorderFillTexture, etc, or just anchorStyle='color:red;lineStyle:dashed;fillTexture:hash'.
I started a new method to parse these strings in GraphUtil which takes the string and returns a Map<String,String>, so that there's a single place for this and hopefully standard terms for controlling this. Eventually there should be a GUI developed for this as well, which would be configured with the subset of supported terms.
ChatGPT suggests the following terms for fillTexture:
- solid Solid fill
- none No fill
- hatch/hash Diagonal parallel lines ///
- crosshatch/crosshash Crossing diagonal lines
- backhatch/backhash Diagonal parallel lines (\)
- horizontal Horizontal lines
- vertical Vertical lines
- grid Horizontal + vertical lines
- dots Regular dot pattern
- checker Checkerboard
- bricks Brick-like pattern
- waves Wavy lines
Note I already started using hash and crosshash, and it politely corrected me that the term is "hatch" not "hash".
For colors, we already support the standard web color names ("Burnt Sienna" and "Saddle Brown").
For linestyle we has the old Das2 terms like dash and "dot dash" and I should look at SciPy terms. Also Matlab and SciPy use a convention like "---" and "-.-." to control dash types.
I've added this (GraphUtil#parseControlString) and the following terms are suggested:
- color -- color to draw with
- foreground -- color to draw with
- background -- background color
- fillColor -- color to fill space with
- String fillTexture -- hash,crosshash,backhash,solid,name
- String lineStyle -- Dashes,DashFine,DotDashes,DotFine,Dots,None,Solid
- String lineThick -- in pixels, ems, or percent
- String width -- width, in pixels, or ems or percent
- String height -- height, in pixels, or ems or percent
There need to be standard style strings and a vocabulary for describing the properties of graphics. Ivar asked for annotations with more control over the highlited region, and this is the motivator. I could have anchorBorderColor, anchorBorderLineStyle, and anchorBorderFillTexture, etc, or just anchorStyle='color:red;lineStyle:dashed;fillTexture:hash'.
I started a new method to parse these strings in GraphUtil which takes the string and returns a Map<String,String>, so that there's a single place for this and hopefully standard terms for controlling this. Eventually there should be a GUI developed for this as well, which would be configured with the subset of supported terms.
ChatGPT suggests the following terms for fillTexture:
Note I already started using hash and crosshash, and it politely corrected me that the term is "hatch" not "hash".
For colors, we already support the standard web color names ("Burnt Sienna" and "Saddle Brown").
For linestyle we has the old Das2 terms like dash and "dot dash" and I should look at SciPy terms. Also Matlab and SciPy use a convention like "---" and "-.-." to control dash types.
I've added this (GraphUtil#parseControlString) and the following terms are suggested: