The border frame and resizing handles for the drawing.
A text label that may be displayed as part of the interface layer for the Drawing.
The drawing shape which is rendered as a PIXI.Graphics subclass in the PrimaryCanvasGroup.
Retain a reference to the Scene within which this Placeable Object resides
A reference to the Scene embedded Document instance which this object represents
Track the field of vision for the placeable object. This is necessary to determine whether a player has line-of-sight towards a placeable object or vice-versa
A control icon for interacting with the object
A mouse interaction manager instance which handles mouse workflows related to this object.
Passthrough certain drag operations on locked objects.
Know if a placeable is in the hover-in state.
An internal timestamp for the previous freehand draw time, to limit sampling.
An internal flag for the permanent points of the polygon.
The computed bounds of the Drawing.
The bounds that the placeable was added to the quadtree with.
An internal reference to a Promise in-progress to draw the Placeable Object.
Has this Placeable Object been drawn and is there no drawing in progress?
Identify the official Document name for this PlaceableObject class
The rate at which points are sampled (in milliseconds) during a freehand drawing workflow
A convenience reference to the possible shape types.
A Boolean flag for whether the Drawing utilizes a tiled texture background?
A Boolean flag for whether the Drawing is a Polygon type (either linear or freehand)?
Does the Drawing have text that is displayed?
The shape type that this Drawing represents. A value in Drawing.SHAPE_TYPES.
The mouse interaction state of this placeable.
The id of the corresponding Document which this PlaceableObject represents.
A unique identifier which is used to uniquely identify elements on the canvas related to this object.
The named identified for the source object associated with this PlaceableObject. This differs from the objectId because the sourceId is the same for preview objects as for the original.
Is this placeable object a temporary preview?
Does there exist a temporary preview of this placeable object?
The field-of-vision polygon for the object, if it has been computed
Provide a reference to the CanvasLayer which contains this PlaceableObject.
The line-of-sight polygon for the object, if it has been computed
A Form Application which is used to configure the properties of this Placeable Object or the Document it represents.
An indicator for whether the object is currently controlled
An indicator for whether the object is currently a hover target
An indicator for whether the object is currently a hover target
Clear the display of the existing object.
The cleared object
The inner _destroy method which may optionally be defined by each PlaceableObject subclass.
Add a new polygon point to the drawing, ensuring it differs from the last one
The drawing point to add
Options which configure how the point is added
Remove the last fixed point from the polygon
Additional events which trigger once control of the object is established
Optional parameters which apply for specific implementations
Additional events which trigger once control of the object is released
Options which modify the releasing workflow
Enable text editing for this drawing.
Activate interactivity for the Placeable Object
Callback actions which occur on a mouse-move operation.
The triggering mouse click event
Draw the placeable object into its parent container
The drawn object
Refresh all incremental render flags for the PlaceableObject. This method is no longer used by the core software but provided for backwards compatibility.
The refreshed object
Update the quadtree.
Assume control over a PlaceableObject, flagging it as controlled and enabling downstream behaviors
Additional options which modify the control request
Release any other controlled objects first
A flag denoting whether control was successful
Release control over a PlaceableObject, removing it from the controlled set
Options which modify the releasing workflow
A Boolean flag confirming the object was released.
Clone the placeable object, returning a new object with identical attributes. The returned object is non-interactive, and has no assigned ID. If you plan to use it permanently you should call the create method.
A new object with identical data
Rotate the PlaceableObject to a certain angle of facing
The desired angle of rotation
Snap the angle of rotation to a certain target degree increment
The rotated object
Determine a new angle of rotation for a PlaceableObject either from an explicit angle or from a delta offset.
An object which defines the rotation update parameters
The new rotation angle for the object
Obtain a shifted position for the Placeable Object
The number of grid units to shift along the X-axis
The number of grid units to shift along the Y-axis
The shifted target coordinates
Test whether a user can perform a certain interaction regarding a Placeable Object
The User performing the action
The named action being attempted
Does the User have rights to perform the action?
Prepare the text style used to instantiate a PIXI.Text or PreciseText instance for this Drawing document.
Handle mouse movement which modifies the dimensions of the drawn shape.
Handle mouse-over event on a control handle
The mouseover event
Handle mouse-out event on a control handle
The mouseout event
When clicking the resize handle, initialize the drag property.
The mousedown event
Starting the resize handle drag event, initialize the original data.
The mouse interaction event
Handle mousemove while dragging a tile scale handler
The mouse interaction event
Handle mouseup after dragging a tile scale handler
The mouseup event
Handle cancellation of a drag event for one of the resizing handles
The drag cancellation event
Get the target opacity that should be used for a Placeable Object depending on its preview state.
Register pending canvas operations which should occur after a new PlaceableObject of this type is created
Create a standard MouseInteractionManager for the PlaceableObject
Can the User access the HUD for this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to view details of the Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to create the underlying Document?
The User performing the action.
The event object.
The returned status.
Does the User have permission to drag this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to hover on this Placeable Object?
The User performing the action.
The event object.
The returned status.
Does the User have permission to update the underlying Document?
The User performing the action.
The event object.
The returned status.
Does the User have permission to delete the underlying Document?
The User performing the action.
The event object.
The returned status.
Actions that should be taken for this Placeable Object when a mouseover event occurs. Hover events on PlaceableObject instances allow event propagation by default.
The triggering canvas interaction event
Options which customize event handling
True if the event was handled, otherwise false
Actions that should be taken for this Placeable Object when a mouseout event occurs
The triggering canvas interaction event
True if the event was handled, otherwise false
Should the placeable propagate left click downstream?
Callback actions which occur on a single left-click event to assume control of the object
The triggering canvas interaction event
Callback actions which occur on a double left-click event to activate
The triggering canvas interaction event
Should the placeable propagate right click downstream?
Callback actions which occur on a single right-click event to configure properties of the object
The triggering canvas interaction event
Callback actions which occur on a double right-click event to configure properties of the object
The triggering canvas interaction event
Begin a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.
Conclude a drag operation from the perspective of the preview clone. Modify the appearance of both the clone (this) and the original (_original) object.
Callback action which occurs on a long press.
The triggering canvas interaction event
The local canvas coordinates of the mousepress.
Create elements for the Drawing border and handles
Create a PreciseText element to be displayed as part of this drawing.
Refresh the primary canvas object bound to this drawing.
Refresh the displayed state of the Drawing. Used to update aspects of the Drawing which change based on the user interaction state.
Refresh the displayed shape of the Drawing. This refresh occurs when the underlying shape of the drawing has been modified.
Refresh the border frame that encloses the Drawing.
Refresh the appearance of text displayed above the drawing. This refresh occurs when the shape is refreshed or the position or opacity of drawing text has changed.
Handle text entry in an active text tool
Get a vectorized rescaling transformation for drawing data and dimensions passed in parameter
The original drawing data
The pixel distance dragged in the horizontal direction
The pixel distance dragged in the vertical direction
The adjusted shape data
Adjust the location, dimensions, and points of the Drawing before committing the change.
The DrawingData pending update
The adjusted data
The Drawing object is an implementation of the PlaceableObject container. Each Drawing is a placeable object in the DrawingsLayer.
{DrawingsLayer} layer Each Drawing object belongs to the DrawingsLayer
{DrawingDocument} document Each Drawing object provides an interface for a DrawingDocument