pub enum MouseSourceRequest {
Watch {
responder: MouseSourceWatchResponder,
},
}
Expand description
A method for a client to receive mouse pointer events.
The position of a pointer event is defined in the context of a viewport, situated in the view. The dimensions of the view and viewport, and their spatial relationship (defined with a transform matrix), are supplied synchronously in a |ViewParameter| table. A view may retrieve a pointer’s position in its local coordinate system by applying the viewport-to-view transform matrix.
The viewport is embedded in an independent and stable coordinate system, suitable for interpreting pointer events in a scale-independent manner; mouse movement will be observed at a constant scale, even under effects such as magnification or panning. However, other effects, such as enlargening the view’s clip bounds, may trigger a change in the viewport extents.
Variants§
Watch
A method for a client to receive mouse pointer events.
This call is formulated as a “hanging get” pattern: the client asks for a set of recent events, and receives them via the callback. This pull-based approach ensures that clients consume events at their own pace; events don’t clog up the channel in an unbounded manner.
Flow control. The caller is allowed at most one in-flight |Watch| call at a time; it is a logical error to have concurrent calls to |Watch|. Non-compliance results in channel closure.
Client pacing. The server will dispatch events to the caller on a FIFO, lossless, best-effort basis, but the caller must allocate enough time to keep up with new events.
Event times. The timestamps on each event in the event vector are not guaranteed monotonic; events from different devices may be injected into Scenic at different times. Generally, events from a single device are expected to have monotonically increasing timestamps.
View parameters. Occasionally, changes in view or viewport require notifying the client. If a |MouseEvent| carries |ViewParameters|, these parameters apply to successive |MousePointerSample|s until the next |ViewParameters|.
Fields
responder: MouseSourceWatchResponder
Implementations§
Source§impl MouseSourceRequest
impl MouseSourceRequest
pub fn into_watch(self) -> Option<MouseSourceWatchResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL