DrawingControl
Type class
A StockToolbar control that turns drawing mode on, with a row of controls for picking the tool and its colors, lines and fonts.
More info: Drawing control
Sources
DrawingControl can be used (imported) via one of the following packages.
// Import DrawingControlimport * as am5stock from "@amcharts/amcharts5/stock";
// Create DrawingControlam5stock.DrawingControl.new(root, { // ... config if applicable});<!-- Load DrawingControl --><script src="stock.js"></script>
<script>// Create DrawingControlam5stock.DrawingControl.new(root, { // ... config if applicable});</script>Inheritance
DrawingControl extends StockControl.
DrawingControl is not extended by any other symbol.
Settings
Set these settings on a DrawingControl object using its set() and setAll() methods. Read about settings concept.
colorsType
ColorSetColors to offer in the color pickers.
More info: Drawing control: colors
drawingIconType
IIconIcon that the icon tool draws.
drawingIconsType
IIcon[]Icons to choose from for the icon tool.
fillColorType
ColorFill color of new drawings.
fillOpacityType
undefined|numberFill opacity of new drawings, from
0to1.labelFillType
ColorText color of new labels and callouts.
labelFontFamiliesType
string[]Font families to choose from.
labelFontFamilyType
undefined|stringFont family of new labels and callouts.
"inherit"uses the computed font of the chart's container (since5.17.3).labelFontSizeType
number|string|undefinedFont size of new labels and callouts.
labelFontSizesType
ArrayFont sizes to choose from.
labelFontStyleType
"normal"|"italic"|"oblique"Font style of new labels and callouts.
labelFontWeightType
"normal"|"bold"|"bolder"|"lighter"|"100"|"200"|"300"|"400"|"500"|"600"|"700"|"800"|"900"Font weight of new labels and callouts.
scrollableType
undefined|false|trueSince 5.9.5Limits the tool list's height to the chart's height minus 100 pixels, scrolling the rest.
seriesType
XYSeries[]Series to attach drawings to. Each panel's main series (
stockSerieson its panel, the first series on others) is added automatically.showExtensionType
undefined|false|trueDefaulttrueExtends new lines with a dotted line beyond both ends.
snapToDataType
undefined|false|trueDefaultfalseSnaps the points of new drawings to the values of the nearest data items.
strokeColorType
ColorLine color of new drawings; changing it also restyles the selected ones.
strokeDasharrayType
number[]Dash pattern of new drawings' lines, such as
[2, 2], or[]for a solid line.strokeDasharraysType
number[][]Dash patterns to choose from.
strokeOpacityType
undefined|numberLine opacity of new drawings, from
0to1.strokeWidthType
undefined|numberLine width of new drawings, in pixels.
strokeWidthsType
number[]Line widths to choose from, in pixels.
toolType
DrawingToolsDefault"Line"The tool in use; the one set at the start is the default.
toolsType
DrawingTools[]Tools to list in the tool dropdown.
More info: Drawing control: tool list
toolSettingsType
undefined|objectSince 5.5.2Settings for the drawing series of each tool, keyed by tool name.
More info: Drawing control: tool settings
18 inherited items
activeType
undefined|false|trueDefaultfalseInherited fromIStockControlSettingsTurns the control on; its button shows as active.
alignType
"left"|"right"Default"left"Inherited fromIStockControlSettingsSide of the toolbar the control is placed on.
animationsType
ArrayInherited fromIEntitySettingsSince 5.20.8Animations the element plays on its own, described as data - so they can be set from a JSON config and saved with it.
Each one animates a setting of the element (or, with
target: "dataItem", a value of its data item - a map point'spositionOnLine, say). They start when the setting is applied, restart when it changes, and stop when the element is disposed. A saved config keeps what was configured, never a value caught half way through an animation.sprite.set("animations", [ { key: "rotation", to: 360, duration: 4000, loops: 0 }, { key: "scale", from: 1, to: 1.3, duration: 800, loops: 0, yoyo: true, easing: "sine" } ]);descriptionType
undefined|stringInherited fromIStockControlSettingsWhat the control does, shown as the button's tooltip. Falls back to
name.forceHiddenType
undefined|false|trueDefaultfalseInherited fromIStockControlSettingsSince 5.8.5Keeps the control hidden, even when
show()is called.iconType
HTMLElement|SVGElement|"none"Inherited fromIStockControlSettingsIcon element of the button, or
"none"for no icon. Each control has its own default icon.idType
undefined|stringInherited fromIEntitySettingsA unique ID for looking the element up in
root.entitiesById. Setting an ID that another element already has throws an error.ignoreThemesType
undefined|false|trueDefaultfalseInherited fromIEntitySettingsSince 5.15.6Ignores themes: no theme rule applies to the element, not even one of the default theme.
nameType
undefined|stringInherited fromIStockControlSettingsLabel text of the control's button.
stateAnimationDurationType
undefined|numberDefault0Inherited fromIEntitySettingsHow long, in milliseconds, a switch from one state to another animates.
0switches at once.stateAnimationEasingType
$ease.EasingDefaultout(cubic)Inherited fromIEntitySettingsEasing of the animated switch from one state to another.
stockChartType
StockChartInherited fromIStockControlSettingsThe
StockChartthe control acts on.themesType
ArrayInherited fromIEntitySettingsThemes applied to the element and everything inside it.
themeTagsType
ArrayInherited fromIEntitySettingsTags that theme rules can target. They also count for the element's children, so a rule can match a child by a tag of its parent.
More info: Themes
themeTagsSelfType
ArrayInherited fromIEntitySettingsTags that theme rules can target, like
themeTags, but only for this element, not its children.More info: Themes
togglableType
undefined|false|trueDefaulttrueInherited fromIStockControlSettingsA click on the button toggles
active.userDataType
anyInherited fromIEntitySettingsAny data of your own to keep with the element.
visibleType
undefined|false|trueDefaulttrueInherited fromIStockControlSettingsShows the control's button;
falsehides it.
Private settings
These are read-only settings accessible from a DrawingControl object using its getPrivate() method. Read about private settings.
boldControlRead onlyType
StockControlclearControlRead onlyType
StockControleraserControlRead onlyType
StockControlextensionControlRead onlyType
StockControlfillControlRead onlyType
ColorControliconControlRead onlyType
IconControlitalicControlRead onlyType
StockControllabelFillControlRead onlyType
ColorControllabelFontFamilyControlRead onlyType
DropdownListControllabelFontSizeControlRead onlyType
DropdownListControlselectControlRead onlyType
StockControlSince 5.9.1The control that turns drawing selection on and off.
snapControlRead onlyType
StockControlstrokeControlRead onlyType
ColorControlstrokeDasharrayControlRead onlyType
DropdownListControlstrokeWidthControlRead onlyType
DropdownListControltoolControlRead onlyType
DrawingToolControltoolsContainerRead onlyType
HTMLDivElementtoolTemplatesRead onlyType
undefined|object
4 inherited items
Read onlyType
HTMLDivElementInherited fromIStockControlPrivateiconRead onlyType
HTMLElementInherited fromIStockControlPrivatelabelRead onlyType
HTMLDivElementInherited fromIStockControlPrivatetoolbarRead onlyType
StockToolbarInherited fromIStockControlPrivate
Properties
classNameStaticType
stringDefault"DrawingControl"classNamesStaticType
ArrayDefaultStockControl.classNames.concat([DrawingControl.className])drawingSeriesType
objectSince 5.8.0The drawing series of each tool, keyed by tool name.
7 inherited items
adaptersType
AdaptersDefaultnew Adapters(this)Inherited fromEntityenableDisposeType
booleanDefaulttrueInherited fromSettingsSet to
falseto makedispose()do nothing.eventsType
EventDispatcherDefaultthis._createEvents()Inherited fromEntityrootType
RootInherited fromEntitySince 5.0.6The
Rootthe object belongs to.statestemplateType
Template|undefinedInherited fromEntityA
Templateapplied to the object. Its settings apply where the object has none set of its own.uidType
numberDefault++counterInherited fromSettingsA unique number, given to each object as it is created.
Methods
addLine(tool:"Horizontal Line"|"Horizontal Ray"|"Vertical Line",
panel:StockPanel,
point:IPoint)Returns
voidSince 5.10.2Adds a horizontal line, horizontal ray or vertical line drawing through a point, without the pointer.
clearDrawings()Returns
voidSince 5.3.9Deletes all drawings made with the control's tools.
serializeDrawings(output:"object"|"string",
indent?:undefined|string)Returns
Array|stringSince 5.3.0Serializes all drawings of the chart into an array of objects (
output: "object") or into JSON ("string", the default).More info: Serializing indicators and annotations
setEraser(active:boolean)Returns
voidSince 5.3.9Turns erasing on or off: while on, a click on a drawing deletes it.
unserializeDrawings(data:string|Array)Returns
voidSince 5.3.0Adds drawings to the chart from data made by
serializeDrawings().More info: Serializing indicators and annotations
25 inherited items
animate(options:AnimationOptions)Returns
AnimationInherited fromSettingsAnimates a setting from its current value (or
from) toto. The setting jumps tofromat once. Withduration0, or no value to start from, it is set totoat once and the returned animation is already stopped.More info: Animations: animating settings
dispose()Returns
voidInherited fromSettingsDisposes the object, freeing everything it holds. A disposed object can't be used again.
get(key:Key,
fallback:F)Returns
NonNullable|FInherited fromEntityReturns the value of setting
key, run through any adapters, orfallbackif it is not set.More info: Settings
has(key:Key)Returns
booleanInherited fromSettingsReturns
trueif settingkeyis set.More info: Settings
hide()Returns
voidInherited fromStockControlHides the control's button.
isAccessible()Returns
booleanInherited fromStockControlisDisposed()Returns
booleanInherited fromSettingsReturns
trueif the object has been disposed.isType(type:string)Returns
thisInherited fromEntityReturns
trueif the object is of classtypeor extends it.new(root:Root,
settings:ITSettings,
template?:Template)StaticReturns
TInherited fromEntityCreates an instance of the class. Use it instead of
new Class().More info: Getting started: new element syntax
off(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
on(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebounced(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebouncedPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onPrivateDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
onPrivate(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
on(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of settingkeychanges or is removed. Setting the same value again does not call it.More info: Events: settings value change
once(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
on(), but the callback is removed after it is called once.More info: Events: settings value change
onceDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
onDebounced(), but the callback is removed after it is called once.More info: Events: settings value change
onDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
on(), but waits until settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
onPrivate(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of private settingkeychanges.More info: Events: settings value change
onPrivateDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
onPrivate(), but waits until private settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
remove(key:Key)Returns
voidInherited fromEntityRemoves the value set for setting
key. The setting goes back to the value from a theme or template, if one has it.More info: Settings
removeAll()Returns
voidInherited fromSettingsRemoves all settings, as
remove()does for each one.More info: Settings
set(key:Key,
value:Value)Returns
ValueInherited fromEntitySets setting
keytovalueand returnsvalue. A value set this way overrides themes and templates, and stops any animation of the setting.More info: Settings
setAll(settings:Partial)Returns
voidInherited fromSettingsSets several settings at once, from an object of key-value pairs.
More info: Settings
setTimeout(fn: () =>void,
delay:number)Returns
IDisposerInherited fromEntityCalls
fnafterdelaymilliseconds, unless the object is disposed first. Disposing the returned disposer cancels it.show()Returns
voidInherited fromStockControlShows the control's button, unless
forceHiddenis set.
Events
Add event handlers to DrawingControl object using its events.on() method. Read about adding event handlers.
1 inherited item
clickParam { type:
"click", target:DrawingControl, originalEvent:IPointerEvent}Inherited fromIStockControlEventsThe control's button was clicked.