<rectangle>
<rectangle> is a Graphical
component that renders a rectangle when nested inside a <graph> component.
Attributes and Properties
Attributes for <rectangle>
Number display (5)
avoidScientificNotationboolean. Default value: false. Whether to render numbers in full decimal form rather than scientific notation.
displayDecimalsinteger. Default value: 2. Number of decimal places to display when rendering this number.
displayDigitsinteger. Default value: 3. Number of significant digits to display when rendering this number.
displaySmallAsZeronumber. Default value: 1e-14. Threshold below which numbers are displayed as zero.
padZerosboolean. Default value: false. Whether to pad displayed numbers with trailing zeros to fill the requested digits/decimals.
Labels (1)
labelIsNameboolean. Default value: false. Whether to use this component's name as its rendered label.
Other (26)
addControlskeyword. Whether to render interactive control handles.
| Value | Description |
|---|---|
center | Show a single control handle for moving the rectangle's center. |
widthAndHeight | Show control handles for resizing width and height. |
centerWidthAndHeight (default) | Show control handles for both moving the center and resizing. |
none | Show no control handles. |
allowDilationboolean. Default value: true. Whether the shape can be dilated (scaled) under drag.
allowReflectionboolean. Default value: true. Whether the polyline can be reflected under drag.
allowRotationboolean. Default value: true. Whether the polyline can be rotated under drag.
allowTranslationboolean. Default value: true. Whether the polyline can be translated under drag.
applyStyleToLabelboolean. Default value: false. Whether to apply this component's selected style to its label.
[ point ]. The rectangle's center point.
controlOrderinteger. Default value: 0. Slot order for graph controls (1-indexed; 0 means no explicit slot request).
draggableboolean. Default value: true. Whether the polyline can be dragged on a graph.
filledboolean. Default value: false. Whether to fill the interior of the polygon.
fillOpacitynumber. Opacity of fills, 0 to 1.
number. The rectangle's height.
layerinteger. Default value: 0. Z-order layer index used to stack graphical components (higher values render on top).
lineStylekeyword. Stroke style for lines.
| Value | Description |
|---|---|
solid | Continuous, unbroken stroke. |
dashed | Stroke composed of evenly-spaced dashes. |
dotted | Stroke composed of evenly-spaced dots. |
lineWidthnumber. Stroke width for lines, in pixels.
minShrinknumber. Default value: 0.1. Minimum scaling factor allowed when dilating.
preserveSimilarityboolean. Default value: false. Whether the shape is preserved up to similarity (uniform scaling) under drag.
rigidboolean. Default value: false. Whether the polyline is treated as rigid (preserves shape under drag).
rotateAroundkeyword. What point to rotate the shape around.
| Value | Description |
|---|---|
centroid (default) | Rotate around the centroid of the shape. |
vertex | Rotate around the vertex specified by rotationVertex. |
point | Rotate around the explicit point given by rotationCenter. |
rotationCenterpoint. The point to rotate around when rotateAround is 'point'.
rotationHandleVerticesnumberList. Default value: [1]. Vertex indices that should display rotation handles when the shape is rigid or preserves similarity.
rotationVertexinteger. Default value: 1. The vertex index to rotate around when rotateAround is 'vertex'.
showCoordsWhenDraggingboolean. Default value: true. Whether to show coordinate labels while dragging.
[ pointList ]. The list of vertex points that define the shape.
boolean. Whether individual vertices may be dragged independently.
number. The rectangle's width.
Common to all components (9)
copyreference. Create an independent copy of another component by reference. Enter a references a $name.
disabledboolean. Default value: false. Whether this component is disabled and cannot be interacted with.
extendreference. Extend another component by reference, inheriting its children and attributes. Enter a reference as $name.
fixedboolean. Default value: false. Whether this component's value is fixed and cannot be modified.
fixLocationboolean. Default value: false. Whether this component's location is fixed (preventing it from being moved while still allowing other modifications).
hideboolean. Default value: false. Whether to hide this component from the rendered output.
isResponseboolean. Default value: false. Whether this component is treated as a response for the purposes of assessment.
nametext. The name used to reference this component from elsewhere in the document.
styleNumberinteger. Default value: 1. The style number used to select this component's visual styling from the available style definitions.
Properties for <rectangle name="r">
Number display (5)
$r.avoidScientificNotationboolean. Whether to render numbers in full decimal form rather than scientific notation.
$r.displayDecimalsinteger. Number of decimal places to display when rendering this number.
$r.displayDigitsinteger. Number of significant digits to display when rendering this number.
$r.displaySmallAsZeronumber. Threshold below which numbers are displayed as zero.
$r.padZerosboolean. Whether to pad displayed numbers with trailing zeros to fill the requested digits/decimals.
Labels (2)
$r.labellabel. The label rendered with this component.
$r.labelIsNameboolean. Whether to use this component's name as its rendered label.
Other (31)
$r.addControlstext. Whether to render interactive control handles.
$r.allowDilationboolean. Whether the polyline can be dilated under drag.
$r.allowReflectionboolean. Whether the polyline can be reflected under drag.
$r.allowRotationboolean. Whether the polyline can be rotated under drag.
$r.allowTranslationboolean. Whether the polyline can be translated under drag.
$r.applyStyleToLabelboolean. Whether to apply this component's selected style to its label.
$r.areanumber. The area enclosed by the polygon.
$r.borderStyleDescriptiontext. A textual description of the polygon's border style.
$r.center[ math ]. The rectangle's center coordinates.
$r.controlOrderinteger. Slot order for graph controls (1-indexed; 0 means no explicit slot request).
$r.disabledboolean. Whether this component is disabled and cannot be interacted with.
$r.draggableboolean. Whether the polyline can be dragged on a graph.
$r.filledboolean. Whether to fill the interior of the polygon.
$r.fillStyleDescriptiontext. A textual description of the polygon's fill style.
$r.fixedboolean. Whether this component's value is fixed and cannot be modified.
$r.fixLocationboolean. Whether this component's location is fixed (preventing it from being moved while still allowing other modifications).
$r.heightnumber. The rectangle's height.
$r.layerinteger. Z-order layer index used to stack graphical components (higher values render on top).
$r.numDimensionsnumber. The number of dimensions the polyline lives in.
$r.numSidesnumber. The number of sides of the polygon.
$r.numVerticesnumber. The number of vertices (always 4 for a rectangle).
$r.perimeternumber. The perimeter of the polygon.
$r.preserveSimilarityboolean. Whether the polyline preserves its shape (up to similarity).
$r.rigidboolean. Whether the polyline is treated as rigid (preserves shape under drag).
$r.showCoordsWhenDraggingboolean. Whether to show coordinate labels while dragging.
$r.styleDescriptiontext. A textual description of the polygon's style.
$r.styleDescriptionWithNountext. Style description including the word "polygon".
$r.vertices[ math ]. The four corner vertices of the rectangle.
$r.verticesDraggableboolean. Whether each vertex can be dragged independently.
$r.widthnumber. The rectangle's width.
Common to all components (4)
$r.doenetMLtext. The DoenetML source code that produced this component.
$r.hideboolean. Whether to hide this component from the rendered output.
$r.isResponseboolean. Whether this component is treated as a response for the purposes of assessment.
$r.styleNumberinteger. The style number used to select this component's visual styling from the available style definitions.
Examples
Example: Default <rectangle>
This is a default <rectangle> without additional attributes. The vertices
can be dragged to change its shape, and the rectangle itself can be repositioned by
clicking and dragging on any side.
Example: <rectangle> with center, width and height
A <rectangle> can be described by specifying its center, width and height
with attributes. The vertices can be dragged to change its shape, and the rectangle
itself can be repositioned by clicking and dragging on any side.
Example: Filled colored <rectangle>
The filled attribute renders the rectangle with default shading to match the styleNumber.
Example: <rectangle> from vertices
Use the vertices attribute to specify a list of the two opposite corner
points of the rectangle (lower left and upper right); default: vertices=“(0,0) (1,1)“
Example: <rectangle> constrained to a grid
A rectangle is effectively constrained to an integer grid by referencing two
constrained points in the vertices attribute.
Attribute Examples
Attribute Example: center
Use the center attribute to specify the center point of the rectangle. If not specified,
the default center position is .
Attribute Example: width, height
Use the width and height attributes to specify the proportions of the <rectangle> directly.
If not specified, the default values for width and height are both .
Attribute Example: vertices
Use the vertices attribute to specify a list of the two opposite corner points of the rectangle (lower left and upper right); default: vertices=“(0,0) (1,1)“
Attribute Example: verticesDraggable
Vertices are draggable by default. Use the verticesDraggable attribute set to false to
disable users from changing the proportions of the <rectangle>. The rectangle as a
whole can still be repositioned on the <graph>.
Attribute Example: Standard graphical attributes
The uses of the following standard graphical attributes are illustrated: hide, draggable, layer, styleNumber, applyStyleToLabel and labelIsName.
Property Examples
Property Example: Attributes as properties
The above listed attributes of a named <rectangle> are also available as properties.