New upstream version 3.24.10
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
<link rel="up" href="gtk.html" title="Part I. GTK+ Overview">
|
||||
<link rel="prev" href="chap-drawing-model.html" title="The GTK+ Drawing Model">
|
||||
<link rel="next" href="gtkobjects.html" title="Part II. GTK+ Widgets and Objects">
|
||||
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||
<meta name="generator" content="GTK-Doc V1.30.1 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -44,7 +44,7 @@
|
||||
The most basic input devices that every computer user has interacted with are
|
||||
keyboards and mice; beyond these, GTK+ supports touchpads, touchscreens and
|
||||
more exotic input devices such as graphics tablets. Inside GTK+, every such
|
||||
input device is represented by a <span class="type">GdkDevice</span> object.
|
||||
input device is represented by a <a href="https://developer.gnome.org/gdk4/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> object.
|
||||
</p>
|
||||
<p>
|
||||
To simplify dealing with the variability between these input devices, GTK+
|
||||
@ -108,7 +108,7 @@
|
||||
widget.
|
||||
</p>
|
||||
<p>
|
||||
When a GDK backend produces an input event, it is tied to a <span class="type">GdkDevice</span> and
|
||||
When a GDK backend produces an input event, it is tied to a <a href="https://developer.gnome.org/gdk4/GdkDevice.html#GdkDevice-struct"><span class="type">GdkDevice</span></a> and
|
||||
a <span class="type">GdkWindow</span>, which in turn represents a windowing system surface in the
|
||||
backend. If a widget has grabbed the current input device, or all input
|
||||
devices, the event is propagated to that <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>. Otherwise, it is
|
||||
@ -126,8 +126,8 @@
|
||||
</p>
|
||||
<p>
|
||||
An event is propagated to a widget using <a class="link" href="gtk3-General.html#gtk-propagate-event" title="gtk_propagate_event ()"><code class="function">gtk_propagate_event()</code></a>.
|
||||
Propagation differs between event types: key events (<code class="literal">GDK_KEY_PRESS</code>,
|
||||
<code class="literal">GDK_KEY_RELEASE</code>) are delivered to the top-level <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>; other events
|
||||
Propagation differs between event types: key events (<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-KEY-PRESS:CAPS"><code class="literal">GDK_KEY_PRESS</code></a>,
|
||||
<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-KEY-RELEASE:CAPS"><code class="literal">GDK_KEY_RELEASE</code></a>) are delivered to the top-level <a class="link" href="GtkWindow.html" title="GtkWindow"><span class="type">GtkWindow</span></a>; other events
|
||||
are propagated down and up the widget hierarchy in three phases (see
|
||||
<a class="link" href="GtkEventController.html#GtkPropagationPhase" title="enum GtkPropagationPhase"><span class="type">GtkPropagationPhase</span></a>).
|
||||
</p>
|
||||
@ -173,7 +173,7 @@
|
||||
<p>
|
||||
Any time during the propagation phase, a widget may indicate that a
|
||||
received event was consumed and propagation should therefore be stopped.
|
||||
In traditional event handlers, this is hinted by returning <code class="literal">GDK_EVENT_STOP</code>.
|
||||
In traditional event handlers, this is hinted by returning <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-EVENT-STOP:CAPS"><code class="literal">GDK_EVENT_STOP</code></a>.
|
||||
If gestures are used, this may happen when the widget tells the gesture
|
||||
to claim the event touch sequence (or the pointer events) for its own. See the
|
||||
"gesture states" section below to know more of the latter.
|
||||
@ -221,23 +221,23 @@
|
||||
<div class="refsect2">
|
||||
<a name="id-1.2.7.3.6"></a><h3>Touch events</h3>
|
||||
<p>
|
||||
Touch events are emitted as events of type <code class="literal">GDK_TOUCH_BEGIN</code>, <code class="literal">GDK_TOUCH_UPDATE</code> or
|
||||
<code class="literal">GDK_TOUCH_END</code>, those events contain an “event sequence” that univocally identifies
|
||||
Touch events are emitted as events of type <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-BEGIN:CAPS"><code class="literal">GDK_TOUCH_BEGIN</code></a>, <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-UPDATE:CAPS"><code class="literal">GDK_TOUCH_UPDATE</code></a> or
|
||||
<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-END:CAPS"><code class="literal">GDK_TOUCH_END</code></a>, those events contain an “event sequence” that univocally identifies
|
||||
the physical touch until it is lifted from the device.
|
||||
</p>
|
||||
<p>
|
||||
On some windowing platforms, multitouch devices perform pointer emulation, this works
|
||||
by granting a “pointer emulating” hint to one of the currently interacting touch
|
||||
sequences, which will be reported on every <span class="type">GdkEventTouch</span> event from that sequence. By
|
||||
default, if a widget didn't request touch events by setting <code class="literal">GDK_TOUCH_MASK</code> on its
|
||||
default, if a widget didn't request touch events by setting <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-MASK:CAPS"><code class="literal">GDK_TOUCH_MASK</code></a> on its
|
||||
event mask and didn't override <a class="link" href="GtkWidget.html#GtkWidget-touch-event" title="The “touch-event” signal"><span class="type">“touch-event”</span></a>, GTK+ will transform these
|
||||
“pointer emulating” events into semantically similar <span class="type">GdkEventButton</span> and <span class="type">GdkEventMotion</span>
|
||||
events. Depending on <code class="literal">GDK_TOUCH_MASK</code> being in the event mask or not, non-pointer-emulating
|
||||
events. Depending on <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-MASK:CAPS"><code class="literal">GDK_TOUCH_MASK</code></a> being in the event mask or not, non-pointer-emulating
|
||||
sequences could still trigger gestures or just get filtered out, regardless of the widget
|
||||
not handling those directly.
|
||||
</p>
|
||||
<p>
|
||||
If the widget sets <code class="literal">GDK_TOUCH_MASK</code> on its event mask and doesn't chain up on
|
||||
If the widget sets <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-MASK:CAPS"><code class="literal">GDK_TOUCH_MASK</code></a> on its event mask and doesn't chain up on
|
||||
<a class="link" href="GtkWidget.html#GtkWidget-touch-event" title="The “touch-event” signal"><span class="type">“touch-event”</span></a>, only touch events will be received, and no pointer emulation
|
||||
will be performed.
|
||||
</p>
|
||||
@ -251,8 +251,8 @@
|
||||
happen on user interaction, when a <span class="type">GdkEventButtonPress</span> happens, all events from
|
||||
then on, until after the corresponding <span class="type">GdkEventButtonRelease</span>, will be reported
|
||||
to the widget that got the first event. Likewise, on touch events, every
|
||||
<span class="type">GdkEventSequence</span> will deliver only events to the widget that received its
|
||||
<code class="literal">GDK_TOUCH_BEGIN</code> event.
|
||||
<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GdkEventSequence"><span class="type">GdkEventSequence</span></a> will deliver only events to the widget that received its
|
||||
<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-BEGIN:CAPS"><code class="literal">GDK_TOUCH_BEGIN</code></a> event.
|
||||
</p>
|
||||
<p>
|
||||
Explicit grabs happen programatically (both activation and deactivation),
|
||||
@ -338,7 +338,7 @@
|
||||
Alternatively, or at a later point in time, the widget may choose to deny the touch
|
||||
sequences, thus letting those go through again in event propagation. When this happens
|
||||
in the capture phase, and if there are no other claiming gestures in the widget,
|
||||
a <code class="literal">GDK_TOUCH_BEGIN</code>/<code class="literal">GDK_BUTTON_PRESS</code> event will be emulated and
|
||||
a <a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-TOUCH-BEGIN:CAPS"><code class="literal">GDK_TOUCH_BEGIN</code></a>/<a href="https://developer.gnome.org/gdk4/gdk4-Events.html#GDK-BUTTON-PRESS:CAPS"><code class="literal">GDK_BUTTON_PRESS</code></a> event will be emulated and
|
||||
propagated downwards, in order to preserve consistency.
|
||||
</p>
|
||||
<p>
|
||||
@ -352,6 +352,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.29</div>
|
||||
<hr>Generated by GTK-Doc V1.30.1</div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user