class Config

Defined at line 289 of file fidling/gen/sdk/fidl/fuchsia.ui.pointerinjector/fuchsia.ui.pointerinjector/cpp/fidl/fuchsia.ui.pointerinjector/cpp/natural_types.h

A specification for an injector |Device|.

All fields required.

Public Methods

void Config (Storage_ storage)
void Config ()

Defined at line 295 of file fidling/gen/sdk/fidl/fuchsia.ui.pointerinjector/fuchsia.ui.pointerinjector/cpp/fidl/fuchsia.ui.pointerinjector/cpp/natural_types.h

void Config (Config && )

Defined at line 296 of file fidling/gen/sdk/fidl/fuchsia.ui.pointerinjector/fuchsia.ui.pointerinjector/cpp/fidl/fuchsia.ui.pointerinjector/cpp/natural_types.h

bool IsEmpty ()
const std::optional<uint32_t> & device_id ()

An identifier for the pointer device that issues pointer event streams.

::std::optional<uint32_t> & device_id ()

An identifier for the pointer device that issues pointer event streams.

Config & device_id (std::optional<uint32_t> value)

An identifier for the pointer device that issues pointer event streams.

const std::optional< ::fuchsia_ui_pointerinjector::DeviceType> & device_type ()

A characterization of the pointer device.

::std::optional< ::fuchsia_ui_pointerinjector::DeviceType> & device_type ()

A characterization of the pointer device.

Config & device_type (std::optional< ::fuchsia_ui_pointerinjector::DeviceType> value)

A characterization of the pointer device.

const std::optional< ::fuchsia_ui_pointerinjector::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|.

::std::optional< ::fuchsia_ui_pointerinjector::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|.

Config & context (std::optional< ::fuchsia_ui_pointerinjector::Context> value)

The scope and coordinate system of the injector |Device|.

Note: To avoid circular injection scenarios, |context| must be a

strict ancestor of |target|.

Config & operator= (Config && )

Defined at line 297 of file fidling/gen/sdk/fidl/fuchsia.ui.pointerinjector/fuchsia.ui.pointerinjector/cpp/fidl/fuchsia.ui.pointerinjector/cpp/natural_types.h

const std::optional< ::fuchsia_ui_pointerinjector::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|.

::std::optional< ::fuchsia_ui_pointerinjector::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|.

Config & target (std::optional< ::fuchsia_ui_pointerinjector::Target> value)

The region where dispatch is attempted for injected events.

Note: To avoid circular injection scenarios, |target| must be a strict

descendant of |context|.

const std::optional< ::fuchsia_ui_pointerinjector::Viewport> & viewport ()

The initial viewport for injected events. Subsequent modifications to

the viewport can also be sent synchronously with injected events.

::std::optional< ::fuchsia_ui_pointerinjector::Viewport> & viewport ()

The initial viewport for injected events. Subsequent modifications to

the viewport can also be sent synchronously with injected events.

Config & viewport (std::optional< ::fuchsia_ui_pointerinjector::Viewport> value)

The initial viewport for injected events. Subsequent modifications to

the viewport can also be sent synchronously with injected events.

const std::optional< ::fuchsia_ui_pointerinjector::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|.

::std::optional< ::fuchsia_ui_pointerinjector::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|.

Config & dispatch_policy (std::optional< ::fuchsia_ui_pointerinjector::DispatchPolicy> value)

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|.

const std::optional< ::fuchsia_input_report::Axis> & scroll_v_range ()

Range of vertical scroll values issued by the device.

::std::optional< ::fuchsia_input_report::Axis> & scroll_v_range ()

Range of vertical scroll values issued by the device.

Config & scroll_v_range (std::optional< ::fuchsia_input_report::Axis> value)

Range of vertical scroll values issued by the device.

const std::optional< ::fuchsia_input_report::Axis> & scroll_h_range ()

Range of horizontal scroll values issued by the device.

::std::optional< ::fuchsia_input_report::Axis> & scroll_h_range ()

Range of horizontal scroll values issued by the device.

Config & scroll_h_range (std::optional< ::fuchsia_input_report::Axis> value)

Range of horizontal scroll values issued by the device.

const std::optional< ::std::vector<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).

::std::optional< ::std::vector<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).

Config & buttons (std::optional< ::std::vector<uint8_t>> value)

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).

const std::optional< ::std::array< ::fuchsia_input_report::Axis, 2>> & relative_motion_range ()

Range of X and Y motion by a mouse device.

::std::optional< ::std::array< ::fuchsia_input_report::Axis, 2>> & relative_motion_range ()

Range of X and Y motion by a mouse device.

Config & relative_motion_range (std::optional< ::std::array< ::fuchsia_input_report::Axis, 2>> value)

Range of X and Y motion by a mouse device.

void Config (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits