Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
Gondwana.Widgets.Overlays.ToastWidget Class Referencesealed

Displays a text notification inside one View with a slide or fade transition and optional automatic dismissal. More...

Inheritance diagram for Gondwana.Widgets.Overlays.ToastWidget:
Gondwana.Widgets.WidgetBase Gondwana.Drawing.Direct.DirectComposite Gondwana.Drawing.Direct.IDirectCompositeChild Gondwana.Drawing.Direct.IDirectCompositeContainer Gondwana.Drawing.Direct.IDirectDrawable Gondwana.Physics.Movement.IMovable Gondwana.Drawing.IDrawable

Public Member Functions

 ToastWidget (RenderSurfaceHostBase renderSurfaceHost, View view, Rectangle targetBounds, string text, string? nickname=null)
 Initializes a toast with explicit target bounds in absolute screen pixels.
 ToastWidget (RenderSurfaceHostBase renderSurfaceHost, View view, Size size, string text, WidgetAnchor targetAnchor=WidgetAnchor.TopRight, int marginPx=16, string? nickname=null)
 Initializes a toast positioned from a standard anchor inside the view.
ToastWidget ShowToast ()
 Shows the toast and begins its entrance transition.
void Dismiss ()
 Begins dismissal. Repeated calls while exiting or hidden have no effect.
ToastWidget SetTargetBounds (Rectangle targetBounds)
 Changes the target bounds used the next time the toast is shown.
ToastWidget SetText (string text)
 Sets the toast message.
ToastWidget SetToastZOrder (int zOrder)
 Sets the background Z-order and places the label immediately above it.
override void Update (long tick)
 Advances composite movement.
Parameters
tickThe current engine tick.
This method uses the tick to calculate elapsed time and advance the movement controller. If the tick is less than or equal to the last processed tick, no update occurs.
override void Dispose ()
 Disposes the composite and every child it owns.
Public Member Functions inherited from Gondwana.Widgets.WidgetBase
virtual bool HitTest (View view, Point screenPositionPx)
 Determines whether the widget can be hit at the specified screen position within the specified view.
virtual bool HitTest (Point screenPositionPx)
 Determines whether the widget can be hit at the specified screen position.
WidgetBase Show ()
 Shows the widget and registers it for input routing.
WidgetBase Hide ()
 Hides the widget and releases any routed input state.
WidgetBase Activate ()
 Activates the widget and brings it to the front of the input order.
WidgetBase Cancel ()
 Cancels the widget.
Public Member Functions inherited from Gondwana.Drawing.Direct.DirectComposite
 DirectComposite (RenderSurfaceHostBase renderSurfaceHost, DirectDrawingMode mode, PointF anchor=default, string? nickname=null)
 Initializes a new instance of the DirectComposite class.
Vector2 GetPosition ()
 Gets the current composite anchor.
void SetPosition (Vector2 position)
 Sets the composite anchor and repositions all children from their stored offsets.
DirectComposite SetPosition (float x, float y)
 Sets the composite anchor and repositions all children from their stored offsets.
virtual DirectComposite Add (IDirectCompositeChild child, bool keepCurrentOffset=true, Vector2? explicitLocalOffsetPx=null)
 Adds a composite-compatible direct drawable as a child.
virtual DirectComposite Remove (IDirectCompositeChild child)
 Removes a child without disposing it.
virtual DirectComposite Clear ()
 Removes every child without disposing them.
DirectComposite SetLocalOffset (IDirectCompositeChild child, Vector2 newLocalOffsetPx)
 Changes one child's local offset and reapplies its position.
DirectComposite SetZOrder (int zOrder)
 Applies one Z-order to every descendant.
DirectComposite SetOpacity (float opacity)
 Applies one opacity to every descendant.
DirectComposite SetIsVisible (bool visible)
 Applies one visibility value to every descendant.
DirectComposite FadeTo (float targetOpacity, float durationSec)
 Fades every descendant to the requested opacity.
DirectComposite FadeIn (float durationSec)
 Fades every descendant to full opacity.
DirectComposite FadeOut (float durationSec)
 Fades every descendant to zero opacity.
RectangleF GetDrawLocationScreen (View view)
 Gets the union of all visible descendants as projected through a view.
void Draw (BackbufferBase backbuffer, RectangleF destRectScreen)
 Performs no direct rendering because descendants render independently.

Protected Member Functions

override void ProcessShown ()
 Performs processing when the widget is shown before notification callbacks are invoked.
override void ProcessHidden ()
 Performs processing when the widget is hidden before notification callbacks are invoked.
override void OnPointerClick (WidgetPointerEventArgs args)
 Called when a pointer click is dispatched to the widget.
Parameters
argsThe pointer event data.

Protected Member Functions inherited from Gondwana.Widgets.WidgetBase
 WidgetBase (RenderSurfaceHostBase renderSurfaceHost, DirectDrawingMode mode, PointF anchor=default, string? nickname=null)
 Initializes a new instance of the WidgetBase class.
virtual void ProcessActivated ()
 Performs processing when the widget is activated before notification callbacks are invoked.
virtual void ProcessCancelled ()
 Performs processing when the widget is cancelled before notification callbacks are invoked.
virtual void ProcessPointerEnter (WidgetPointerEventArgs args)
 Performs processing when a pointer enters the widget before notification callbacks are invoked.
virtual void ProcessPointerLeave (WidgetPointerEventArgs args)
 Performs processing when a pointer leaves the widget before notification callbacks are invoked.
virtual void ProcessPointerDown (WidgetPointerEventArgs args)
 Performs processing when a pointer press begins on the widget before notification callbacks are invoked.
virtual void ProcessPointerMove (WidgetPointerEventArgs args)
 Performs processing when pointer movement is routed to the widget before notification callbacks are invoked.
virtual void ProcessPointerUp (WidgetPointerEventArgs args)
 Performs processing when a pointer press is released for the widget before notification callbacks are invoked.
virtual void ProcessFocusGained ()
 Performs processing when the widget gains focus before notification callbacks are invoked.
virtual void ProcessFocusLost ()
 Performs processing when the widget loses focus before notification callbacks are invoked.
virtual void ProcessKeyboardInput (WidgetKeyboardEventArgs args)
 Performs processing when keyboard input is routed to the widget before notification callbacks are invoked.
virtual bool ShouldDispatchPointerClick (WidgetPointerEventArgs args)
 Determines whether a pointer-click event should be dispatched for the specified pointer event data.
virtual void OnShown ()
 Called when the widget is shown.
virtual void OnHidden ()
 Called when the widget is hidden.
virtual void OnActivated ()
 Called when the widget is activated.
virtual void OnCancelled ()
 Called when the widget is cancelled.
virtual void OnPointerEnter (WidgetPointerEventArgs args)
 Called when a pointer enters the widget bounds.
virtual void OnPointerLeave (WidgetPointerEventArgs args)
 Called when a pointer leaves the widget bounds.
virtual void OnPointerDown (WidgetPointerEventArgs args)
 Called when a pointer press begins on the widget.
virtual void OnPointerMove (WidgetPointerEventArgs args)
 Called when pointer movement is routed to the widget.
virtual void OnPointerUp (WidgetPointerEventArgs args)
 Called when a pointer press is released for the widget.
virtual void OnMouseWheel (WidgetMouseWheelEventArgs args)
 Called when mouse-wheel input is routed to the widget.
virtual void OnFocusGained ()
 Called when the widget gains focus.
virtual void OnFocusLost ()
 Called when the widget loses focus.
virtual void OnKeyboardInput (WidgetKeyboardEventArgs args)
 Called when keyboard input is routed to the widget.
Protected Member Functions inherited from Gondwana.Drawing.Direct.DirectComposite
virtual void OnChildAdded (IDirectCompositeChild child)
 Called after a child has been successfully added.
virtual void OnChildRemoved (IDirectCompositeChild child)
 Called after a child has been removed from the composite.

Properties

DirectRectangle Background [get]
 Gets the rectangle used for the toast background and border.
TextBlock Label [get]
 Gets the text drawing used for the toast message.
ToastState CurrentState = ToastState.Hidden [get]
 Gets the current toast lifecycle state.
ToastTransition Transition = ToastTransition.Slide [get, set]
 Gets or sets the entrance and animated-dismissal transition.
ToastSlideOrigin SlideOrigin = ToastSlideOrigin.Right [get, set]
 Gets or sets the edge used by slide transitions.
Point? SourceLocationPx [get, set]
 Gets or sets an optional explicit slide source top-left in absolute screen pixels. When null, the source is calculated just outside View.Viewport.
int SourceOffsetPx = 8 [get, set]
 Gets or sets the gap between a calculated slide source and the view edge.
float TransitionDurationSec [get, set]
 Gets or sets the transition duration in seconds. Zero performs the transition immediately.
float? HoldDurationSec [get, set]
 Gets or sets how long the toast remains at its target before automatic dismissal. Null disables automatic dismissal.
EasingKind EntranceEasing = EasingKind.EaseOutCubic [get, set]
 Gets or sets the easing used by the entrance transition.
EasingKind ExitEasing = EasingKind.EaseInCubic [get, set]
 Gets or sets the easing used by the dismissal transition.
bool AnimateDismissal = true [get, set]
 Gets or sets whether dismissal reverses the configured entrance transition.
bool DismissOnClick = true [get, set]
 Gets or sets whether a primary-pointer click dismisses the toast.
bool DisposeOnDismiss = true [get, set]
 Gets or sets whether the toast disposes itself after dismissal.
Rectangle TargetBounds [get]
 Gets the target bounds at which the toast rests, in absolute screen pixels.
Properties inherited from Gondwana.Widgets.WidgetBase
bool IsInputEnabled [get, set]
 Gets or sets a value indicating whether the widget can participate in input routing.
bool IsPointerInputEnabled [get, set]
 Gets or sets a value indicating whether the widget can receive pointer input.
bool IsKeyboardInputEnabled [get, set]
 Gets or sets a value indicating whether the widget can receive keyboard input.
bool CanReceiveFocus [get, set]
 Gets or sets a value indicating whether the widget can receive keyboard focus.
bool IsFocused [get, set]
 Gets a value indicating whether the widget currently has keyboard focus.
Properties inherited from Gondwana.Drawing.Direct.DirectComposite
Guid Id = Guid.NewGuid() [get]
 Gets the unique identifier of the composite.
string? Nickname [get]
 Gets the optional diagnostic nickname of the composite.
RenderSurfaceHostBase RenderSurfaceHost [get]
 Gets the render surface host shared by the composite and its children.
DirectDrawingMode Mode [get]
 Gets the coordinate mode shared by the composite and its children.
SceneLayer? SceneLayer [get]
 Gets the scene layer shared by all children in scene-layer mode.
View? View [get]
 Gets the view shared by all children in view mode.
ReadOnlyCollection< IDirectCompositeChild > Children [get]
 Gets the children owned by the composite.
MovementController Movement [get]
 Gets the movement controller used to move the composite anchor.
MovementSpace PositionSpace [get]
 Gets the coordinate space used by the movement controller.
bool Visible [get, set]
 Gets or sets the visibility of all descendants.
int ZOrder [get]
 Gets the composite Z-order.
Rectangle ScreenBounds [get]
 Gets the union of all visible descendants' screen-space bounds.
Rectangle WorldBounds [get]
 Gets the union of all visible descendants' world-space bounds.

Events

Action? Dismissed
 Occurs after the toast completes dismissal and is hidden.
Events inherited from Gondwana.Widgets.WidgetBase
Action? Shown
 Occurs when the widget is shown.
Action? Hidden
 Occurs when the widget is hidden.
Action? Activated
 Occurs when the widget is activated.
Action? Cancelled
 Occurs when the widget is cancelled.
Action< WidgetPointerEventArgs >? PointerEnter
 Occurs when a pointer enters the widget bounds.
Action< WidgetPointerEventArgs >? PointerLeave
 Occurs when a pointer leaves the widget bounds.
Action< WidgetPointerEventArgs >? PointerDown
 Occurs when a pointer button or touch press begins on the widget.
Action< WidgetPointerEventArgs >? PointerMove
 Occurs when a pointer moves while routed to the widget.
Action< WidgetPointerEventArgs >? PointerUp
 Occurs when a pointer button or touch press is released for the widget.
Action< WidgetPointerEventArgs >? PointerClick
 Occurs when a pointer press and release completes as a click on the widget.
Action< WidgetMouseWheelEventArgs >? MouseWheel
 Occurs when mouse-wheel input is routed to the widget while the pointer is over it.
Action? FocusGained
 Occurs when the widget gains keyboard focus.
Action? FocusLost
 Occurs when the widget loses keyboard focus.
Action< WidgetKeyboardEventArgs >? KeyboardInput
 Occurs when keyboard input is routed to the widget.
Events inherited from Gondwana.Drawing.Direct.DirectComposite
EventHandler< IDirectDrawable >? Disposing
 Occurs when the composite is being disposed.
Events inherited from Gondwana.Drawing.Direct.IDirectDrawable
EventHandler< IDirectDrawable >? Disposing
 Occurs when the object is being disposed.

Detailed Description

Displays a text notification inside one View with a slide or fade transition and optional automatic dismissal.

Screen bounds use absolute render-surface pixels, matching other view-mode direct drawings. Set HoldDurationSec to null for a toast that remains until Dismiss is called or the toast is clicked while DismissOnClick is enabled.

Definition at line 70 of file ToastWidget.cs.

Constructor & Destructor Documentation

◆ ToastWidget() [1/2]

Gondwana.Widgets.Overlays.ToastWidget.ToastWidget ( RenderSurfaceHostBase renderSurfaceHost,
View view,
Rectangle targetBounds,
string text,
string? nickname = null )

Initializes a toast with explicit target bounds in absolute screen pixels.

Parameters
renderSurfaceHostThe render-surface host that owns the drawing.
viewThe view used for presentation and coordinate conversion.
targetBoundsThe target bounds.
textThe text to display.
nicknameAn optional name used to identify the object.

Definition at line 95 of file ToastWidget.cs.

◆ ToastWidget() [2/2]

Gondwana.Widgets.Overlays.ToastWidget.ToastWidget ( RenderSurfaceHostBase renderSurfaceHost,
View view,
Size size,
string text,
WidgetAnchor targetAnchor = WidgetAnchor::TopRight,
int marginPx = 16,
string? nickname = null )

Initializes a toast positioned from a standard anchor inside the view.

Parameters
renderSurfaceHostThe render-surface host that owns the drawing.
viewThe view used for presentation and coordinate conversion.
sizeThe size.
textThe text to display.
targetAnchorThe target anchor.
marginPxThe margin px.
nicknameAn optional name used to identify the object.

Definition at line 161 of file ToastWidget.cs.

Member Function Documentation

◆ Dismiss()

void Gondwana.Widgets.Overlays.ToastWidget.Dismiss ( )

Begins dismissal. Repeated calls while exiting or hidden have no effect.

Definition at line 280 of file ToastWidget.cs.

◆ Dispose()

override void Gondwana.Widgets.Overlays.ToastWidget.Dispose ( )
virtual

Disposes the composite and every child it owns.

Reimplemented from Gondwana.Drawing.Direct.DirectComposite.

Definition at line 375 of file ToastWidget.cs.

◆ OnPointerClick()

override void Gondwana.Widgets.Overlays.ToastWidget.OnPointerClick ( WidgetPointerEventArgs args)
protectedvirtual

Called when a pointer click is dispatched to the widget.

Parameters
argsThe pointer event data.

Reimplemented from Gondwana.Widgets.WidgetBase.

Definition at line 417 of file ToastWidget.cs.

◆ ProcessHidden()

override void Gondwana.Widgets.Overlays.ToastWidget.ProcessHidden ( )
protectedvirtual

Performs processing when the widget is hidden before notification callbacks are invoked.

Reimplemented from Gondwana.Widgets.WidgetBase.

Definition at line 409 of file ToastWidget.cs.

◆ ProcessShown()

override void Gondwana.Widgets.Overlays.ToastWidget.ProcessShown ( )
protectedvirtual

Performs processing when the widget is shown before notification callbacks are invoked.

Reimplemented from Gondwana.Widgets.WidgetBase.

Definition at line 386 of file ToastWidget.cs.

◆ SetTargetBounds()

ToastWidget Gondwana.Widgets.Overlays.ToastWidget.SetTargetBounds ( Rectangle targetBounds)

Changes the target bounds used the next time the toast is shown.

Parameters
targetBoundsThe target bounds.
Returns
This instance for fluent chaining.

Definition at line 306 of file ToastWidget.cs.

◆ SetText()

ToastWidget Gondwana.Widgets.Overlays.ToastWidget.SetText ( string text)

Sets the toast message.

Parameters
textThe text to display.
Returns
This instance for fluent chaining.

Definition at line 323 of file ToastWidget.cs.

◆ SetToastZOrder()

ToastWidget Gondwana.Widgets.Overlays.ToastWidget.SetToastZOrder ( int zOrder)

Sets the background Z-order and places the label immediately above it.

Parameters
zOrderThe drawing order relative to other content.
Returns
This instance for fluent chaining.

Definition at line 334 of file ToastWidget.cs.

◆ ShowToast()

ToastWidget Gondwana.Widgets.Overlays.ToastWidget.ShowToast ( )

Shows the toast and begins its entrance transition.

Returns
This instance for fluent chaining.

Definition at line 271 of file ToastWidget.cs.

◆ Update()

override void Gondwana.Widgets.Overlays.ToastWidget.Update ( long tick)
virtual

Advances composite movement.

Parameters
tickThe current engine tick.
This method uses the tick to calculate elapsed time and advance the movement controller. If the tick is less than or equal to the last processed tick, no update occurs.

Reimplemented from Gondwana.Drawing.Direct.DirectComposite.

Definition at line 342 of file ToastWidget.cs.

Property Documentation

◆ AnimateDismissal

bool Gondwana.Widgets.Overlays.ToastWidget.AnimateDismissal = true
getset

Gets or sets whether dismissal reverses the configured entrance transition.

Definition at line 250 of file ToastWidget.cs.

◆ Background

DirectRectangle Gondwana.Widgets.Overlays.ToastWidget.Background
get

Gets the rectangle used for the toast background and border.

Definition at line 181 of file ToastWidget.cs.

◆ CurrentState

ToastState Gondwana.Widgets.Overlays.ToastWidget.CurrentState = ToastState.Hidden
get

Gets the current toast lifecycle state.

Definition at line 191 of file ToastWidget.cs.

◆ DismissOnClick

bool Gondwana.Widgets.Overlays.ToastWidget.DismissOnClick = true
getset

Gets or sets whether a primary-pointer click dismisses the toast.

Definition at line 255 of file ToastWidget.cs.

◆ DisposeOnDismiss

bool Gondwana.Widgets.Overlays.ToastWidget.DisposeOnDismiss = true
getset

Gets or sets whether the toast disposes itself after dismissal.

Definition at line 260 of file ToastWidget.cs.

◆ EntranceEasing

EasingKind Gondwana.Widgets.Overlays.ToastWidget.EntranceEasing = EasingKind.EaseOutCubic
getset

Gets or sets the easing used by the entrance transition.

Definition at line 240 of file ToastWidget.cs.

◆ ExitEasing

EasingKind Gondwana.Widgets.Overlays.ToastWidget.ExitEasing = EasingKind.EaseInCubic
getset

Gets or sets the easing used by the dismissal transition.

Definition at line 245 of file ToastWidget.cs.

◆ HoldDurationSec

float? Gondwana.Widgets.Overlays.ToastWidget.HoldDurationSec
getset

Gets or sets how long the toast remains at its target before automatic dismissal. Null disables automatic dismissal.

Definition at line 229 of file ToastWidget.cs.

◆ Label

TextBlock Gondwana.Widgets.Overlays.ToastWidget.Label
get

Gets the text drawing used for the toast message.

Definition at line 186 of file ToastWidget.cs.

◆ SlideOrigin

ToastSlideOrigin Gondwana.Widgets.Overlays.ToastWidget.SlideOrigin = ToastSlideOrigin.Right
getset

Gets or sets the edge used by slide transitions.

Definition at line 201 of file ToastWidget.cs.

◆ SourceLocationPx

Point? Gondwana.Widgets.Overlays.ToastWidget.SourceLocationPx
getset

Gets or sets an optional explicit slide source top-left in absolute screen pixels. When null, the source is calculated just outside View.Viewport.

Definition at line 207 of file ToastWidget.cs.

◆ SourceOffsetPx

int Gondwana.Widgets.Overlays.ToastWidget.SourceOffsetPx = 8
getset

Gets or sets the gap between a calculated slide source and the view edge.

Definition at line 212 of file ToastWidget.cs.

◆ TargetBounds

Rectangle Gondwana.Widgets.Overlays.ToastWidget.TargetBounds
get

Gets the target bounds at which the toast rests, in absolute screen pixels.

Definition at line 265 of file ToastWidget.cs.

◆ Transition

ToastTransition Gondwana.Widgets.Overlays.ToastWidget.Transition = ToastTransition.Slide
getset

Gets or sets the entrance and animated-dismissal transition.

Definition at line 196 of file ToastWidget.cs.

◆ TransitionDurationSec

float Gondwana.Widgets.Overlays.ToastWidget.TransitionDurationSec
getset

Gets or sets the transition duration in seconds. Zero performs the transition immediately.

Definition at line 217 of file ToastWidget.cs.

Event Documentation

◆ Dismissed

Action? Gondwana.Widgets.Overlays.ToastWidget.Dismissed

Occurs after the toast completes dismissal and is hidden.

Definition at line 85 of file ToastWidget.cs.