Returns true if there is nothing to draw: size is empty, colors are blank or transparent, or there is no fill and stroke width is zero
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
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).
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.
Horizontal alignment value as string. One of: 'left', 'center', 'right'
Vertical alignment value as string. One of: 'top', 'middle', 'bottom'
Optional
init: PartialDeep<SizedElement> & {Sets current LinearProgressBar#value property using an evaluated string.
Draws the rectangle with all styling and positioning options applied onto ctx
using rect
dimensions for scaling and alignment.
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.
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.
Optional
unit: stringOptional
unitY: stringReturns 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
.
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
.
Returns actual pixel width and height of this element, potentially scaled to viewSize
.
See actualWidth and actualHeight for details on returned values.
Static
cleanValidates 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.
Styling properties for the inner value part of the progress bar. The outer container is styled by the parent's StyledRectangle#style property.
Progress bar value in percent, 0-100.
Padding controls how much space to leave around the outside of the progress bar relative to the total drawing area.
It determines the final size of the progress bar based on orientation. With width
value determines padding along
the long edges of the bar, and height
sets the padding around the endpoints (short edges).
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.
true
if radius values in radii
array are given in percentages, or false
if they represent absolute pixels. Default is true
.
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.
How to align within drawing area if/when width
/height
doesn't fill it completely.
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.
Whether to adjust (reduce) the overall drawing area size to account for shadow offset/blur.
A progress bar is essentially two rectangles, one inside the other, with the inner one changing length to represent a percentage value. The outer container and inner value boxes can be fully styled with the embedded
DrawingStyle
properties. This class inherits fromStyledRectangle
which is used for the outer container box, and holds additional properties to control the inner value part. Any corner radius set on the outer container box will also be applied to the inner value part (after some adjustments for size).