![]() |
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.
|
Provides a view-level menu bar with animated dropdown command lists. More...
Public Member Functions | |||||||||||
| MenuItemWidget | GetItem (string key) | ||||||||||
| Gets an item by its stable, case-sensitive key, including nested descendants. | |||||||||||
| bool | TryGetItem (string key, [System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out MenuItemWidget? item) | ||||||||||
| Looks up a stable key; returns false and null when absent. | |||||||||||
| MenuBarWidget (RenderSurfaceHostBase host, View view, Rectangle bounds, MenuBarTheme? theme=null, string? nickname=null) | |||||||||||
| Creates a menu bar attached to a view. | |||||||||||
| MenuBarWidget | AddMenu (string text, Action< MenuDropDownWidget >? configure=null, int? headerWidth=null, char? mnemonic=null) | ||||||||||
| Adds a top-level menu and optionally configures its dropdown. | |||||||||||
| void | OpenMenuAt (int index) | ||||||||||
| Opens the specified top-level menu. | |||||||||||
| void | CloseMenu () | ||||||||||
| Closes the open menu, if any. | |||||||||||
| void | ToggleMenu (int index) | ||||||||||
| Toggles the specified top-level menu. | |||||||||||
| MenuBarWidget | SetMenuZOrder (int zOrder) | ||||||||||
| Applies a drawing Z-order to the menu-bar family. | |||||||||||
| override void | Dispose () | ||||||||||
| Disposes the composite and every child it owns. | |||||||||||
| Public Member Functions inherited from Gondwana.Widgets.ContainerWidget | |||||||||||
| override DirectComposite | Add (IDirectCompositeChild child, bool keepCurrentOffset=true, Vector2? explicitLocalOffsetPx=null) | ||||||||||
Adds a composite-compatible direct drawable as a child.
| |||||||||||
| override DirectComposite | Remove (IDirectCompositeChild child) | ||||||||||
Removes a child without disposing it.
| |||||||||||
| override DirectComposite | Clear () | ||||||||||
Removes every child without disposing them.
| |||||||||||
| 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. | |||||||||||
| 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. | |||||||||||
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 | OnKeyboardInput (WidgetKeyboardEventArgs args) | ||
Called when keyboard input is routed to the widget.
| |||
| Protected Member Functions inherited from Gondwana.Widgets.ContainerWidget | |||
| ContainerWidget (RenderSurfaceHostBase renderSurfaceHost, DirectDrawingMode mode, PointF anchor=default, string? nickname=null) | |||
| Initializes a new instance of the ContainerWidget class. | |||
| TWidget | Add< TWidget > (TWidget widget, Vector2 localOffsetPx) | ||
| Adds a child widget at a local offset from this container's anchor. | |||
| bool | RemoveChild (WidgetBase widget, bool dispose=false) | ||
| Removes a child widget from the container. | |||
| override void | OnChildAdded (IDirectCompositeChild child) | ||
Called after a child has been successfully added.
| |||
| override void | OnChildRemoved (IDirectCompositeChild child) | ||
Called after a child has been removed from the composite.
| |||
| override void | ProcessActivated () | ||
| Performs processing when the widget is activated before notification callbacks are invoked. | |||
| override void | ProcessCancelled () | ||
| Performs processing when the widget is cancelled before notification callbacks are invoked. | |||
| 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 | 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. | |||
Properties | |
| MenuItemWidget | this[string key] [get] |
| Gets an item by its stable key, or throws KeyNotFoundException. | |
| DirectRectangle | BarBackground [get] |
| Gets the menu bar background drawing. | |
| IReadOnlyList< MenuBarMenu > | Menus [get] |
| Gets the configured top-level menus. | |
| int | OpenMenuIndex [get] |
| Gets the zero-based open-menu index, or -1. | |
| MenuBarMenu? | OpenMenu [get] |
| Gets the currently open menu, or null. | |
| MenuDropDownAnimation | DropDownAnimation [get, set] |
| Gets or sets the dropdown animation. | |
| float | DropDownAnimationDurationSec = 0.13f [get, set] |
| Gets or sets the dropdown animation duration, in seconds. | |
| Properties inherited from Gondwana.Widgets.ContainerWidget | |
| IReadOnlyList< WidgetBase > | ChildWidgets [get] |
| Gets a snapshot of the child widgets directly owned by this container. | |
| 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< MenuBarMenu >? | MenuOpened |
| Occurs after a top-level menu opens. | |
| Action< MenuBarMenu >? | MenuClosed |
| Occurs after a top-level menu begins closing. | |
| Action< MenuItemWidget >? | ItemInvoked |
| Occurs when a command item is invoked. | |
| 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. | |
Provides a view-level menu bar with animated dropdown command lists.
Definition at line 13 of file MenuBarWidget.cs.
| Gondwana.Widgets.Menus.MenuBarWidget.MenuBarWidget | ( | RenderSurfaceHostBase | host, |
| View | view, | ||
| Rectangle | bounds, | ||
| MenuBarTheme? | theme = null, | ||
| string? | nickname = null ) |
Creates a menu bar attached to a view.
| host | The host. |
| view | The view used for presentation and coordinate conversion. |
| bounds | The widget bounds in view-local pixels. |
| theme | The theme. |
| nickname | An optional name used to identify the object. |
Definition at line 89 of file MenuBarWidget.cs.
| MenuBarWidget Gondwana.Widgets.Menus.MenuBarWidget.AddMenu | ( | string | text, |
| Action< MenuDropDownWidget >? | configure = null, | ||
| int? | headerWidth = null, | ||
| char? | mnemonic = null ) |
Adds a top-level menu and optionally configures its dropdown.
| text | The text to display. |
| configure | The configure. |
| headerWidth | The header width. |
| mnemonic | The keyboard mnemonic used to activate the item. |
Definition at line 176 of file MenuBarWidget.cs.
| void Gondwana.Widgets.Menus.MenuBarWidget.CloseMenu | ( | ) |
Closes the open menu, if any.
Definition at line 304 of file MenuBarWidget.cs.
|
virtual |
Disposes the composite and every child it owns.
Reimplemented from Gondwana.Drawing.Direct.DirectComposite.
Definition at line 417 of file MenuBarWidget.cs.
| MenuItemWidget Gondwana.Widgets.Menus.MenuBarWidget.GetItem | ( | string | key | ) |
Gets an item by its stable, case-sensitive key, including nested descendants.
| key | The lookup key for the resource. |
|
protectedvirtual |
Called when keyboard input is routed to the widget.
| args | The keyboard event data. |
Reimplemented from Gondwana.Widgets.WidgetBase.
Definition at line 354 of file MenuBarWidget.cs.
| void Gondwana.Widgets.Menus.MenuBarWidget.OpenMenuAt | ( | int | index | ) |
Opens the specified top-level menu.
| index | The index. |
Definition at line 261 of file MenuBarWidget.cs.
|
protectedvirtual |
Performs processing when the widget is hidden before notification callbacks are invoked.
Reimplemented from Gondwana.Widgets.ContainerWidget.
Definition at line 346 of file MenuBarWidget.cs.
|
protectedvirtual |
Performs processing when the widget is shown before notification callbacks are invoked.
Reimplemented from Gondwana.Widgets.ContainerWidget.
Definition at line 330 of file MenuBarWidget.cs.
| MenuBarWidget Gondwana.Widgets.Menus.MenuBarWidget.SetMenuZOrder | ( | int | zOrder | ) |
Applies a drawing Z-order to the menu-bar family.
| zOrder | The drawing order relative to other content. |
Definition at line 322 of file MenuBarWidget.cs.
| void Gondwana.Widgets.Menus.MenuBarWidget.ToggleMenu | ( | int | index | ) |
Toggles the specified top-level menu.
| index | The index. |
Definition at line 311 of file MenuBarWidget.cs.
| bool Gondwana.Widgets.Menus.MenuBarWidget.TryGetItem | ( | string | key, |
| [System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out MenuItemWidget? | item ) |
Looks up a stable key; returns false and null when absent.
| key | The lookup key for the resource. |
| item | When this method returns, contains the item. |
true if the operation succeeded; otherwise, false.
|
get |
Gets the menu bar background drawing.
Definition at line 147 of file MenuBarWidget.cs.
|
getset |
Gets or sets the dropdown animation.
Definition at line 162 of file MenuBarWidget.cs.
|
getset |
Gets or sets the dropdown animation duration, in seconds.
Definition at line 166 of file MenuBarWidget.cs.
|
get |
Gets the configured top-level menus.
Definition at line 150 of file MenuBarWidget.cs.
|
get |
Gets the currently open menu, or null.
Definition at line 156 of file MenuBarWidget.cs.
|
get |
Gets the zero-based open-menu index, or -1.
Definition at line 153 of file MenuBarWidget.cs.
|
get |
Gets an item by its stable key, or throws KeyNotFoundException.
| key | The lookup key for the resource. |
Definition at line 31 of file MenuBarWidget.cs.
| Action<MenuItemWidget>? Gondwana.Widgets.Menus.MenuBarWidget.ItemInvoked |
Occurs when a command item is invoked.
Definition at line 79 of file MenuBarWidget.cs.
| Action<MenuBarMenu>? Gondwana.Widgets.Menus.MenuBarWidget.MenuClosed |
Occurs after a top-level menu begins closing.
Definition at line 76 of file MenuBarWidget.cs.
| Action<MenuBarMenu>? Gondwana.Widgets.Menus.MenuBarWidget.MenuOpened |
Occurs after a top-level menu opens.
Definition at line 73 of file MenuBarWidget.cs.