![]() |
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.
|
Represents a full-screen splash screen widget that fades in, holds for a duration, and fades out. More...
Public Types | |
| enum | State { Hidden , FadingIn , Holding , FadingOut } |
| Represents the current state of the splash screen animation. More... | |
Public Member Functions | |
| override void | Dispose () |
| Releases the splash overlay and associated resources. | |
| 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. | |
| virtual void | Update (long tick) |
| Advances composite movement. | |
Static Public Member Functions | |
| static ? SplashScreen | TryCreate (Stream imageStream, RenderSurfaceHostBase host, View view, float fadeInSec=0.45f, float holdSec=3f, float fadeOutSec=0.45f, Action? onHoldingSync=null, Func< Task >? onHoldingAsync=null, Action? onSplashCompleted=null) |
| Attempts to create a new SplashScreen instance from the provided image stream. | |
Static Public Attributes | |
| static readonly string | SplashImageNickname = "__gondwana_splash__" |
| The nickname used for the DirectImage overlay that displays the splash. | |
Properties | |
| DirectImage | Image [get] |
| Gets the DirectImage overlay that displays the splash image. | |
| State | CurrentState [get] |
| Gets the current state of the splash screen. | |
| float | FadeInSec [get] |
| Gets the duration of the fade-in animation in seconds. | |
| float | HoldSec [get] |
| Gets the minimum duration for which the splash remains at full opacity, in seconds. | |
| float | FadeOutSec [get] |
| Gets the duration of the fade-out animation in seconds. | |
| 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. | |
Additional Inherited Members | |
| 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 | ProcessShown () |
| Performs processing when the widget is shown before notification callbacks are invoked. | |
| virtual void | ProcessHidden () |
| Performs processing when the widget is hidden before notification callbacks are invoked. | |
| 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 | OnPointerClick (WidgetPointerEventArgs args) |
| Called when a pointer click is dispatched 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. | |
| 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. | |
Represents a full-screen splash screen widget that fades in, holds for a duration, and fades out.
The splash screen transitions through four states: State.Hidden, State.FadingIn, State.Holding, and State.FadingOut.
During the holding phase, optional synchronous and asynchronous delegates may be invoked. The splash remains visible until both the configured hold duration has elapsed and all supplied delegate work has completed.
Definition at line 32 of file SplashScreen.cs.
Represents the current state of the splash screen animation.
Definition at line 40 of file SplashScreen.cs.
|
virtual |
Releases the splash overlay and associated resources.
Reimplemented from Gondwana.Drawing.Direct.DirectComposite.
Definition at line 252 of file SplashScreen.cs.
|
static |
Attempts to create a new SplashScreen instance from the provided image stream.
| imageStream | The stream containing the splash image to decode. |
| host | The render surface host that manages rendering for the splash screen. |
| view | The view to which the splash screen is attached. |
| fadeInSec | The duration of the fade-in animation in seconds. The default is 0.45 seconds. |
| holdSec | The minimum duration for which the splash remains at full opacity. The default is 3 seconds. |
| fadeOutSec | The duration of the fade-out animation in seconds. The default is 0.45 seconds. |
| onHoldingSync | An optional synchronous delegate invoked on the engine thread during the holding phase. |
| onHoldingAsync | An optional asynchronous delegate invoked on the engine thread during the holding phase. |
null. The holding phase waits for both the configured hold duration to elapse and all supplied delegate work to complete.
If the delegates complete before the hold duration has elapsed, the splash remains visible for the full duration. If delegate work takes longer, the splash remains visible until that work completes.
The delegates are invoked on the engine thread. Continuations within the asynchronous delegate follow the synchronization behavior defined by that delegate and its awaited operations.
Exceptions thrown by supplied delegates are logged but do not prevent the splash sequence from completing.
The created splash screen automatically disposes itself after the fade-out animation completes.
| onSplashCompleted | The on splash completed. |
Definition at line 197 of file SplashScreen.cs.
|
static |
The nickname used for the DirectImage overlay that displays the splash.
Definition at line 66 of file SplashScreen.cs.
|
get |
Gets the current state of the splash screen.
Definition at line 83 of file SplashScreen.cs.
|
get |
Gets the duration of the fade-in animation in seconds.
Definition at line 88 of file SplashScreen.cs.
|
get |
Gets the duration of the fade-out animation in seconds.
Definition at line 99 of file SplashScreen.cs.
|
get |
Gets the minimum duration for which the splash remains at full opacity, in seconds.
Definition at line 94 of file SplashScreen.cs.
|
get |
Gets the DirectImage overlay that displays the splash image.
Definition at line 78 of file SplashScreen.cs.