GShape class
The GShape class represents a display object that can be used to draw vector graphics using the Graphics class. It extends the GDisplayObject so is renders on screen.
- Inheritance
-
- Object
- GDisplayObject
- GShape
- Available Extensions
Constructors
- GShape()
Properties
- $alpha ↔ double
-
(Internal usage)
The alpha (transparency) value of this object,
a value between 0.0 (fully transparent) and 1.0 (fully opaque).
getter/setter pairinherited
- $colorize ↔ Color?
-
(Internal usage)
The color to apply to this object.
getter/setter pairinherited
- $debugBounds ↔ bool
-
(Internal usage)
Whether to show debug bounds for this object.
getter/setter pairinherited
- $debugBoundsPaint ↔ Paint?
-
(Internal usage)
Defines the debug paint used to show the bounds of this display object
when debug mode is enabled. By default, it uses a magenta stroke with
a width of 1. Override this property to use a custom debug paint.
getter/setter pairinherited
- $debugLastLayerBounds ↔ GRect?
-
(Internal usage)
Tracks the last layer bounds used for rendering this display object
using getBounds($parent).
getter/setter pairinherited
-
$filters
↔ List<
GBaseFilter> ? -
(Internal usage)
The filters applied to this object.
getter/setter pairinherited
- $hasColorize → bool
-
(Internal usage)
Whether this object has a color applied to it.
no setterinherited
- $hasTouchableArea ↔ bool
-
(Internal usage)
Optimization flag indicating whether this object has a touchable area.
getter/setter pairinherited
- $hasVisibleArea ↔ bool
-
(Internal usage)
Optimization flag indicating whether this object has a visible area.
getter/setter pairinherited
- $lastClickTime ↔ double
-
(Internal usage)
The time of the last mouse click.
getter/setter pairinherited
- $mask ↔ GShape?
-
(Internal usage)
The mask of this object, used for masking.
getter/setter pairinherited
- $maskee ↔ GDisplayObject?
-
(Internal usage)
The display object that acts as a mask of this object.
getter/setter pairinherited
- $matrixDirty ↔ bool
-
(Internal usage)
Indicates whether the matrix of this object needs to be recalculated.
getter/setter pairinherited
- $mouseDownObj ↔ GDisplayObject?
-
(Internal usage)
The object that the mouse was last pressed on.
getter/setter pairinherited
- $mouseOverObj ↔ GDisplayObject?
-
(Internal usage)
The object that the mouse is currently over.
getter/setter pairinherited
- $onAdded ↔ Signal?
-
(Internal)
getter/setter pairinherited
- $onAddedToStage ↔ Signal?
-
(Internal)
getter/setter pairinherited
-
$onMouseClick
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseDoubleClick
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseDown
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseMove
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseOut
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseOver
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseUp
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onMouseWheel
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onPostPaint
↔ EventSignal<
Canvas> ? -
(Internal)
getter/setter pairinherited
-
$onPrePaint
↔ EventSignal<
Canvas> ? -
(Internal)
getter/setter pairinherited
-
$onPreTransform
↔ EventSignal<
Canvas> ? -
(Internal)
getter/setter pairinherited
- $onRemoved ↔ Signal?
-
(Internal)
getter/setter pairinherited
- $onRemovedFromStage ↔ Signal?
-
(Internal)
getter/setter pairinherited
-
$onRightMouseDown
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
-
$onZoomPan
↔ EventSignal<
MouseInputData> ? -
(Internal)
getter/setter pairinherited
- $parent ↔ GDisplayObjectContainer?
-
(Internal usage)
The parent display object container that this object is a child of.
getter/setter pairinherited
- $useSaveLayerBounds ↔ bool
-
(Internal usage)
When enabled, a rectangle is created to save the layer for better
rendering performance.
getter/setter pairinherited
- allowSaveLayer ↔ bool
-
When enabled, the saveLayer() feature is used for better rendering
performance. Disabling it may provide better performance for certain
display objects.
Childless DisplayObjects, like GShape and GBitmap, have their own
Paint() so no need to use an expensive saveLayer().
getter/setter pairinherited
- alpha ↔ double
-
Returns the alpha (transparency) value of this object.
getter/setter pairinherited
- base → GDisplayObject
-
Returns the base object, i.e. the topmost parent in the display hierarchy.
no setterinherited
- bounds → GRect?
-
TODO: should be cached.
Returns the bounds of this object in its local coordinate space.
no setterinherited
- colorize ↔ Color?
-
Gets the color applied to this object.
getter/setter pairinherited
- filterPaint ↔ Paint
-
The paint to use for filters that require a paint.
getter/setter pairinherited
-
filters
↔ List<
GBaseFilter> ? -
Gets the filters applied to this object.
getter/setter pairinherited
- graphics → Graphics
-
Returns the Graphics object associated with this GShape, creating it
if it doesn't already exist. The Graphics object is used to draw vector
graphics.
no setter
- hasFilters → bool
-
Returns true if this object has any filters applied.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- height ↔ double
-
Indicates the height of the display object, in dp.
The
height
is calculated based on the bounds of the content of the display object. When you set theheight
property, thescaleX
property is adjusted accordingly, as shown in the following code:getter/setter pairinherited - inStage → bool
-
Returns
true
if this object is on the stage.no setterinherited - isMask → bool
-
Returns whether this object is currently being used as a mask for another
object.
no setterinherited
- isRotated → bool
-
Returns whether this object has any rotation or skew transformation.
no setterinherited
- mask ↔ GShape?
-
Returns the mask of this object.
getter/setter pairinherited
- maskInverted ↔ bool
-
Whether the object should apply an inverted mask.
can be set on the Shape mask, or the maskee DisplayObject.
getter/setter pairinherited
- maskRect ↔ GRect?
-
The rectangular area of the mask.
getter/setter pairinherited
- maskRectCornerRadius ↔ double?
-
The corner radius of the mask.
getter/setter pairinherited
- maskRectInverted ↔ bool
-
Whether the mask is inverted or not.
getter/setter pairinherited
- mouseEnabled ↔ bool
-
Indicates whether this object can receive mouse and touch input events.
getter/setter pairinherited
- mousePosition → GPoint
-
Returns the position of the mouse in the local coordinate system of this
object.
The mouse position is updated every frame, so this method returns the
current mouse position relative to the top-left corner of this object.
no setterinherited
- mouseUseShape ↔ bool
-
Whether to use the shape of the object for mouse event detection.
getter/setter pairinherited
- mouseX → double
-
The x-coordinate of the mouse or touch position in the local coordinate
system of this object.
no setterinherited
- mouseY → double
-
The y-coordinate of the mouse or touch position in the local coordinate
system of this object.
no setterinherited
- name ↔ String?
-
Name to reference this object.
getter/setter pairinherited
- onAdded → Signal
-
Returns the Signal that is triggered when an object is added to the
display list.
no setterinherited
- onAddedToStage → Signal
-
Returns the Signal that is triggered when an object is added to the
stage.
no setterinherited
-
onMouseClick
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse is clicked.
no setterinherited
-
onMouseDoubleClick
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse is double clicked.
no setterinherited
-
onMouseDown
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse button is pressed down.
no setterinherited
-
onMouseMove
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse is moved.
no setterinherited
-
onMouseOut
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse leaves a component.
no setterinherited
-
onMouseOver
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse is over a component.
no setterinherited
-
onMouseScroll
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse wheel is scrolled.
no setterinherited
-
onMouseUp
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the mouse button is released.
no setterinherited
-
onPostPaint
→ EventSignal<
Canvas> -
A signal that runs right after GDisplayObject.$applyPaint is called.
no setterinherited
-
onPrePaint
→ EventSignal<
Canvas> -
A signal that runs before GDisplayObject.$applyPaint, which is the
render method to subclass.
no setterinherited
-
onPreTransform
→ EventSignal<
Canvas> -
A signal that runs right away when GDisplayObject.paint is called,
before any mask or filters are applied. This is the first signal to run
on rendering.
no setterinherited
- onRemoved → Signal
-
Returns the Signal that is triggered when an object is removed from the
display list.
no setterinherited
- onRemovedFromStage → Signal
-
Returns the Signal that is triggered when an object is removed from the
stage.
no setterinherited
-
onRightMouseDown
→ EventSignal<
MouseInputData> -
A signal that is dispatched when the right mouse button is pressed down.
no setterinherited
-
onZoomPan
→ EventSignal<
MouseInputData> -
A signal that is dispatched when a zoom/pan gesture is performed.
no setterinherited
- parent → GDisplayObjectContainer?
-
Returns the parent container.
no setterinherited
- pivotX ↔ double
-
Returns the x coordinate of the pivot point,
the center of scaling and rotation.
getter/setter pairinherited
- pivotY ↔ double
-
Returns the y coordinate of the pivot point,
the center of scaling and rotation.
getter/setter pairinherited
- root → GDisplayObject?
-
Returns the root
GDisplayObject
that is the ancestor of this object (either aStage
or anull
).no setterinherited - rotation ↔ double
-
Returns the angle of rotation in radians.
getter/setter pairinherited
- rotationX ↔ double
-
The rotation angle in radians about the x-axis for 3d transformation.
getter/setter pairinherited
- rotationY ↔ double
-
The rotation angle in radians about the y-axis for 3d transformation.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scale ↔ double
-
Shortcut for setting proportional X and Y scale values.
getter/setter pairinherited
- scaleX ↔ double
-
Returns the horizontal scale of the object.
getter/setter pairinherited
- scaleY ↔ double
-
Returns the vertical scale of the object.
getter/setter pairinherited
- skewX ↔ double
-
Returns the angle of skew on the x-axis in radians.
getter/setter pairinherited
- skewY ↔ double
-
Returns the angle of skew on the y-axis in radians.
getter/setter pairinherited
- stage → Stage?
-
Returns the stage this object is on or
null
if it's not on a stage.no setterinherited - transformationMatrix ↔ GMatrix
-
Gets the transformation matrix that represents the object's position,
scale, rotation and skew.
getter/setter pairinherited
- useCursor ↔ bool
-
Whether to use a custom cursor for this object.
getter/setter pairinherited
- userData ↔ Object?
-
You can store any user defined data in this property for easy access.
getter/setter pairinherited
- visible ↔ bool
-
Returns whether the display object is visible or not.
getter/setter pairinherited
- width ↔ double
-
Indicates the width of the display object, in dp.
The
width
is calculated based on the bounds of the content of the display object. When you set thewidth
property, thescaleX
property is adjusted accordingly, as shown in the following code:getter/setter pairinherited - worldAlpha → double
-
Returns the alpha value of the object relative to its parent and all its
ancestors.
no setterinherited
- worldScaleX → double
-
Returns the horizontal scaling factor of the object relative to its
parent and all its ancestors.
no setterinherited
- worldScaleY → double
-
Returns the vertical scaling factor of the object relative to its parent
and all its ancestors.
no setterinherited
- worldX → double
-
Returns the x coordinate of the object relative to the stage and all its
ancestors.
no setterinherited
- worldY → double
-
Returns the y coordinate of the object relative to the stage and all its
ancestors.
no setterinherited
- x ↔ double
-
The x coordinate of the display object relative to its parent's
coordinate system.
getter/setter pairinherited
- y ↔ double
-
The y coordinate of the display object relative to its parent's
coordinate system.
getter/setter pairinherited
- z ↔ double
-
(Experimental)
The z-coordinate of this object in 3D space.
getter/setter pairinherited
Methods
-
$applyMaskRect(
Canvas? canvas) → void -
Applies the current mask to the provided Canvas.
inherited
-
$applyPaint(
Canvas canvas) → void -
(Internal usage) Applies the paint to the given
canvas
for this GShape. If this GShape is being used as a mask, the graphics will be used to clip thecanvas
.override -
$dispatchMouseCallback(
MouseInputType type, GDisplayObject object, MouseInputData input) → void -
(Internal usage)
Dispatches a mouse event to the appropriate callback functions.
inherited
-
$disposeDisplayListSignals(
) → void -
Removes all registered listeners and frees all display list signals.
inherited
-
$disposePointerSignals(
) → void -
Disposes all mouse signals to free up memory.
inherited
-
$disposeRenderSignals(
) → void -
Disposes all render-related signals and clears all callbacks for this
instance. This method should be called when the instance is no longer
needed, to prevent memory leaks.
inherited
-
$setParent(
GDisplayObjectContainer? value) → void -
(Internal usage)
Sets the GDisplayObjectContainer that contains this GDisplayObject.
inherited
-
$setTransformationChanged(
) → void -
(Internal usage)
Sets the transformationChanged flag and updates the 3D flag based on
whether the object has 3D properties set.
inherited
-
$updateTransformationMatrices(
double? x, double? y, double pivotX, double pivotY, double scaleX, double scaleY, double skewX, double skewY, double rotation, GMatrix out) → void -
(Internal usage)
Updates the transformation matrices of a display object based on the given
parameters.
inherited
-
addedToStage(
) → void -
Called when the object is added to the stage.
Should be overridden by subclasses as entry point.
inherited
-
alignPivot(
[Alignment alignment = painting.Alignment.center]) → void -
Adjusts the pivot point of this display object to a new location defined
by the given
alignment
parameter, which defaults to Alignment.center. This method calculates the bounds of the object and aligns the pivot point based on the provided alignment parameter. The alignment is represented by an Alignment object, where the x and y values range from -1.0 to 1.0. For example, an Alignment of (-1.0, -1.0) represents the top left corner, while an Alignment of (1.0, 1.0) represents the bottom right corner. The pivot point represents the center point for rotations and scaling, and by default it is set to (0,0), which means that the object is rotated and scaled around the top-left corner. This method is useful to adjust the pivot point to a more suitable location before performing rotations or scaling operations. If the bounds of the object are empty, no adjustment is made to the pivot point. The resulting pivot point is stored in the pivotX and pivotY properties of this display object.inherited -
captureMouseInput(
MouseInputData input) → void -
Captures mouse input and dispatches corresponding mouse events to this
display object if it has a touchable area and mouseEnabled is set to
true.
inherited
-
createImage(
[bool adjustOffset = true, double resolution = 1, GRect? rect]) → Future< Image> -
Creates an image representation of the current state of the
GDisplayObject.
If
adjustOffset
is true, the resulting image will be offset so that its top-left corner corresponds to the top-left corner of the current bounds. Ifresolution
is provided and is different than 1, the image will be scaled by this factor before being returned. Ifrect
is provided, it defines a rectangle that will be used as the bounds for the image instead of the getFilterBounds of the GDisplayObject. Returns a Future that resolves to a ui.Image representing the current state of the GDisplayObject in the form of an image.inherited -
createImageSync(
[bool adjustOffset = true, double resolution = 1, GRect? rect]) → Image -
Creates a synchronous image from this display object.
inherited
-
createImageTexture(
[bool adjustOffset = true, double resolution = 1, GRect? rect]) → Future< GTexture> -
Creates a new
GTexture
asynchronously from the display object's image. The image is retrieved using the createImage method, and a new texture is created from the image with the specified resolution. If arect
is specified, only the portion of the image within the bounds of the rectangle will be used to create the texture. IfadjustOffset
is true, the image will be adjusted to remove any offsets from the top left corner.inherited -
createImageTextureSync(
[bool adjustOffset = true, double resolution = 1, GRect? rect]) → GTexture -
Creates a texture from the synchronous image generated from this display
object.
inherited
-
createPicture(
[void prePaintCallback(Canvas)?, void postPaintCallback(Canvas)?]) → Picture -
Creates a picture of the current state of the DisplayObject.
To ensure the "original" form, call before applying any transformations
(x, y, scale, etc).
inherited
-
dispose(
) → void -
Disposes of this GShape and its graphics resources.
override
-
getBounds(
GDisplayObject? targetSpace, [GRect? out]) → GRect? -
Returns the bounds of this GShape in the coordinate system of the
targetSpace
object. If theout
parameter is not null, the result will be stored in that object and returned. Otherwise, a new GRect object will be created and returned. If this GShape has no graphics, the bounds will be based on its position and size.override -
getFilterBounds(
[GRect? layerBounds, Paint? alphaPaint]) → GRect? -
Returns the bounds of this object after applying all its filters.
inherited
-
getTransformationMatrix(
GDisplayObject? targetSpace, [GMatrix? out]) → GMatrix -
Returns the transformation matrix that transforms coordinates from the
local coordinate system to the coordinate system of the targetSpace.
inherited
-
globalToLocal(
GPoint globalPoint, [GPoint? out]) → GPoint -
Converts the given point from global coordinates to local coordinates.
inherited
-
hitTest(
GPoint localPoint, [bool useShape = false]) → GDisplayObject? -
Determines if the point specified by
localPoint
is contained within this GShape. IfuseShape
is true, the shape of the GShape will be used to test for containment. Otherwise, the bounds of the GShape will be used.override -
hitTestMask(
GPoint localPoint) → bool -
Determines whether the
localPoint
specified in the local coordinates of this object lies inside its mask.inherited -
hitTouch(
GPoint localPoint, [bool useShape = false]) → bool -
Determines whether the
localPoint
specified in the local coordinates of this object lies inside its bounds.inherited -
localToGlobal(
GPoint localPoint, [GPoint? out]) → GPoint -
Transforms the given
localPoint
from the local coordinate system to the global coordinate system.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paint(
Canvas canvas) → void -
Do not override this method as it applies the basic transformations.
Override $applyPaint if you want to use Canvas directly.
inherited
-
removedFromStage(
) → void -
Called when the object is removed to the stage.
inherited
-
removeFromParent(
[bool dispose = false]) → void -
Removes this GDisplayObject from its parent GDisplayObjectContainer.
inherited
-
requiresRedraw(
) → void -
Notifies the parent that the current state of this
GDisplayObject
has changed and it requires a redraw.inherited -
setPosition(
double x, double y) → GDisplayObject -
Sets the
x
andy
transformation of the DisplayObject and returns it.inherited -
setScale(
double scaleX, [double? scaleY]) → GDisplayObject -
Sets the
scaleX
andscaleY
transformation of the DisplayObject and returns it. If only one argument is provided, bothscaleX
andscaleY
are set to the same value.inherited -
startDrag(
[bool lockCenter = false, GRect? bounds]) → void -
Makes this object draggable. When this object is dragged, its x and y
properties will be updated to match the mouse position.
The
lockCenter
parameter, if set to true, will cause the object to be dragged from its center point. Thebounds
parameter can be used to restrict the movement of the object to a certain area. Throws an error if the object is not visible or touchable.inherited -
stopDrag(
) → void -
Stops the current drag operation, if this DisplayObject is currently being
dragged. Removes the mouse move event listener and sets the current drag
object to null. Does nothing if this DisplayObject is not currently being
dragged.
inherited
-
toString(
) → String -
Returns a string representation of this object.
override
-
update(
double delta) → void -
Called once per frame on each display object being rendered.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited