Skip to content

The Circle tool

1.0.0 · Output

The Circle tool is based on the SVG basic <circle>element shape.

Basic usage

The Circle tool needs a center position and a radius.

1
2
3
4
5
- type: 'circle'            # tooltype is 'circle'
  position:                 # Position on (100x100) canvas
    cx: 50                  # cx=50 is center position
    cy: 50                  # cy=50 is center position
    radius: 25              # radius of circle. Width/height is 50
1
2
3
4
5
6
- type: 'circle'            # tooltype is 'circle'
  position:                 # Position on (100x100) canvas
    cx: 50                  # cx=50 is center position
    cy: 50                  # cy=50 is center position
    radius: 25              # radius of circle. Width/height is 50
  entity_index: 0           # connect to state of entity 0

Styling

The Circle tool has support for the following forms of styling:

Method Support Description
classes Using SAK or User defined class definitions
styles Using inline SVG and CSS styles

The Circle tool is composed of a single object: "circle" and this is the selector for styling:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
- type: 'circle'
  position:
    cx: 50
    cy: 50
    radius: 25
  classes:
    circle:                   # Circle selector
      <...>
  styles:
    circle:                   # Circle selector
      <...>
Populair properties:

Property Does what? Example
fill Fill color fill: red sets fill to color red
stroke-width Stroke width stroke-width: 2em sets width to relative width of 2em
stroke Stroke color stroke: blue sets stroke to blue
opacity Opacity (stroke/fill) opacity: 0.7 sets the opacity of circle to 70%
fill-opacity Opacity for fill fill-opacity: 0.5 sets the fill opacity to 50%
stroke-opacity Opacity for stroke stroke-opacity: 0.5 sets the stroke opacity to 50%

Reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle

Haptics

The tool supports haptic feedback through user_actions/ tap_action definition

Action Haptic Description
Click haptic Uses the haptic property defined in the user_actions definition of the tool. If not specified, a default of medium is used
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  tools:
    - type: icon
      position:
        cx: 10
        cy: 10
        align: center
        icon_size: 15
      entity_index: 0
      user_actions:
        tap_action:
          haptic: success
          actions:
            - action: more-info

Possible values for haptic feedback:

Haptic Description
success Indicates that a task or action has completed.
warning Indicates that a task or action has produced a warning of some kind.
failure Indicates that a task or action has failed.
light Provides a physical metaphor that complements the visual experience.
medium Provides a physical metaphor that complements the visual experience.
heavy Provides a physical metaphor that complements the visual experience.
selection Indicates that the selection is actively changing.

Animations

The Circle tool has support for the following forms of animations:

Method Support Description
colorstops List of state values to set the color
colorlists Using a colorlist definition
animations Operator state based animations with class/style styling

The use of animations require the tool to be connected to an entity