gtk3/docs/reference/gtk/html/GtkGestureDrag.html
2019-09-04 16:25:11 +01:00

405 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkGestureDrag: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="Gestures.html" title="Gestures and event handling">
<link rel="prev" href="GtkGestureSingle.html" title="GtkGestureSingle">
<link rel="next" href="GtkGestureLongPress.html" title="GtkGestureLongPress">
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#GtkGestureDrag.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GtkGestureDrag.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_signals">  <span class="dim">|</span> 
<a href="#GtkGestureDrag.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="Gestures.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkGestureSingle.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkGestureLongPress.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkGestureDrag"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkGestureDrag.top_of_page"></a>GtkGestureDrag</span></h2>
<p>GtkGestureDrag — Drag gesture</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkGestureDrag.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkGesture.html" title="GtkGesture"><span class="returnvalue">GtkGesture</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkGestureDrag.html#gtk-gesture-drag-new" title="gtk_gesture_drag_new ()">gtk_gesture_drag_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkGestureDrag.html#gtk-gesture-drag-get-start-point" title="gtk_gesture_drag_get_start_point ()">gtk_gesture_drag_get_start_point</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkGestureDrag.html#gtk-gesture-drag-get-offset" title="gtk_gesture_drag_get_offset ()">gtk_gesture_drag_get_offset</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-begin" title="The “drag-begin” signal">drag-begin</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-end" title="The “drag-end” signal">drag-end</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-update" title="The “drag-update” signal">drag-update</a></td>
<td class="signal_flags">Run Last</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkGestureDrag.html#GtkGestureDrag-struct" title="GtkGestureDrag">GtkGestureDrag</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> GObject
<span class="lineart">╰──</span> <a class="link" href="GtkEventController.html" title="GtkEventController">GtkEventController</a>
<span class="lineart">╰──</span> <a class="link" href="GtkGesture.html" title="GtkGesture">GtkGesture</a>
<span class="lineart">╰──</span> <a class="link" href="GtkGestureSingle.html" title="GtkGestureSingle">GtkGestureSingle</a>
<span class="lineart">╰──</span> GtkGestureDrag
<span class="lineart">╰──</span> <a class="link" href="GtkGesturePan.html" title="GtkGesturePan">GtkGesturePan</a>
</pre>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.description"></a><h2>Description</h2>
<p><a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> is a <a class="link" href="GtkGesture.html" title="GtkGesture"><span class="type">GtkGesture</span></a> implementation that recognizes drag
operations. The drag operation itself can be tracked throught the
<a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-begin" title="The “drag-begin” signal"><span class="type">“drag-begin”</span></a>, <a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-update" title="The “drag-update” signal"><span class="type">“drag-update”</span></a> and
<a class="link" href="GtkGestureDrag.html#GtkGestureDrag-drag-end" title="The “drag-end” signal"><span class="type">“drag-end”</span></a> signals, or the relevant coordinates be
extracted through <a class="link" href="GtkGestureDrag.html#gtk-gesture-drag-get-offset" title="gtk_gesture_drag_get_offset ()"><code class="function">gtk_gesture_drag_get_offset()</code></a> and
<a class="link" href="GtkGestureDrag.html#gtk-gesture-drag-get-start-point" title="gtk_gesture_drag_get_start_point ()"><code class="function">gtk_gesture_drag_get_start_point()</code></a>.</p>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-gesture-drag-new"></a><h3>gtk_gesture_drag_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkGesture.html" title="GtkGesture"><span class="returnvalue">GtkGesture</span></a> *
gtk_gesture_drag_new (<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre>
<p>Returns a newly created <a class="link" href="GtkGesture.html" title="GtkGesture"><span class="type">GtkGesture</span></a> that recognizes drags.</p>
<div class="refsect3">
<a name="gtk-gesture-drag-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-gesture-drag-new.returns"></a><h4>Returns</h4>
<p> a newly created <a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-gesture-drag-get-start-point"></a><h3>gtk_gesture_drag_get_start_point ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_gesture_drag_get_start_point (<em class="parameter"><code><a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> *gesture</code></em>,
<em class="parameter"><code><span class="type">gdouble</span> *x</code></em>,
<em class="parameter"><code><span class="type">gdouble</span> *y</code></em>);</pre>
<p>If the <em class="parameter"><code>gesture</code></em>
is active, this function returns <code class="literal">TRUE</code>
and fills in <em class="parameter"><code>x</code></em>
and <em class="parameter"><code>y</code></em>
with the drag start coordinates,
in window-relative coordinates.</p>
<div class="refsect3">
<a name="gtk-gesture-drag-get-start-point.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>gesture</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkGesture.html" title="GtkGesture"><span class="type">GtkGesture</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>X coordinate for the drag start point. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>Y coordinate for the drag start point. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-gesture-drag-get-start-point.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the gesture is active</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-gesture-drag-get-offset"></a><h3>gtk_gesture_drag_get_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_gesture_drag_get_offset (<em class="parameter"><code><a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> *gesture</code></em>,
<em class="parameter"><code><span class="type">gdouble</span> *x</code></em>,
<em class="parameter"><code><span class="type">gdouble</span> *y</code></em>);</pre>
<p>If the <em class="parameter"><code>gesture</code></em>
is active, this function returns <code class="literal">TRUE</code> and
fills in <em class="parameter"><code>x</code></em>
and <em class="parameter"><code>y</code></em>
with the coordinates of the current point,
as an offset to the starting drag point.</p>
<div class="refsect3">
<a name="gtk-gesture-drag-get-offset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>gesture</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkGesture.html" title="GtkGesture"><span class="type">GtkGesture</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>X offset for the current point. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>Y offset for the current point. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-gesture-drag-get-offset.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the gesture is active</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkGestureDrag-struct"></a><h3>GtkGestureDrag</h3>
<pre class="programlisting">typedef struct _GtkGestureDrag GtkGestureDrag;</pre>
</div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkGestureDrag-drag-begin"></a><h3>The <code class="literal">“drag-begin”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> *gesture,
<span class="type">gdouble</span> start_x,
<span class="type">gdouble</span> start_y,
<span class="type">gpointer</span> user_data)</pre>
<p>This signal is emitted whenever dragging starts.</p>
<div class="refsect3">
<a name="GtkGestureDrag-drag-begin.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>gesture</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_x</p></td>
<td class="parameter_description"><p>X coordinate, relative to the widget allocation</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_y</p></td>
<td class="parameter_description"><p>Y coordinate, relative to the widget allocation</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkGestureDrag-drag-end"></a><h3>The <code class="literal">“drag-end”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> *gesture,
<span class="type">gdouble</span> offset_x,
<span class="type">gdouble</span> offset_y,
<span class="type">gpointer</span> user_data)</pre>
<p>This signal is emitted whenever the dragging is finished.</p>
<div class="refsect3">
<a name="GtkGestureDrag-drag-end.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>gesture</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset_x</p></td>
<td class="parameter_description"><p>X offset, relative to the start point</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset_y</p></td>
<td class="parameter_description"><p>Y offset, relative to the start point</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkGestureDrag-drag-update"></a><h3>The <code class="literal">“drag-update”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkGestureDrag.html" title="GtkGestureDrag"><span class="type">GtkGestureDrag</span></a> *gesture,
<span class="type">gdouble</span> offset_x,
<span class="type">gdouble</span> offset_y,
<span class="type">gpointer</span> user_data)</pre>
<p>This signal is emitted whenever the dragging point moves.</p>
<div class="refsect3">
<a name="GtkGestureDrag-drag-update.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>gesture</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset_x</p></td>
<td class="parameter_description"><p>X offset, relative to the start point</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>offset_y</p></td>
<td class="parameter_description"><p>Y offset, relative to the start point</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run Last</p>
<p class="since">Since: <a class="link" href="api-index-3-14.html#api-index-3.14">3.14</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkGestureDrag.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkGestureSwipe.html" title="GtkGestureSwipe"><span class="type">GtkGestureSwipe</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.29</div>
</body>
</html>