Skip to content

General purpose style strings #188

Description

@jbfaden

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions