### ----------------------------------------------------
### -- Gnome::Gdk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gdk3/Device.rakumod
### ----------------------------------------------------
### -- Chunk 2 of 2
,
    Gnome::GObject::Object :_widget($device),
    *%user-options
  );

=item $device; the native object for B<Gnome::Gdk3::Device> that changed.

=item $tool; The new current tool


=end pod


#-------------------------------------------------------------------------------
=begin pod
=head1 Properties

An example of using a string type property of a B<Gnome::Gtk3::Label> object. This is just showing how to set/read a property, not that it is the best way to do it. This is because a) The class initialization often provides some options to set some of the properties and b) the classes provide many methods to modify just those properties. In the case below one can use B<new(:label('my text label'))> or B<gtk_label_set_text('my text label')>.

  my Gnome::Gtk3::Label $label .= new;
  my Gnome::GObject::Value $gv .= new(:init(G_TYPE_STRING));
  $label.g-object-get-property( 'label', $gv);
  $gv.g-value-set-string('my text label');

=head2 Supported properties

=begin comment
=comment #TP:0:display:
=head3 Device Display

The B<Gnome::Gdk3::Display> the B<Gnome::Gdk3::Device> pertains to.
Since: 3.0
Widget type: GDK_TYPE_DISPLAY

The B<Gnome::GObject::Value> type of property I<display> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:device-manager:
=head3 Device manager


The B<Gnome::Gdk3::DeviceManager> the B<Gnome::Gdk3::Device> pertains to.
Since: 3.0
Widget type: GDK_TYPE_DEVICE_MANAGER

The B<Gnome::GObject::Value> type of property I<device-manager> is C<G_TYPE_OBJECT>.

=comment #TP:0:name:
=head3 Device name


The device name.
Since: 3.0

The B<Gnome::GObject::Value> type of property I<name> is C<G_TYPE_STRING>.

=comment #TP:0:type:
=head3 Device type


Device role in the device manager.
Since: 3.0
Widget type: GDK_TYPE_DEVICE_TYPE

The B<Gnome::GObject::Value> type of property I<type> is C<G_TYPE_ENUM>.


=begin comment
=comment #TP:0:associated-device:
=head3 Associated device


Associated pointer or keyboard with this device, if any. Devices of type B<GDK_DEVICE_TYPE_MASTER>
always come in keyboard/pointer pairs. Other device types will have a C<Any> associated device.
Since: 3.0
Widget type: GDK_TYPE_DEVICE

The B<Gnome::GObject::Value> type of property I<associated-device> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:input-source:
=head3 Input source


Source type for the device.
Since: 3.0
Widget type: GDK_TYPE_INPUT_SOURCE

The B<Gnome::GObject::Value> type of property I<input-source> is C<G_TYPE_ENUM>.

=comment #TP:0:input-mode:
=head3 Input mode for the device

Input mode for the device
Default value: False


The B<Gnome::GObject::Value> type of property I<input-mode> is C<G_TYPE_ENUM>.

=comment #TP:0:has-cursor:
=head3 Whether the device has a cursor


Whether the device is represented by a cursor on the screen. Devices of type
C<GDK_DEVICE_TYPE_MASTER> will have C<1> here.
Since: 3.0

The B<Gnome::GObject::Value> type of property I<has-cursor> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:n-axes:
=head3 Number of axes in the device


Number of axes in the device.
Since: 3.0

The B<Gnome::GObject::Value> type of property I<n-axes> is C<G_TYPE_UINT>.

=comment #TP:0:vendor-id:
=head3 Vendor ID


Vendor ID of this device, see C<gdk_device_get_vendor_id()>.
Since: 3.16

The B<Gnome::GObject::Value> type of property I<vendor-id> is C<G_TYPE_STRING>.

=comment #TP:0:product-id:
=head3 Product ID


Product ID of this device, see C<gdk_device_get_product_id()>.
Since: 3.16

The B<Gnome::GObject::Value> type of property I<product-id> is C<G_TYPE_STRING>.


=begin comment
=comment #TP:0:seat:
=head3 Seat


B<Gnome::Gdk3::Seat> of this device.
Since: 3.20
Widget type: GDK_TYPE_SEAT

The B<Gnome::GObject::Value> type of property I<seat> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:num-touches:
=head3 Number of concurrent touches


The maximal number of concurrent touches on a touch device.
Will be 0 if the device is not a touch device or if the number
of touches is unknown.
Since: 3.20

The B<Gnome::GObject::Value> type of property I<num-touches> is C<G_TYPE_UINT>.

=comment #TP:0:axes:
=head3 Axes


The axes currently available for this device.
Since: 3.22

The B<Gnome::GObject::Value> type of property I<axes> is C<G_TYPE_FLAGS>.

=comment #TP:0:tool:
=head3 Tool

The tool that is currently used with this device
Widget type: GDK_TYPE_DEVICE_TOOL


The B<Gnome::GObject::Value> type of property I<tool> is C<G_TYPE_OBJECT>.
=end pod


