Shape class
A Shape is a GraphObject that shows a geometric figure. The Geometry determines what is drawn; the properties #fill and #stroke (and other stroke properties) determine how it is drawn.
There are generally two types of shapes: Those that use a custom Geometry by setting Shape#geometry, and those that receive an automatically generated Geometry using the value of #figure, #toArrow, or #fromArrow. An explicitly set Geometry always supersedes the figure and arrowhead properties.
Some created Shapes:
// A shape with the figure set to RoundedRectangle:
new go.Shape({ figure: "RoundedRectangle", fill: "lightgreen" })
// Alternatively:
new go.Shape("RoundedRectangle" { fill: "lightgreen" })
// A shape with a custom geometry:
new go.Shape(
{ geometry: go.Geometry.parse("M120 0 L80 80 0 50z") })
// A shape with a custom geometry, using geometryString:
new go.Shape(
{ geometryString: "F M120 0 L80 80 0 50z",
fill: "lightgreen" })
// A common link template, using two shapes,
// the first for the link path and the second for the arrowhead
// The first shape in a link is special, its geometry is set by the Link's routing,
// so it does not need a geometry or figure set manually
myDiagram.linkTemplate =
new go.Link()
.add(new go.Shape(
{ strokeWidth: 2, stroke: 'gray' }))
.add(new go.Shape(
{ toArrow: "Standard", fill: 'gray', stroke: null }))
You can see more custom geometry examples and read about geometryString on the Geometry Path Strings Introduction page.
When automatically generating a Shape Geometry, the value of #toArrow takes precedence, then #fromArrow, then #figure. If the value of #toArrow or #fromArrow is "None" then it is ignored, and the "None" value of #figure is identical to "Rectangle".
All of the predefined figures are shown in the Shapes sample. You can define your own named figures by calling the static function Shape.defineFigureGenerator. Get a Map of named figures by calling the static function Shape.getFigureGenerators.
All of the predefined arrowheads are shown in the Arrowheads sample. You can define your own named arrowheads by calling the static function Shape.defineArrowheadGeometry. Get a Map of named arrowheads by calling the static function Shape.getArrowheadGeometries.
You can see a copy of all of the built-in arrowhead definitions in this file: Arrowheads.js.
The Shape properties #parameter1, and #parameter2 determine details of the construction of some #figure geometries. Specifically, they often set the #spot1, #spot2 for the Shape. These spots determine the "inner area" of an Auto panel when a Shape is the main object. See the Auto Panels section of the Panels Introduction page for more details.
Shapes use their geometric bounds when determining hit testing, but use rectangular bounds when participating in (panel) layouts.
- Implemented types
- Available extensions
- Annotations
-
- @JS()
- @staticInterop
Constructors
Properties
- actionCancel ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the ActionTool is cancelled and this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.getter/setter pair - actionDown ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute on a mouse-down event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.getter/setter pair - actionMove ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute on a mouse-move event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.getter/setter pair - actionUp ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute on a mouse-up event when this GraphObject's #isActionable is set to true. This property is infrequently set. By default this property is null.getter/setter pair - actualBounds ↔ Rect
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the bounds of this GraphObject in container coordinates. This means that the actualBounds are in the coordinate space of the GraphObject's Panel, unless this is a Part, in which case they are in the Diagram's coordinate system.getter/setter pair - alignment ↔ Spot
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the alignment Spot of this GraphObject used in Panel layouts, to determine where in the area allocated by the panel this object should be placed.getter/setter pair - alignmentFocus ↔ Spot
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the spot on this GraphObject to be used as the alignment point in Spot and Fixed Panels. Value must be of the Spot.getter/setter pair - angle ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the angle transform, in degrees, of this GraphObject. Value must be a number. If the value is not between (0 <= value < 360), it will be normalized to be in that range. Zero is along the positive X-axis (rightwards); 90 is along the positive Y-axis (downwards). Default is 0.getter/setter pair - areaBackground ↔ dynamic
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the areaBackground Brush of this GraphObject. The areaBackground fills the rectangle described by this GraphObject's containing panel's coordinates. If the object is rotated, the area background will expand to fill the entire measured bounds of the object, without rotating the brush.getter/setter pair - background ↔ dynamic
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the background Brush of this GraphObject, filling the rectangle of this object's local coordinate space. If the object is rotated, the background will rotate with it.getter/setter pair - bind → ({GraphObject Function(Binding binding) $1, GraphObject Function([String? targetprop, String? sourceprop, TargetConversion? conv, BackConversion? backconv]) $2})
-
Available on GraphObject, provided by the GraphObject$Typings extension
Overload accessor: $1, $2no setter - click ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user single-primary-clicks on this object. This typically involves a mouse-down followed by a prompt mouse-up at approximately the same position using the left (primary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name"ObjectSingleClicked"
.getter/setter pair - column ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the column of this GraphObject if it is in a Table Panel. The value must be a small non-negative integer. The default is 0.getter/setter pair - columnSpan ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the number of columns spanned by this GraphObject if it is in a Table Panel. The value must be a small positive integer. The default is 1.getter/setter pair - contextClick ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user single-secondary-clicks on this object. This typically involves a mouse-down followed by a prompt mouse-up at approximately the same position using the right (secondary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name"ObjectContextClicked"
.getter/setter pair - contextMenu ↔ dynamic
-
Available on GraphObject, provided by the GraphObject$Typings extension
This Adornment or HTMLInfo is shown upon a context click on this object. The default value is null, which means no context menu is shown.getter/setter pair - cursor ↔ String
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the mouse cursor to use when the mouse is over this object with no mouse buttons pressed. The value is null when no particular cursor is specified for this object; the actual cursor is determined by any containing Panel.getter/setter pair - desiredSize ↔ Size
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the desired size of this GraphObject in local coordinates. Value must be of type Size. Default is Size(NaN, NaN). You cannot modify the width or height of the value of this property -- if you want to change the desiredSize you must set this property to a different Size.getter/setter pair - diagram ↔ Diagram?
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the Diagram that this GraphObject is in, if it is.getter/setter pair - doubleClick ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user double-primary-clicks on this object. This typically involves a mouse-down/up/down/up in rapid succession at approximately the same position using the left (primary) mouse button. This property is used by the ClickSelectingTool when the user clicks on a GraphObject. The function is called in addition to the DiagramEvent that is raised with the name"ObjectDoubleClicked"
.getter/setter pair - enabledChanged ↔ void Function(GraphObject, bool)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when some containing Panel changes the value of Panel#isEnabled. It is typically used to modify the appearance of the object. This function must not change the value of any panel Panel#isEnabled.getter/setter pair - figure ↔ String
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the figure name, used to construct a Geometry. The value must be a string. The default value is "None".getter/setter pair - fill ↔ dynamic
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the Brush or string that describes how the geometry is filled when drawn.getter/setter pair - filter ↔ String
-
Available on GraphObject, provided by the GraphObject$Typings extension
Undocumented. May not work in Safari.getter/setter pair - fromArrow ↔ String
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the name of the kind of arrowhead that this shape should take when this shape is an element of a Link. Value must be a string. For bi-directional links the arrowhead name often starts with "Backward...".getter/setter pair - fromEndSegmentLength ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the length of the first segment of a link coming from this port. This value is used when the computed "from spot" is not Spot.None. The default value is 10. This value also limits how short the Link#fromShortLength may be drawn.getter/setter pair - fromLinkable ↔ bool?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw Links from this port. This property is used by LinkingBaseTool#isValidFrom.getter/setter pair - fromLinkableDuplicates ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw duplicate Links from this port. This property is used by LinkingBaseTool#isValidLink. The default value is false.getter/setter pair - fromLinkableSelfNode ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw Links that connect from this port's Node. This property is used by LinkingBaseTool#isValidLink. The default value is false.getter/setter pair - fromMaxLinks ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the maximum number of links that may come out of this port. This property is used by LinkingBaseTool#isValidFrom.getter/setter pair - fromShortLength ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets how far the end segment of a link coming from this port stops short of the actual port. Positive values are limited by the #fromEndSegmentLength or Link#fromEndSegmentLength. Negative values cause the link to extend into the port. The default value is zero.getter/setter pair - fromSpot ↔ Spot
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets where a link should connect from this port. The default value is Spot.None, meaning that the link routing must consider the shape of the port and connect at the closest point.getter/setter pair - geometry ↔ Geometry?
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the Shape's Geometry that defines the Shape's figure. Setting a geometry is not necessary if a #figure is specified, as that will construct a geometry instead.getter/setter pair - geometryStretch ↔ EnumValue
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets how the shape's geometry is proportionally created given its computed size. Possible values are GraphObject.None, GraphObject.Fill, GraphObject.Uniform, and GraphObject.Default. The default is GraphObject.Default, which resolves to GraphObject.Fill for most figures, though some regular figures such as "Circle" and "Square" default to GraphObject.Uniform.getter/setter pair - geometryString ↔ String
-
Available on Shape, provided by the Shape$Typings extension
When set, creates a Geometry and normalizes it from a given path string, then sets the #geometry property on this Shape and set the GraphObject#position to the amount computed by normalization. The property getter simply returns the toString value of the #geometry, or the empty string if there is no Geometry value.getter/setter pair - graduatedEnd ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the fractional distance along the main shape of a "Graduated" Panel at which this kind of tick should end. The default is 1. Any new value should range from 0 to 1.getter/setter pair - graduatedSkip ↔ bool Function(num, Shape)?
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the function to determine which values along a "Graduated" Panel will be skipped. The default is null and doesn't skip any ticks.getter/setter pair - graduatedStart ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the fractional distance along the main shape of a "Graduated" Panel at which this kind of tick should start. The default is 0. Any new value should range from 0 to 1.getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- height ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the desired height of this GraphObject in local coordinates. This just gets or sets the height component of the #desiredSize. Default is NaN.getter/setter pair - interval ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets how frequently this shape should be drawn within a "Grid" or "Graduated" Panel, in multiples of the Panel#gridCellSize or Panel#graduatedTickUnit. The default is 1. Any new value must be a positive integer.getter/setter pair - isActionable ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
This property determines whether or not this GraphObject's events occur before all other events, including selection. This enables the #actionDown, #actionMove, #actionUp, and #actionCancel events, which are all handled by the ActionTool.getter/setter pair - isGeometryPositioned ↔ bool
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the whether the GraphObject#position of this shape denotes the top-left corner of this shape in panel coordinates or the origin of this geometry's coordinate system. Basically, this determines whether the #strokeWidth affects the rendered location. A true value allows multiple shapes to be positioned precisely in a "Position" Panel independent of the stroke width. The default is false.getter/setter pair - isPanelMain ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether a GraphObject is the "main" object for some types of Panel. Panels that use a "main" object include Panel.Auto, Panel.Spot, and Panel.Link.getter/setter pair - layer ↔ Layer?
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the GraphObject's containing Layer, if there is any. A plain GraphObject cannot belong directly to a Layer -- only a Part can belong directly to a Layer.getter/setter pair - margin ↔ Object
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the size of empty area around this GraphObject, as a Margin, in the containing Panel coordinates.getter/setter pair - maxSize ↔ Size
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the maximum size of this GraphObject in container coordinates (either a Panel or the document). Any new value must be of type Size; NaN values are treated as Infinity. If you want no maximum width or height, use NaN or Infinity.getter/setter pair - measuredBounds ↔ Rect
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the measuredBounds of the GraphObject in container coordinates (either a Panel or the document). This describes the transformed bounds with margins excluded.getter/setter pair - minSize ↔ Size
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the minimum size of this GraphObject in container coordinates (either a Panel or the document). Any new value must be of type Size; NaN values are treated as 0.getter/setter pair - mouseDragEnter ↔ void Function(InputEvent, GraphObject, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user moves the mouse into this stationary object during a DraggingTool drag; this allows you to provide feedback during a drag based on where it might drop.getter/setter pair - mouseDragLeave ↔ void Function(InputEvent, GraphObject, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user moves the mouse out of this stationary object during a DraggingTool drag; this allows you to provide feedback during a drag based on where it might drop.getter/setter pair - mouseDrop ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when a user drops the selection on this object at the end of a DraggingTool drag; this allows you to customize the behavior when a drop occurs on an object.getter/setter pair - mouseEnter ↔ void Function(InputEvent, GraphObject, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user moves the mouse into this object without holding down any buttons. This property is used by the ToolManager.getter/setter pair - mouseHold ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user holds the mouse still for a while over this object while holding down a button. This property is used by the ToolManager.getter/setter pair - mouseHover ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user holds the mouse still for a while over this object without holding down any buttons. This property is used by the ToolManager.getter/setter pair - mouseLeave ↔ void Function(InputEvent, GraphObject, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user moves the mouse out of this object without holding down any buttons. This property is used by the ToolManager.getter/setter pair - mouseOver ↔ void Function(InputEvent, GraphObject)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the function to execute when the user moves the mouse over this object without holding down any buttons. This property is used by the ToolManager. This property is infrequently used -- it is more common to implement #mouseEnter and #mouseLeave functions.getter/setter pair - name ↔ String
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the name for this object. The default value is the empty string. The name should be unique within a Panel, although if it isn't, it reduces the usefulness of methods such as Panel#findObject.getter/setter pair - naturalBounds ↔ Rect
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the natural bounding rectangle of this GraphObject in local coordinates, before any transformation by #scale or #angle. Defaults to unknown (NaN,NaN).getter/setter pair - naturalBounds ↔ Rect
-
Available on Shape, provided by the Shape$Typings extension
This read-only property returns the natural bounds of this Shape as determined by its #geometry's bounds. The bounds will always include the (0,0) point. If the #desiredSize is set, it returns a Rect with the #desiredSize. If no geometry is available, and no #desiredSize is set, this may have NaN values for the width and height.getter/setter pair - opacity ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the multiplicative opacity for this GraphObject and (if a Panel) all elements. The value must be between 0.0 (fully transparent) and 1.0 (no additional transparency).getter/setter pair - panel ↔ Panel?
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the GraphObject's containing Panel, or null if this object is not in a Panel.getter/setter pair - parameter1 ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets a property for parameterizing the construction of a Geometry from a figure. The meaning of this property depends on the particular figure. The value must be a number; the default value is NaN.getter/setter pair - parameter2 ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets a property for parameterizing the construction of a Geometry from a figure. The meaning of this property depends on the particular figure. The value must be a number; the default value is NaN.getter/setter pair - part ↔ Part?
-
Available on GraphObject, provided by the GraphObject$Typings extension
This read-only property returns the Part containing this object, if any. The Part will be the root GraphObject in this GraphObject's visual tree.getter/setter pair - pathPattern ↔ GraphObject?
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets a GraphObject that is drawn repeatedly along the path of the stroke of this shape. This property may be set to a shared GraphObject; the GraphObject should not belong to any Panel. Note that data bindings do not work in such shared GraphObjects, because they are not part of the visual tree. The default value is null, causing no object to be drawn repeatedly.getter/setter pair - pickable ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether or not this GraphObject can be chosen by visual "find" or "hit-test" methods such as Diagram#findObjectAt.getter/setter pair - portId ↔ String
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets an identifier for an object acting as a port on a Node. The default value is null -- this object is not a port.getter/setter pair - position ↔ Point
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the position of this GraphObject in container coordinates (either a Panel or the document). Value must be of type Point. You cannot modify the x or y of the value of this property -- if you want to change the position you must set this property to a different Point. Default isPoint(NaN, NaN)
.getter/setter pair - row ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the row of this GraphObject if it is in a Table Panel. The value must be a small non-negative integer. The default is 0.getter/setter pair - rowSpan ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the number of rows spanned by this GraphObject if it is in a Table Panel. The value must be a small positive integer. The default is 1.getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scale ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the scale transform of this GraphObject. Value must be a number; larger values will make this object appear bigger. Default is 1.getter/setter pair - segmentFraction ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the fractional distance along a segment of a GraphObject that is in a Link. The value should be between zero and one, where zero is at the point at the start of the segment, and where one is at the point at the end of the segment. The default value is zero.getter/setter pair - segmentIndex ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the segment index of a GraphObject that is in a Link. Non-negative numbers count up from zero, which is the first segment, at the "from" end of the Link. Negative numbers count segments from the "to" end of the Link, where -1 means the last segment and -2 means the next-to-last segment. The default value is -Infinity. The value should be an integer or NaN.getter/setter pair - segmentOffset ↔ Point
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the offset of a GraphObject that is in a Link from a point on a segment or in a Panel.Graduated from a point along the main element. The X component of the Point indicates the distance along the route, with positive values going further toward the "to" end of the link or panel. The Y component of the Point indicates the distance away from the route, with positive values towards the right as seen when facing further towards the "to" end of the link or panel. The value defaults to the Point (0, 0). You cannot modify the x or y of the value of this property -- if you want to change the segmentOffset you must set this property to a different Point.getter/setter pair - segmentOrientation ↔ EnumValue
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the orientation of a GraphObject that is in a Link or Panel.Graduated. This controls the automatic rotation of the object by the Link Panel or Graduated Panel. The only accepted values are the Link "Orient..." values of Link and the default value: Link.None.getter/setter pair - shadowVisible ↔ bool?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether or not this GraphObject will be shadowed inside a Part that has Part#isShadowed set to true.getter/setter pair - spanAllocation ↔ num Function(GraphObject, RowColumnDefinition, num)?
-
Available on GraphObject, provided by the GraphObject$Typings extension
(undocumented)getter/setter pair - spot1 ↔ Spot
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the top-left Spot used by some Panels for determining where in the shape other objects may be placed. The value is normally Spot.Default, but you may want to set it to override the value that many #figures use.getter/setter pair - spot2 ↔ Spot
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the bottom-right Spot used by some Panels for determining where in the shape other objects may be placed. The value is normally Spot.Default, but you may want to set it to override the value that many #figures use.getter/setter pair - stretch ↔ EnumValue
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the stretch of the GraphObject. This controls whether the width and/or height of this object automatically adjusts to fill the area allotted by the containing Panel.getter/setter pair - stroke ↔ dynamic
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the Brush or string that describes how the geometry is drawn as if by a pen.getter/setter pair - strokeCap ↔ StrokeCap
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the style for how the ends of the stroke's line are drawn. The value must be one of "butt", "round", or "square". The default is "butt".getter/setter pair -
strokeDashArray
↔ Array<
num> ? -
Available on Shape, provided by the Shape$Typings extension
Gets or sets the dash array for creating dashed or dotted lines. The value must be an array of positive numbers and zeroes, or else null to indicate a solid line. For example, the array5, 10
would create dashes of 5 pixels and spaces of 10 pixels. For more information, see Stroke Line Dash Array (w3.org).getter/setter pair - strokeDashOffset ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the offset for dashed lines, used to start the drawing of the dash pattern with some space. The value must be a real non-negative number. The default is zero.getter/setter pair - strokeJoin ↔ StrokeJoin
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the type of corner that will be drawn for a stroke at the intersection of two straight segments of the geometry. The value must be one of "miter", "bevel", or "round". The default is "miter".getter/setter pair - strokeMiterLimit ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the style for the stroke's mitre limit ratio. The value must be a real number greater than or equal to one. The default is 10.0.getter/setter pair - strokeWidth ↔ num
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the thickness of the stroke's pen.getter/setter pair - toArrow ↔ String
-
Available on Shape, provided by the Shape$Typings extension
Gets or sets the name of the kind of arrowhead that this shape should take when this shape is an element of a Link. Value must be a string.getter/setter pair - toEndSegmentLength ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the length of the last segment of a link going to this port. This value is used when the computed "to spot" is not Spot.None. The default value is 10.getter/setter pair - toLinkable ↔ bool?
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw Links to this port. This property is used by LinkingBaseTool#isValidTo.getter/setter pair - toLinkableDuplicates ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw duplicate Links to this port. This property is used by LinkingBaseTool#isValidLink. The default value is false.getter/setter pair - toLinkableSelfNode ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether the user may draw Links that connect to this port's Node. This property is used by LinkingBaseTool#isValidLink. The default value is false.getter/setter pair - toMaxLinks ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the maximum number of links that may go into this port. This property is used by LinkingBaseTool#isValidTo.getter/setter pair - toolTip ↔ dynamic
-
Available on GraphObject, provided by the GraphObject$Typings extension
This Adornment or HTMLInfo is shown when the mouse hovers over this object. The default value is null, which means no tooltip is shown.getter/setter pair - toShortLength ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets how far the end segment of a link going to this port stops short of the actual port. Positive values are limited by the #toEndSegmentLength or Link#toEndSegmentLength. Negative values cause the link to extend into the port. The default value is zero.getter/setter pair - toSpot ↔ Spot
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets where a link should connect to this port. The default value is Spot.None, meaning that the link routing must consider the shape of the port and connect to the closest point.getter/setter pair - visible ↔ bool
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets whether a GraphObject is visible. The default value is true. A not visible object takes no space in the Panel that it is in. Toggling visibility may cause elements in the visual tree to re-measure and re-arrange. Making a Panel not visible causes all of its elements not to be seen or receive input events. Changing a Panel to become visible causes all of its elements to be seen and be active, unless those elements are themselves not visible.getter/setter pair - width ↔ num
-
Available on GraphObject, provided by the GraphObject$Typings extension
Gets or sets the desired width of this GraphObject in local coordinates. This just gets or sets the width component of the #desiredSize. Default is NaN.getter/setter pair
Methods
-
apply(
void func(GraphObject)) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
This method takes a function that can be used to apply multiple settings, bindings, or Panel#add calls, to different GraphObjects. This is common in initialization. If you are just adding settings, bindings, or GraphObjects to a single GraphObject, you do not need to use this, you can just chain calls to #set, #bind, and Panel#add instead. This method is mostly useful when setting the same values across multiple GraphObjects. -
attach(
[dynamic config]) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
This method sets a collection of properties according to the property/value pairs on the given Object, or array of Objects, in the same manner as GraphObject.make does when constructing a GraphObject. -
cloneProtected(
GraphObject copy) → void -
Available on GraphObject, provided by the GraphObject$Typings extension
Copies properties from this object to the given object, which must be of the same class. This is called by #copy. This method may be overridden. -
copy(
) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
Creates a deep copy of this GraphObject and returns it. This method is the same as a clone for simple GraphObjects such as Shape, TextBlock, and Picture. For Panel this method copies the visual tree of GraphObjects that it contains. @expose @return {GraphObject} -
findBindingPanel(
) → Panel? -
Available on GraphObject, provided by the GraphObject$Typings extension
Walks up the visual tree and returns the first Panel whose Panel.data is bound to data. This can be useful when you need to inspect Panel#data objects. @since 2.2 @return {Panel} -
findTemplateBinder(
) → Panel? -
Available on GraphObject, provided by the GraphObject$Typings extension
(undocumented) This never-documented method has been renamed #findBindingPanel for v2.2 and will be removed in v3.0. @return {Panel} -
getDocumentAngle(
) → num -
Available on GraphObject, provided by the GraphObject$Typings extension
Returns the effective angle that the object is drawn at, in document coordinates, normalized to between 0 and 360. -
getDocumentBounds(
[Rect? result]) → Rect -
Available on GraphObject, provided by the GraphObject$Typings extension
Returns the Rect in document coordinates for this object's bounds. If this GraphObject is a Part, the rect will be identical to its #actualBounds. @param {Rect=} result an optional Rect that is modified and returned. @return {Rect} in document coordinates. @see #getDocumentPoint @since 2.0 -
getDocumentPoint(
Object local, [Point? result]) → Point -
Available on GraphObject, provided by the GraphObject$Typings extension
Returns the Point in document coordinates for a given Spot in this object's bounds or for a Point in local coordinates. -
getDocumentScale(
) → num -
Available on GraphObject, provided by the GraphObject$Typings extension
Returns the total scale that the object is drawn at, in document coordinates. -
getLocalPoint(
Point p, [Point? result]) → Point -
Available on GraphObject, provided by the GraphObject$Typings extension
Given a Point in document coordinates, returns a new Point in local coordinates. -
isContainedBy(
GraphObject panel) → bool -
Available on GraphObject, provided by the GraphObject$Typings extension
This predicate is true if this object is an element, perhaps indirectly, of the given panel. -
isEnabledObject(
) → bool -
Available on GraphObject, provided by the GraphObject$Typings extension
This predicate is false if this object is inside any Panel that is not Panel#isEnabled, or if this is itself a disabled panel. This ignores the #visible and #pickable properties. @return {boolean} @see #enabledChanged @see Panel#isEnabled @since 1.7 -
isVisibleObject(
) → bool -
Available on GraphObject, provided by the GraphObject$Typings extension
This predicate is true if this object is #visible and each of its visual containing panels is also visible. This ignores the actual location or appearance (except visibility) of the panel that this object is part of, as well as ignoring all properties of the Layer or Diagram. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
set(
dynamic config) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
Set any number of properties on this GraphObject. This is common in initialization. This method can only be used to set existing properties on this object. To attach new properties, or to set properties of elements, use GraphObject#setProperties. -
setProperties(
Object props) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
This method sets a collection of properties according to the property/value pairs on the given Object, in the same manner as GraphObject.make does when constructing a GraphObject with an argument that is a simple JavaScript Object. -
toString(
) → String -
A string representation of this object.
inherited
-
trigger(
AnimationTrigger trigger) → GraphObject -
Available on GraphObject, provided by the GraphObject$Typings extension
Adds an AnimationTrigger to this GraphObject. @since 2.2 @param {AnimationTrigger} trigger an AnimationTrigger @return {Panel}
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
defineArrowheadGeometry(
String name, Object pathstr) → void - This static function defines a named arrowhead geometry. Once this is called one can use the name as a value for Shape#toArrow or Shape#fromArrow.
-
defineFigureGenerator(
String name, Object func) → void - This static function defines a named figure geometry generator for Shapes. Once this is called one can use the name as a value for Shape#figure.
-
getArrowheadGeometries(
) → Map< String, Geometry> - This static function returns a read-only Map of named arrowhead geometries. The keys are arrowhead names. The values are Geometry objects.
-
getFigureGenerators(
) → Map< String, Object> - This static function returns a read-only Map of named geometry generators. The keys are figure names. The values are either string synonyms for other figure names, or functions that take a Shape and a width and a height and return a Geometry.