Gesture for multidimensional scrolling, such as with a mouse wheel or two finger trackpad scroll input.
Fields
Properties
Control
Gets the control that this gesture is attached to, or null if not attached to a control.
Remarks: This can sometimes be useful to get the platform-specific object. Some handlers may not have any backing object for its functionality, so this may be null. It is more preferred to use the Widget.Handler and cast that to the platform-specific handler class which can give you additional methods and helpers to do common tasks. For example, the Application object's handler for OS X has a AddFullScreenMenuItem property to specify if you want full screen support in your app.
Enabled
Gets or sets a value indicating whether this gesture can be recognized.
IsDirectionInverted
#Gets a value indicating that the Delta is inverted from the direction of the physical device.
Remarks:
This is true when the user has turned on natural (or reverse) scrolling for the device that generated the input, in which case the platform has already flipped the Delta so that the content follows the user's fingers. Use this when you need to move something with the device instead of with the content, such as panning a canvas with a two finger scroll.
Only platforms that expose the setting per event report this (currently macOS via NSEvent.isDirectionInvertedFromDevice). Elsewhere this is always false, as the platform gives no way to tell an inverted delta from a regular one.
See Also: MouseEventArgs.IsDirectionInverted
IsDisposed
Gets or sets a value indicating whether this Widget has been disposed.
Remarks: When the widget is disposed, it can no longer be used.
Value:
true if this instance has been disposed; otherwise, false.NativeHandle
public nint NativeHandle { get; }
Gets the native platform-specific handle for integration purposes
Value: The native handle.
inherited fromWidget
Remarks: This gets set to the current Platform.Instance during the construction of the object
Remarks: Styles allow you to attach custom platform-specific logic to a widget. In your platform-specific assembly, use Add{H} to add the style logic with the same id.
Example:
// in your UI
var control = new Button { Style = "mystyle" };
// in your platform assembly
using Eto.Mac.Forms.Controls;
Styles.AddHandler<ButtonHandler>("mystyle", handler => {
// this is where you can use handler.Control to set properties, handle events, etc.
handler.Control.BezelStyle = NSBezelStyle.SmallSquare;
});Velocity
#Gets the current scroll velocity for the gesture activation, in logical coordinates per second.
WheelScrollAmount
#Gets or sets the logical distance represented by one wheel notch.
Remarks: This is used to normalize wheel-style input to logical coordinates. Precise scrolling input that already reports logical deltas, such as macOS trackpad scrolling, is not scaled.
Methods
AllowSimultaneousWith
Allows this gesture and the specified gesture to recognize simultaneously.
Remarks: This adds the pairing to both gestures.
Parameters:
| gesture (Gesture) | Gesture to allow. |
AllowSimultaneousWith
Allows this gesture to recognize simultaneously with gestures of the specified type.
Parameters:
| gestureType (Type) | Type of gesture to allow. |
AllowSimultaneousWith<TGesture>
public void AllowSimultaneousWith<TGesture>()
Allows this gesture to recognize simultaneously with gestures of the specified type.
AllowsSimultaneousRecognition
Determines whether this gesture allows simultaneous recognition with the specified gesture.
Parameters:
| otherGesture (Gesture) | Other gesture being recognized. |
Returns: True if this gesture allows simultaneous recognition with
otherGesture.CanRecognizeSimultaneouslyWith
Determines whether this gesture and another gesture mutually allow simultaneous recognition.
Parameters:
| otherGesture (Gesture) | Other gesture being recognized. |
Returns: True if both gestures allow simultaneous recognition with each other.
DisallowSimultaneousWith
Removes a previously allowed simultaneous gesture pairing.
Remarks: This removes the pairing from both gestures.
Parameters:
| gesture (Gesture) | Gesture pairing to remove. |
DisallowSimultaneousWith
Removes a previously allowed simultaneous gesture type.
Parameters:
| gestureType (Type) | Type of gesture to remove. |
DisallowSimultaneousWith<TGesture>
public void DisallowSimultaneousWith<TGesture>()
Removes a previously allowed simultaneous gesture type.
Dispose
public void Dispose()
Disposes of this widget, supressing the finalizer
Parameters:
| disposing (bool) | True if the caller called Widget.Dispose() manually, false if being called from a finalizer |
GetCallback
Gets an instance of an object used to perform callbacks to the widget from handler implementations
Remarks: The callback should implement the parent class' Widget.ICallback interface so that there only needs to be a single callback for the entire hierarchy. This should return a static instance to avoid having overhead for each instance of your control.
Returns: The callback instance to use for this widget
Overrides: Widget.GetCallback
Initialize
protected void Initialize()
Initializes the widget handler
Remarks: This is typically called from the constructor after all of the logic is completed to construct the object. If your handler interface has the AutoInitializeAttribute set to false, then you are responsible for calling this method in your constructor after calling the creation method on your custom handler.
Parameters:
| e (EventArgs) | Event arguments. |
inherited fromWidget
ToString
Gets a string that represents the current object with its ID if specified.
Returns: A string value indicating the type and ID (if specified) of this widget.
Overrides: Object.ToString
Events
Activated
Occurs when the gesture has been recognized by the platform.
CanRecognizeSimultaneously
Occurs when determining whether this gesture can recognize simultaneously with another gesture.
Remarks: Simultaneous recognition requires both gestures to allow the pairing.
inherited fromWidget