reckfellENGINE

CanvasLayer

A node used for independent rendering of objects within a 2D scene.

On this page
class CanvasLayerReckfellSharpInherits Entity

A node used for independent rendering of objects within a 2D scene.

CanvasItem-derived nodes that are direct or indirect children of a CanvasLayer will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a CanvasLayer with index -1 will be drawn below, and a CanvasLayer with index 1 will be drawn above. This order will hold regardless of the CanvasItem.ZIndex of the nodes within each layer. CanvasLayers can be hidden and they can also optionally follow the viewport. This makes them useful for HUDs like health bar overlays (on layers 1 and higher) or backgrounds (on layers -1 and lower). Note: Embedded Windows are placed on layer 1024. CanvasItems on layers 1025 and higher appear in front of embedded windows. Note: Each CanvasLayer is drawn on one specific Viewport and cannot be shared between multiple Viewports, see CanvasLayer.CustomViewport. When using multiple Viewports, for example in a split-screen game, you need to create an individual CanvasLayer for each Viewport you want it to be drawn on.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

CanvasLayerConstructor
# CanvasLayer
C#
public CanvasLayer();

Properties9

CustomViewportProperty
# CustomViewport
C#
public Entity CustomViewport { get; set; }

The custom Viewport node assigned to the CanvasLayer. If null, uses the default viewport instead.

FollowViewportEnabledProperty
# FollowViewportEnabled
C#
public bool FollowViewportEnabled { get; set; }

If enabled, the CanvasLayer maintains its position in world space. If disabled, the CanvasLayer stays in a fixed position on the screen. Together with CanvasLayer.FollowViewportScale, this can be used for a pseudo-3D effect.

FollowViewportScaleProperty
# FollowViewportScale
C#
public float FollowViewportScale { get; set; }

Scales the layer when using CanvasLayer.FollowViewportEnabled. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.

LayerProperty
# Layer
C#
public int Layer { get; set; }

Layer index for draw order. Lower values are drawn behind higher values. Note: If multiple CanvasLayers have the same layer index, CanvasItem children of one CanvasLayer are drawn behind the CanvasItem children of the other CanvasLayer. Which CanvasLayer is drawn in front is non-deterministic. Note: The layer index should be between RenderingServer.CanvasLayerMin and RenderingServer.CanvasLayerMax (inclusive). Any other value will wrap around.

OffsetProperty
# Offset
C#
public Vector2 Offset { get; set; }

The layer's base offset.

RotationProperty
# Rotation
C#
public float Rotation { get; set; }

The layer's rotation in radians.

ScaleProperty
# Scale
C#
public Vector2 Scale { get; set; }

The layer's scale.

TransformProperty
# Transform
C#
public Transform2D Transform { get; set; }

The layer's transform.

VisibleProperty
# Visible
C#
public bool Visible { get; set; }

If false, any CanvasItem under this CanvasLayer will be hidden. Unlike CanvasItem.Visible, visibility of a CanvasLayer isn't propagated to underlying layers.

Methods22

GetCanvasRid
# GetCanvas
C#
public Rid GetCanvas();

Returns the RID of the canvas used by this layer.

Returns Rid
GetCustomViewportEntity
# GetCustomViewport
C#
public Entity GetCustomViewport();
Returns Entity
GetFinalTransformTransform2D
# GetFinalTransform
C#
public Transform2D GetFinalTransform();

Returns the transform from the CanvasLayer's coordinate system to the Viewport's coordinate system.

Returns Transform2D
GetFollowViewportScalefloat
# GetFollowViewportScale
C#
public float GetFollowViewportScale();
Returns float
GetLayerint
# GetLayer
C#
public int GetLayer();
Returns int
GetOffsetVector2
# GetOffset
C#
public Vector2 GetOffset();
Returns Vector2
GetRotationfloat
# GetRotation
C#
public float GetRotation();
Returns float
GetScaleVector2
# GetScale
C#
public Vector2 GetScale();
Returns Vector2
GetTransformTransform2D
# GetTransform
C#
public Transform2D GetTransform();
Returns Transform2D
Hidevoid
# Hide
C#
public void Hide();

Hides any CanvasItem under this CanvasLayer. This is equivalent to setting CanvasLayer.Visible to false.

IsFollowingViewportbool
# IsFollowingViewport
C#
public bool IsFollowingViewport();
Returns bool
IsVisiblebool
# IsVisible
C#
public bool IsVisible();
Returns bool
SetCustomViewportvoid
# SetCustomViewport
C#
public void SetCustomViewport(Entity viewport);
Parameters
NameTypeDefault
viewportEntity—
SetFollowViewportvoid
# SetFollowViewport
C#
public void SetFollowViewport(bool enable);
Parameters
NameTypeDefault
enablebool—
SetFollowViewportScalevoid
# SetFollowViewportScale
C#
public void SetFollowViewportScale(float scale);
Parameters
NameTypeDefault
scalefloat—
SetLayervoid
# SetLayer
C#
public void SetLayer(int layer);
Parameters
NameTypeDefault
layerint—
SetOffsetvoid
# SetOffset
C#
public void SetOffset(Vector2 offset);
Parameters
NameTypeDefault
offsetVector2—
SetRotationvoid
# SetRotation
C#
public void SetRotation(float radians);
Parameters
NameTypeDefault
radiansfloat—
SetScalevoid
# SetScale
C#
public void SetScale(Vector2 scale);
Parameters
NameTypeDefault
scaleVector2—
SetTransformvoid
# SetTransform
C#
public void SetTransform(Transform2D transform);
Parameters
NameTypeDefault
transformTransform2D—
SetVisiblevoid
# SetVisible
C#
public void SetVisible(bool visible);
Parameters
NameTypeDefault
visiblebool—
Showvoid
# Show
C#
public void Show();

Shows any CanvasItem under this CanvasLayer. This is equivalent to setting CanvasLayer.Visible to true.

Signals and events1

VisibilityChangedEvent
# VisibilityChanged
C#
public event Action VisibilityChanged;

Emitted when visibility of the layer is changed. See CanvasLayer.Visible.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.