Gondwana Game Engine
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, mobile, and web platforms using SkiaSharp for graphics and NAudio for sound.
Loading...
Searching...
No Matches
Gondwana.Input.Mouse.MouseEventConfiguration Class Reference

Represents the configuration for mouse event monitoring, including movement tracking settings and timing controls for event throttling. This configuration is used to control how frequently mouse events are raised, whether mouse movement should be tracked, and whether event processing is currently paused. More...

Inheritance diagram for Gondwana.Input.Mouse.MouseEventConfiguration:
Gondwana.Input.InputEventConfigurationBase

Public Member Functions

 MouseEventConfiguration (bool trackMouseMovement, double secondsBetweenEvents=0, bool isPaused=false)
 Initializes a new instance of the MouseEventConfiguration class with the specified movement tracking and event timing settings.

Properties

bool TrackMouseMovement [get, set]
 Gets or sets a value indicating whether mouse cursor movement should be tracked and reported in mouse events. When enabled, mouse events will include position updates even when no buttons are pressed, allowing detection of mouse hover, cursor tracking, and movement-based interactions. When disabled, events may only be raised for button presses, releases, or other explicit actions, potentially reducing event frequency and processing overhead.
Properties inherited from Gondwana.Input.InputEventConfigurationBase
double TimeBetweenEvents [get, set]
 Gets or sets the minimum time interval in seconds that must elapse between consecutive events. This property controls the throttling rate for input events, preventing excessive event generation from high-frequency input sources. The value is stored internally as high-resolution ticks for precise timing calculations.
bool IsPaused = false [get, set]
 Gets or sets a value indicating whether event processing is currently paused. When set to true, events will not be raised even if input occurs and timing conditions are met. This property provides a convenient way to temporarily disable input event generation without removing or reconfiguring the event monitoring setup, useful for modal dialogs, cutscenes, or transitioning between game states.

Additional Inherited Members

Protected Member Functions inherited from Gondwana.Input.InputEventConfigurationBase
 InputEventConfigurationBase (double secondsBetweenEvents, bool isPaused)
 Initializes a new instance of the InputEventConfigurationBase class with the specified throttling interval and pause state. This constructor sets up the timing mechanism for event rate limiting.

Detailed Description

Represents the configuration for mouse event monitoring, including movement tracking settings and timing controls for event throttling. This configuration is used to control how frequently mouse events are raised, whether mouse movement should be tracked, and whether event processing is currently paused.

Constructor & Destructor Documentation

◆ MouseEventConfiguration()

Gondwana.Input.Mouse.MouseEventConfiguration.MouseEventConfiguration ( bool trackMouseMovement,
double secondsBetweenEvents = 0,
bool isPaused = false )

Initializes a new instance of the MouseEventConfiguration class with the specified movement tracking and event timing settings.

Parameters
trackMouseMovementA value indicating whether mouse cursor movement should be tracked and reported in events. Set to true to track all mouse movements including hover, or false to only track explicit actions like button presses and scrolling.
secondsBetweenEventsThe minimum time interval in seconds that must elapse between consecutive mouse events. Use this to throttle high-frequency mouse input. A value of 0 means no throttling is applied, and events will be generated as frequently as the mouse state changes. Default is 0.
isPausedA value indicating whether event processing for the mouse is initially paused. When paused, the mouse will not generate events even if moved, clicked, or scrolled. This is useful for temporarily disabling mouse input, such as when a modal dialog is displayed or during cutscenes. Default is false.

Property Documentation

◆ TrackMouseMovement

bool Gondwana.Input.Mouse.MouseEventConfiguration.TrackMouseMovement
getset

Gets or sets a value indicating whether mouse cursor movement should be tracked and reported in mouse events. When enabled, mouse events will include position updates even when no buttons are pressed, allowing detection of mouse hover, cursor tracking, and movement-based interactions. When disabled, events may only be raised for button presses, releases, or other explicit actions, potentially reducing event frequency and processing overhead.