template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 592 of file fidling/gen/sdk/fidl/fuchsia.ui.pointerinjector/fuchsia.ui.pointerinjector/cpp/fidl/fuchsia.ui.pointerinjector/cpp/wire_types.h
Public Methods
::fuchsia_ui_pointerinjector::wire::Config Build ()
Build and return the table. The builder should not be used after this.
bool has_device_id ()
void clear_device_id ()
Clears the device_id field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint32_t & device_id ()
An identifier for the pointer device that issues pointer event streams.
BuilderImpl & device_id (uint32_t elem)
An identifier for the pointer device that issues pointer event streams.
bool has_device_type ()
void clear_device_type ()
Clears the device_type field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ui_pointerinjector::wire::DeviceType & device_type ()
A characterization of the pointer device.
BuilderImpl & device_type (::fuchsia_ui_pointerinjector::wire::DeviceType elem)
A characterization of the pointer device.
bool has_context ()
void clear_context ()
Clears the context field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ui_pointerinjector::wire::Context & context ()
The scope and coordinate system of the injector |Device|.
Note: To avoid circular injection scenarios, |context| must be a
strict ancestor of |target|.
BuilderImpl & context (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_ui_pointerinjector::wire::Context>> elem)
The scope and coordinate system of the injector |Device|.
Note: To avoid circular injection scenarios, |context| must be a
strict ancestor of |target|.
bool has_target ()
void clear_target ()
Clears the target field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ui_pointerinjector::wire::Target & target ()
The region where dispatch is attempted for injected events.
Note: To avoid circular injection scenarios, |target| must be a strict
descendant of |context|.
BuilderImpl & target (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_ui_pointerinjector::wire::Target>> elem)
The region where dispatch is attempted for injected events.
Note: To avoid circular injection scenarios, |target| must be a strict
descendant of |context|.
bool has_viewport ()
void clear_viewport ()
Clears the viewport field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ui_pointerinjector::wire::Viewport & viewport ()
The initial viewport for injected events. Subsequent modifications to
the viewport can also be sent synchronously with injected events.
BuilderImpl & viewport (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_ui_pointerinjector::wire::Viewport>> elem)
The initial viewport for injected events. Subsequent modifications to
the viewport can also be sent synchronously with injected events.
bool has_dispatch_policy ()
void clear_dispatch_policy ()
Clears the dispatch_policy field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ui_pointerinjector::wire::DispatchPolicy & dispatch_policy ()
A specification of the UI clients in |target| that may have injected
events dispatched to them.
For example, if |dispatch_policy| is |EXCLUSIVE|, then only |target| may
have injected events dispatched to it, regardless of other factors, such
as surface occlusion by clients inside and outside of |target|.
BuilderImpl & dispatch_policy (::fuchsia_ui_pointerinjector::wire::DispatchPolicy elem)
A specification of the UI clients in |target| that may have injected
events dispatched to them.
For example, if |dispatch_policy| is |EXCLUSIVE|, then only |target| may
have injected events dispatched to it, regardless of other factors, such
as surface occlusion by clients inside and outside of |target|.
bool has_scroll_v_range ()
void clear_scroll_v_range ()
Clears the scroll_v_range field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_input_report::wire::Axis & scroll_v_range ()
Range of vertical scroll values issued by the device.
BuilderImpl & scroll_v_range (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_input_report::wire::Axis>> elem)
Range of vertical scroll values issued by the device.
bool has_scroll_h_range ()
void clear_scroll_h_range ()
Clears the scroll_h_range field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_input_report::wire::Axis & scroll_h_range ()
Range of horizontal scroll values issued by the device.
BuilderImpl & scroll_h_range (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_input_report::wire::Axis>> elem)
Range of horizontal scroll values issued by the device.
bool has_buttons ()
void clear_buttons ()
Clears the buttons field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView<uint8_t> & buttons ()
Mouse button identifiers issued by the device, in priority order.
The priority order of mouse buttons is a policy choice enacted by the injector.
This priority order is conveyed verbatim to UI clients via
[`fuchsia.ui.pointer.MouseDeviceInfo.buttons`], so button priority is shared consistently
between multiple UI clients. For example, to swap the left-side (0x1) and right-side (0x2)
physical buttons from their traditional roles of primary and secondary mouse buttons, the
injector can specify [0x2, 0x1, ... ] in this [`buttons`] vector.
Note that preserving the physical button ID is also a policy choice. If preserved, a
discerning UI client can distinguish between the ground truth (which physical button was
pressed) versus the desired interpretation (what priority does that physical button have, on
the current system).
BuilderImpl & buttons (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)
Mouse button identifiers issued by the device, in priority order.
The priority order of mouse buttons is a policy choice enacted by the injector.
This priority order is conveyed verbatim to UI clients via
[`fuchsia.ui.pointer.MouseDeviceInfo.buttons`], so button priority is shared consistently
between multiple UI clients. For example, to swap the left-side (0x1) and right-side (0x2)
physical buttons from their traditional roles of primary and secondary mouse buttons, the
injector can specify [0x2, 0x1, ... ] in this [`buttons`] vector.
Note that preserving the physical button ID is also a policy choice. If preserved, a
discerning UI client can distinguish between the ground truth (which physical button was
pressed) versus the desired interpretation (what priority does that physical button have, on
the current system).
bool has_relative_motion_range ()
void clear_relative_motion_range ()
Clears the relative_motion_range field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::Array< ::fuchsia_input_report::wire::Axis, 2> & relative_motion_range ()
Range of X and Y motion by a mouse device.
BuilderImpl & relative_motion_range (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::Array< ::fuchsia_input_report::wire::Axis, 2>>> elem)
Range of X and Y motion by a mouse device.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_ui_pointerinjector::wire::Config, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_ui_pointerinjector::wire::Config>> && frame)