Dynamic Icons Scripting Reference - v1.3.0
    Preparing search index...

    Class RectanglePath

    Creates a rectangle path with optional radii applied to any/all of the 4 corners (like CSS).

    Hierarchy (View Summary)

    Implements

    • IPathProducer
    Index

    Accessors

    • get isEmpty(): boolean

      Returns true if the rectangle is empty (width or height are zero)

      Returns boolean

    • get radii(): PointType[]

      radii value is like css border-radius, an array of 1-4 "point-like" objects ({x,y}) starting at top left corner, etc. Empty array for no radius. Values can be in either percent of overall size (like CSS border-radius %) or in absolute pixels, depending on the radiusIsRelative property. Radius values cannot be negative.

      See radii param at https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect#syntax

      Returns PointType[]

    • set radii(radii: number | (number | PointType)[]): void

      The radii can be set using an array of 1-4 numbers or PointType {x,y} objects, or a single numeric value (for all 4 corners).

      Parameters

      Returns void

    • get align(): string

      Alignment value as two string values, first for vertical and second for horizontal. Eg. "top left" or "center middle". Setting the property can be done with either a single direction or both (separated by space or comma) in either order.

      Returns string

    • set align(value: string | Alignment): void

      Parameters

      Returns void

    Constructors

    • Parameters

      • Optionalinit: RectanglePathInit

      Returns RectanglePath

    Methods

    • Clears the generated & cached Path2D object (if any). Some Path subclasses my not use the cache. Typically the cache management is handled automatically when relevant properties are modified.

      Returns void

    • Returns a copy of the current radii property with each member scaled by ratio amount.

      Parameters

      • ratio: number

      Returns (number | PointType)[]

    • Returns the rectangle as a Path2D object, scaled to fit into rect bounds (if size units are relative), and combined with any paths in the pathStack according to value of the operation property.

      Parameters

      Returns Path2D

    • Sets element width and height property values with optional unit type specifier to use for both dimensions. If unit is undefined then the current unit types for each dimension remain unchanged.

      Parameters

      • size: SizeType
      • Optionalunit: string
      • OptionalunitY: string

      Returns void

    • Returns actual pixel width of this element, either scaled to viewWidth if width unit is % or actual width value if it is in pixels already. If this element's width value is zero then return viewWidth.

      Parameters

      • viewWidth: number

      Returns number

    • Returns actual pixel height of this element, either scaled to viewHeight if height unit is % or actual height value if it is in pixels already. If this element's height value is zero then return viewHeight.

      Parameters

      • viewHeight: number

      Returns number

    • Validates the value types in given array and that none of the values are < 0; Turns all single numeric values into {x,y} PointType objects. Modifies the input array if needed. Any array members which are neither numeric nor {x,y} objects are replaced with a zero value.

      Parameters

      Returns asserts radii is PointType[]

    Properties

    operation: PathBoolOperation = PathBoolOperation.None

    Boolean operation to perform with previous path, if any. May be used by subclasses in their IPathProducer#getPath method to automatically combine with other paths.

    layerRole: LayerRole = LayerRole.PathProducer
    radiusIsRelative: boolean = true

    true if radius values in radii array are given in percentages, or false if they represent absolute pixels. Default is true.

    width: UnitValue = ...

    A zero width/height (default) indicates to draw into the full available image area (eg. passed to render() in rect argument). Negative values are not allowed.

    height: UnitValue = ...
    alignment: Alignment = Alignment.CENTER

    How to align within drawing area if/when width/height doesn't fill it completely.

    offset: Vect2d = ...

    Extra position offset to apply after alignment. Expressed as a percentage of overall drawing area size.