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

    Class StyledRectangle

    Draws a rectangle shape on a canvas context with optional radii applied to any/all of the 4 corners (like CSS). The shape can be fully styled with the embedded DrawingStyle property.

    Hierarchy (View Summary)

    Implements

    • ILayerElement
    • IRenderable
    • IColorElement
    Index

    Accessors

    • 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

    • get isEmpty(): boolean

      Returns true if there is nothing to draw: there is no fill and stroke width is zero

      Returns boolean

    Constructors

    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

    • 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.

    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.

    Fill and stroke style to apply when drawing this element.

    adjustSizeForShadow: boolean = true

    Whether to adjust (reduce) the overall drawing area size to account for shadow offset/blur.