<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Clipboards: 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="gtkbase.html" title="Part III. GTK+ Core Reference"> <link rel="prev" href="gtk3-Accelerator-Maps.html" title="Accelerator Maps"> <link rel="next" href="gtk3-Drag-and-Drop.html" title="Drag and Drop"> <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="#gtk3-Clipboards.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#gtk3-Clipboards.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_signals"> <span class="dim">|</span> <a href="#gtk3-Clipboards.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="gtkbase.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="gtk3-Accelerator-Maps.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="gtk3-Drag-and-Drop.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="gtk3-Clipboards"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="gtk3-Clipboards.top_of_page"></a>Clipboards</span></h2> <p>Clipboards — Storing data on clipboards</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="gtk3-Clipboards.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"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardReceivedFunc" title="GtkClipboardReceivedFunc ()">*GtkClipboardReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardTextReceivedFunc" title="GtkClipboardTextReceivedFunc ()">*GtkClipboardTextReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardImageReceivedFunc" title="GtkClipboardImageReceivedFunc ()">*GtkClipboardImageReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardTargetsReceivedFunc" title="GtkClipboardTargetsReceivedFunc ()">*GtkClipboardTargetsReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardRichTextReceivedFunc" title="GtkClipboardRichTextReceivedFunc ()">*GtkClipboardRichTextReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardURIReceivedFunc" title="GtkClipboardURIReceivedFunc ()">*GtkClipboardURIReceivedFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardGetFunc" title="GtkClipboardGetFunc ()">*GtkClipboardGetFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="gtk3-Clipboards.html#GtkClipboardClearFunc" title="GtkClipboardClearFunc ()">*GtkClipboardClearFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get" title="gtk_clipboard_get ()">gtk_clipboard_get</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-for-display" title="gtk_clipboard_get_for_display ()">gtk_clipboard_get_for_display</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="returnvalue">GdkDisplay</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-display" title="gtk_clipboard_get_display ()">gtk_clipboard_get_display</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-default" title="gtk_clipboard_get_default ()">gtk_clipboard_get_default</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="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()">gtk_clipboard_set_with_data</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="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()">gtk_clipboard_set_with_owner</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GObject</span> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-owner" title="gtk_clipboard_get_owner ()">gtk_clipboard_get_owner</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-clear" title="gtk_clipboard_clear ()">gtk_clipboard_clear</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-text" title="gtk_clipboard_set_text ()">gtk_clipboard_set_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-image" title="gtk_clipboard_set_image ()">gtk_clipboard_set_image</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-contents" title="gtk_clipboard_request_contents ()">gtk_clipboard_request_contents</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-text" title="gtk_clipboard_request_text ()">gtk_clipboard_request_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-image" title="gtk_clipboard_request_image ()">gtk_clipboard_request_image</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-targets" title="gtk_clipboard_request_targets ()">gtk_clipboard_request_targets</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-rich-text" title="gtk_clipboard_request_rich_text ()">gtk_clipboard_request_rich_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-uris" title="gtk_clipboard_request_uris ()">gtk_clipboard_request_uris</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="returnvalue">GtkSelectionData</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-contents" title="gtk_clipboard_wait_for_contents ()">gtk_clipboard_wait_for_contents</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-text" title="gtk_clipboard_wait_for_text ()">gtk_clipboard_wait_for_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="returnvalue">GdkPixbuf</span></a> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-image" title="gtk_clipboard_wait_for_image ()">gtk_clipboard_wait_for_image</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">guint8</span> * </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-rich-text" title="gtk_clipboard_wait_for_rich_text ()">gtk_clipboard_wait_for_rich_text</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gchar</span> ** </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-uris" title="gtk_clipboard_wait_for_uris ()">gtk_clipboard_wait_for_uris</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="gtk3-Clipboards.html#gtk-clipboard-wait-is-text-available" title="gtk_clipboard_wait_is_text_available ()">gtk_clipboard_wait_is_text_available</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="gtk3-Clipboards.html#gtk-clipboard-wait-is-image-available" title="gtk_clipboard_wait_is_image_available ()">gtk_clipboard_wait_is_image_available</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="gtk3-Clipboards.html#gtk-clipboard-wait-is-rich-text-available" title="gtk_clipboard_wait_is_rich_text_available ()">gtk_clipboard_wait_is_rich_text_available</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="gtk3-Clipboards.html#gtk-clipboard-wait-is-uris-available" title="gtk_clipboard_wait_is_uris_available ()">gtk_clipboard_wait_is_uris_available</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="gtk3-Clipboards.html#gtk-clipboard-wait-for-targets" title="gtk_clipboard_wait_for_targets ()">gtk_clipboard_wait_for_targets</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="gtk3-Clipboards.html#gtk-clipboard-wait-is-target-available" title="gtk_clipboard_wait_is_target_available ()">gtk_clipboard_wait_is_target_available</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-can-store" title="gtk_clipboard_set_can_store ()">gtk_clipboard_set_can_store</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-store" title="gtk_clipboard_store ()">gtk_clipboard_store</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> </td> <td class="function_name"> <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-selection" title="gtk_clipboard_get_selection ()">gtk_clipboard_get_selection</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="gtk3-Clipboards.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="gtk3-Clipboards.html#GtkClipboard-owner-change" title="The “owner-change” signal">owner-change</a></td> <td class="signal_flags">Run First</td> </tr></tbody> </table></div> </div> <a name="GtkClipboard"></a><div class="refsect1"> <a name="gtk3-Clipboards.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="gtk3-Clipboards.html#GtkClipboard-struct" title="GtkClipboard">GtkClipboard</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> <a name="gtk3-Clipboards.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> GObject <span class="lineart">╰──</span> GtkClipboard </pre> </div> <div class="refsect1"> <a name="gtk3-Clipboards.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gtk/gtk.h> </pre> </div> <div class="refsect1"> <a name="gtk3-Clipboards.description"></a><h2>Description</h2> <p>The <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> object represents a clipboard of data shared between different processes or between different widgets in the same process. Each clipboard is identified by a name encoded as a <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a>. (Conversion to and from strings can be done with <a href="../html/gdk3-Properties-and-Atoms.html#gdk-atom-intern"><code class="function">gdk_atom_intern()</code></a> and <a href="../html/gdk3-Properties-and-Atoms.html#gdk-atom-name"><code class="function">gdk_atom_name()</code></a>.) The default clipboard corresponds to the “CLIPBOARD” atom; another commonly used clipboard is the “PRIMARY” clipboard, which, in X, traditionally contains the currently selected text.</p> <p>To support having a number of different formats on the clipboard at the same time, the clipboard mechanism allows providing callbacks instead of the actual data. When you set the contents of the clipboard, you can either supply the data directly (via functions like <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-text" title="gtk_clipboard_set_text ()"><code class="function">gtk_clipboard_set_text()</code></a>), or you can supply a callback to be called at a later time when the data is needed (via <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a> or <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a>.) Providing a callback also avoids having to make copies of the data when it is not needed.</p> <p>gtk_clipboard_set_with_data() and <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a> are quite similar; the choice between the two depends mostly on which is more convenient in a particular situation. The former is most useful when you want to have a blob of data with callbacks to convert it into the various data types that you advertise. When the <em class="parameter"><code>clear_func</code></em> you provided is called, you simply free the data blob. The latter is more useful when the contents of clipboard reflect the internal state of a <span class="type">GObject</span> (As an example, for the PRIMARY clipboard, when an entry widget provides the clipboard’s contents the contents are simply the text within the selected region.) If the contents change, the entry widget can call <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a> to update the timestamp for clipboard ownership, without having to worry about <em class="parameter"><code>clear_func</code></em> being called.</p> <p>Requesting the data from the clipboard is essentially asynchronous. If the contents of the clipboard are provided within the same process, then a direct function call will be made to retrieve the data, but if they are provided by another process, then the data needs to be retrieved from the other process, which may take some time. To avoid blocking the user interface, the call to request the selection, <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-contents" title="gtk_clipboard_request_contents ()"><code class="function">gtk_clipboard_request_contents()</code></a> takes a callback that will be called when the contents are received (or when the request fails.) If you don’t want to deal with providing a separate callback, you can also use <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-contents" title="gtk_clipboard_wait_for_contents ()"><code class="function">gtk_clipboard_wait_for_contents()</code></a>. What this does is run the GLib main loop recursively waiting for the contents. This can simplify the code flow, but you still have to be aware that other callbacks in your program can be called while this recursive mainloop is running.</p> <p>Along with the functions to get the clipboard contents as an arbitrary data chunk, there are also functions to retrieve it as text, <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-text" title="gtk_clipboard_request_text ()"><code class="function">gtk_clipboard_request_text()</code></a> and <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-text" title="gtk_clipboard_wait_for_text ()"><code class="function">gtk_clipboard_wait_for_text()</code></a>. These functions take care of determining which formats are advertised by the clipboard provider, asking for the clipboard in the best available format and converting the results into the UTF-8 encoding. (The standard form for representing strings in GTK+.)</p> </div> <div class="refsect1"> <a name="gtk3-Clipboards.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="GtkClipboardReceivedFunc"></a><h3>GtkClipboardReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *selection_data</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-contents" title="gtk_clipboard_request_contents ()"><code class="function">gtk_clipboard_request_contents()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>selection_data</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> containing the data was received. If retrieving the data failed, then then length field of <em class="parameter"><code>selection_data</code></em> will be negative.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-contents" title="gtk_clipboard_request_contents ()"><code class="function">gtk_clipboard_request_contents()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkClipboardTextReceivedFunc"></a><h3>GtkClipboardTextReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardTextReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *text</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-text" title="gtk_clipboard_request_text ()"><code class="function">gtk_clipboard_request_text()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardTextReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>text</p></td> <td class="parameter_description"><p>the text received, as a UTF-8 encoded string, or <code class="literal">NULL</code> if retrieving the data failed. </p></td> <td class="parameter_annotations"><span class="annotation">[<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>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-text" title="gtk_clipboard_request_text ()"><code class="function">gtk_clipboard_request_text()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkClipboardImageReceivedFunc"></a><h3>GtkClipboardImageReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardImageReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-image" title="gtk_clipboard_request_image ()"><code class="function">gtk_clipboard_request_image()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardImageReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pixbuf</p></td> <td class="parameter_description"><p>the received image</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-image" title="gtk_clipboard_request_image ()"><code class="function">gtk_clipboard_request_image()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="GtkClipboardTargetsReceivedFunc"></a><h3>GtkClipboardTargetsReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardTargetsReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> *atoms</code></em>, <em class="parameter"><code><span class="type">gint</span> n_atoms</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-targets" title="gtk_clipboard_request_targets ()"><code class="function">gtk_clipboard_request_targets()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardTargetsReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>atoms</p></td> <td class="parameter_description"><p>the supported targets, as array of <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a>, or <code class="literal">NULL</code> if retrieving the data failed. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_atoms]</span></td> </tr> <tr> <td class="parameter_name"><p>n_atoms</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>atoms</code></em> array.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-targets" title="gtk_clipboard_request_targets ()"><code class="function">gtk_clipboard_request_targets()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="GtkClipboardRichTextReceivedFunc"></a><h3>GtkClipboardRichTextReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardRichTextReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>, <em class="parameter"><code>const <span class="type">guint8</span> *text</code></em>, <em class="parameter"><code><span class="type">gsize</span> length</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-rich-text" title="gtk_clipboard_request_rich_text ()"><code class="function">gtk_clipboard_request_rich_text()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardRichTextReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>The format of the rich text</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>text</p></td> <td class="parameter_description"><p>the rich text received, as a UTF-8 encoded string, or <code class="literal">NULL</code> if retrieving the data failed. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></td> </tr> <tr> <td class="parameter_name"><p>length</p></td> <td class="parameter_description"><p>Length of the text.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-rich-text" title="gtk_clipboard_request_rich_text ()"><code class="function">gtk_clipboard_request_rich_text()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="GtkClipboardURIReceivedFunc"></a><h3>GtkClipboardURIReceivedFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardURIReceivedFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><span class="type">gchar</span> **uris</code></em>, <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre> <p>A function to be called when the results of <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-uris" title="gtk_clipboard_request_uris ()"><code class="function">gtk_clipboard_request_uris()</code></a> are received, or when the request fails.</p> <div class="refsect3"> <a name="GtkClipboardURIReceivedFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>uris</p></td> <td class="parameter_description"><p>the received URIs. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> supplied to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-request-uris" title="gtk_clipboard_request_uris ()"><code class="function">gtk_clipboard_request_uris()</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="GtkClipboardGetFunc"></a><h3>GtkClipboardGetFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardGetFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> *selection_data</code></em>, <em class="parameter"><code><span class="type">guint</span> info</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data_or_owner</code></em>);</pre> <p>A function that will be called to provide the contents of the selection. If multiple types of data were advertised, the requested type can be determined from the <em class="parameter"><code>info</code></em> parameter or by checking the target field of <em class="parameter"><code>selection_data</code></em> . If the data could successfully be converted into then it should be stored into the <em class="parameter"><code>selection_data</code></em> object by calling <a class="link" href="gtk3-Selections.html#gtk-selection-data-set" title="gtk_selection_data_set ()"><code class="function">gtk_selection_data_set()</code></a> (or related functions such as <a class="link" href="gtk3-Selections.html#gtk-selection-data-set-text" title="gtk_selection_data_set_text ()"><code class="function">gtk_selection_data_set_text()</code></a>). If no data is set, the requestor will be informed that the attempt to get the data failed.</p> <div class="refsect3"> <a name="GtkClipboardGetFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>selection_data</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> argument in which the requested data should be stored.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>the info field corresponding to the requested target from the <a class="link" href="gtk3-Selections.html#GtkTargetEntry" title="struct GtkTargetEntry"><span class="type">GtkTargetEntry</span></a> array passed to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a> or <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data_or_owner</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> argument passed to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a>, or the <em class="parameter"><code>owner</code></em> argument passed to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GtkClipboardClearFunc"></a><h3>GtkClipboardClearFunc ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> <span class="c_punctuation">(</span>*GtkClipboardClearFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data_or_owner</code></em>);</pre> <p>A function that will be called when the contents of the clipboard are changed or cleared. Once this has called, the <em class="parameter"><code>user_data_or_owner</code></em> argument will not be used again.</p> <div class="refsect3"> <a name="GtkClipboardClearFunc.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data_or_owner</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>user_data</code></em> argument passed to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a>, or the <em class="parameter"><code>owner</code></em> argument passed to <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get"></a><h3>gtk_clipboard_get ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * gtk_clipboard_get (<em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> selection</code></em>);</pre> <p>Returns the clipboard object for the given selection. See <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-get-for-display" title="gtk_clipboard_get_for_display ()"><code class="function">gtk_clipboard_get_for_display()</code></a> for complete details.</p> <div class="refsect3"> <a name="gtk-clipboard-get.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>selection</p></td> <td class="parameter_description"><p>a <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> which identifies the clipboard to use</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get.returns"></a><h4>Returns</h4> <p>the appropriate clipboard object. If no clipboard already exists, a new one will be created. Once a clipboard object has been created, it is persistent and, since it is owned by GTK+, must not be freed or unreffed. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get-for-display"></a><h3>gtk_clipboard_get_for_display ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * gtk_clipboard_get_for_display (<em class="parameter"><code><a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> *display</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> selection</code></em>);</pre> <p>Returns the clipboard object for the given selection. Cut/copy/paste menu items and keyboard shortcuts should use the default clipboard, returned by passing <a href="../html/gdk3-Selections.html#GDK-SELECTION-CLIPBOARD:CAPS"><code class="literal">GDK_SELECTION_CLIPBOARD</code></a> for <em class="parameter"><code>selection</code></em> . (<a href="../html/gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS"><code class="literal">GDK_NONE</code></a> is supported as a synonym for GDK_SELECTION_CLIPBOARD for backwards compatibility reasons.) The currently-selected object or text should be provided on the clipboard identified by <a href="../html/gdk3-Selections.html#GDK-SELECTION-PRIMARY:CAPS"><span class="type">GDK_SELECTION_PRIMARY</span></a>. Cut/copy/paste menu items conceptually copy the contents of the <a href="../html/gdk3-Selections.html#GDK-SELECTION-PRIMARY:CAPS"><span class="type">GDK_SELECTION_PRIMARY</span></a> clipboard to the default clipboard, i.e. they copy the selection to what the user sees as the clipboard.</p> <p>(Passing <a href="../html/gdk3-Properties-and-Atoms.html#GDK-NONE:CAPS"><span class="type">GDK_NONE</span></a> is the same as using <code class="literal">gdk_atom_intern ("CLIPBOARD", FALSE)</code>.</p> <p>See the <a class="ulink" href="http://www.freedesktop.org/Standards/clipboards-spec" target="_top">FreeDesktop Clipboard Specification</a> for a detailed discussion of the “CLIPBOARD” vs. “PRIMARY” selections under the X window system. On Win32 the <a href="../html/gdk3-Selections.html#GDK-SELECTION-PRIMARY:CAPS"><span class="type">GDK_SELECTION_PRIMARY</span></a> clipboard is essentially ignored.)</p> <p>It’s possible to have arbitrary named clipboards; if you do invent new clipboards, you should prefix the selection name with an underscore (because the ICCCM requires that nonstandard atoms are underscore-prefixed), and namespace it as well. For example, if your application called “Foo” has a special-purpose clipboard, you might call it “_FOO_SPECIAL_CLIPBOARD”.</p> <div class="refsect3"> <a name="gtk-clipboard-get-for-display.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>display</p></td> <td class="parameter_description"><p>the <a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> for which the clipboard is to be retrieved or created.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>selection</p></td> <td class="parameter_description"><p>a <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> which identifies the clipboard to use.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get-for-display.returns"></a><h4>Returns</h4> <p>the appropriate clipboard object. If no clipboard already exists, a new one will be created. Once a clipboard object has been created, it is persistent and, since it is owned by GTK+, must not be freed or unrefd. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get-display"></a><h3>gtk_clipboard_get_display ()</h3> <pre class="programlisting"><a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="returnvalue">GdkDisplay</span></a> * gtk_clipboard_get_display (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Gets the <a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> associated with <em class="parameter"><code>clipboard</code></em> </p> <div class="refsect3"> <a name="gtk-clipboard-get-display.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get-display.returns"></a><h4>Returns</h4> <p>the <a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> associated with <em class="parameter"><code>clipboard</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 2.2</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get-default"></a><h3>gtk_clipboard_get_default ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="returnvalue">GtkClipboard</span></a> * gtk_clipboard_get_default (<em class="parameter"><code><a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> *display</code></em>);</pre> <p>Returns the default clipboard object for use with cut/copy/paste menu items and keyboard shortcuts.</p> <div class="refsect3"> <a name="gtk-clipboard-get-default.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>display</p></td> <td class="parameter_description"><p>the <a href="../html/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> for which the clipboard is to be retrieved.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get-default.returns"></a><h4>Returns</h4> <p>the default clipboard object. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-3-16.html#api-index-3.16">3.16</a></p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-set-with-data"></a><h3>gtk_clipboard_set_with_data ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_set_with_data (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code>const <a class="link" href="gtk3-Selections.html#GtkTargetEntry" title="struct GtkTargetEntry"><span class="type">GtkTargetEntry</span></a> *targets</code></em>, <em class="parameter"><code><span class="type">guint</span> n_targets</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardGetFunc" title="GtkClipboardGetFunc ()"><span class="type">GtkClipboardGetFunc</span></a> get_func</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardClearFunc" title="GtkClipboardClearFunc ()"><span class="type">GtkClipboardClearFunc</span></a> clear_func</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Virtually sets the contents of the specified clipboard by providing a list of supported formats for the clipboard data and a function to call to get the actual data when it is requested.</p> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="gtk-clipboard-set-with-data.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>targets</p></td> <td class="parameter_description"><p>array containing information about the available forms for the clipboard data. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_targets]</span></td> </tr> <tr> <td class="parameter_name"><p>n_targets</p></td> <td class="parameter_description"><p>number of elements in <em class="parameter"><code>targets</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>get_func</p></td> <td class="parameter_description"><p>function to call to get the actual clipboard data. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>clear_func</p></td> <td class="parameter_description"><p>when the clipboard contents are set again, this function will be called, and <em class="parameter"><code>get_func</code></em> will not be subsequently called. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>get_func</code></em> and <em class="parameter"><code>clear_func</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-set-with-data.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> if setting the clipboard data succeeded. If setting the clipboard data failed the provided callback functions will be ignored.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-set-with-owner"></a><h3>gtk_clipboard_set_with_owner ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_set_with_owner (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code>const <a class="link" href="gtk3-Selections.html#GtkTargetEntry" title="struct GtkTargetEntry"><span class="type">GtkTargetEntry</span></a> *targets</code></em>, <em class="parameter"><code><span class="type">guint</span> n_targets</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardGetFunc" title="GtkClipboardGetFunc ()"><span class="type">GtkClipboardGetFunc</span></a> get_func</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardClearFunc" title="GtkClipboardClearFunc ()"><span class="type">GtkClipboardClearFunc</span></a> clear_func</code></em>, <em class="parameter"><code><span class="type">GObject</span> *owner</code></em>);</pre> <p>Virtually sets the contents of the specified clipboard by providing a list of supported formats for the clipboard data and a function to call to get the actual data when it is requested.</p> <p>The difference between this function and <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a> is that instead of an generic <em class="parameter"><code>user_data</code></em> pointer, a <span class="type">GObject</span> is passed in.</p> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="gtk-clipboard-set-with-owner.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>targets</p></td> <td class="parameter_description"><p>array containing information about the available forms for the clipboard data. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_targets]</span></td> </tr> <tr> <td class="parameter_name"><p>n_targets</p></td> <td class="parameter_description"><p>number of elements in <em class="parameter"><code>targets</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>get_func</p></td> <td class="parameter_description"><p>function to call to get the actual clipboard data. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>clear_func</p></td> <td class="parameter_description"><p>when the clipboard contents are set again, this function will be called, and <em class="parameter"><code>get_func</code></em> will not be subsequently called. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>owner</p></td> <td class="parameter_description"><p>an object that “owns” the data. This object will be passed to the callbacks when called</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-set-with-owner.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> if setting the clipboard data succeeded. If setting the clipboard data failed the provided callback functions will be ignored.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get-owner"></a><h3>gtk_clipboard_get_owner ()</h3> <pre class="programlisting"><span class="returnvalue">GObject</span> * gtk_clipboard_get_owner (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>If the clipboard contents callbacks were set with <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a>, and the <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a> or <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-clear" title="gtk_clipboard_clear ()"><code class="function">gtk_clipboard_clear()</code></a> has not subsequently called, returns the owner set by <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a>.</p> <div class="refsect3"> <a name="gtk-clipboard-get-owner.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get-owner.returns"></a><h4>Returns</h4> <p>the owner of the clipboard, if any; otherwise <code class="literal">NULL</code>. </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-clear"></a><h3>gtk_clipboard_clear ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_clear (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Clears the contents of the clipboard. Generally this should only be called between the time you call <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-owner" title="gtk_clipboard_set_with_owner ()"><code class="function">gtk_clipboard_set_with_owner()</code></a> or <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-set-with-data" title="gtk_clipboard_set_with_data ()"><code class="function">gtk_clipboard_set_with_data()</code></a>, and when the <em class="parameter"><code>clear_func</code></em> you supplied is called. Otherwise, the clipboard may be owned by someone else.</p> <div class="refsect3"> <a name="gtk-clipboard-clear.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-set-text"></a><h3>gtk_clipboard_set_text ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_set_text (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *text</code></em>, <em class="parameter"><code><span class="type">gint</span> len</code></em>);</pre> <p>Sets the contents of the clipboard to the given UTF-8 string. GTK+ will make a copy of the text and take responsibility for responding for requests for the text, and for converting the text into the requested format.</p> <div class="refsect3"> <a name="gtk-clipboard-set-text.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> object</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>text</p></td> <td class="parameter_description"><p>a UTF-8 string.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>len</p></td> <td class="parameter_description"><p>length of <em class="parameter"><code>text</code></em> , in bytes, or -1, in which case the length will be determined with <code class="function">strlen()</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-set-image"></a><h3>gtk_clipboard_set_image ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_set_image (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre> <p>Sets the contents of the clipboard to the given <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a>. GTK+ will take responsibility for responding for requests for the image, and for converting the image into the requested format.</p> <div class="refsect3"> <a name="gtk-clipboard-set-image.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> object</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pixbuf</p></td> <td class="parameter_description"><p>a <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-contents"></a><h3>gtk_clipboard_request_contents ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_contents (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> target</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardReceivedFunc" title="GtkClipboardReceivedFunc ()"><span class="type">GtkClipboardReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of clipboard as the given target. When the results of the result are later received the supplied callback will be called.</p> <div class="refsect3"> <a name="gtk-clipboard-request-contents.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>target</p></td> <td class="parameter_description"><p>an atom representing the form into which the clipboard owner should convert the selection.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>A function to call when the results are received (or the retrieval fails). If the retrieval fails the length field of <em class="parameter"><code>selection_data</code></em> will be negative. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-text"></a><h3>gtk_clipboard_request_text ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_text (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardTextReceivedFunc" title="GtkClipboardTextReceivedFunc ()"><span class="type">GtkClipboardTextReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of the clipboard as text. When the text is later received, it will be converted to UTF-8 if necessary, and <em class="parameter"><code>callback</code></em> will be called.</p> <p>The <em class="parameter"><code>text</code></em> parameter to <em class="parameter"><code>callback</code></em> will contain the resulting text if the request succeeded, or <code class="literal">NULL</code> if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form.</p> <div class="refsect3"> <a name="gtk-clipboard-request-text.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-image"></a><h3>gtk_clipboard_request_image ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_image (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardImageReceivedFunc" title="GtkClipboardImageReceivedFunc ()"><span class="type">GtkClipboardImageReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of the clipboard as image. When the image is later received, it will be converted to a <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a>, and <em class="parameter"><code>callback</code></em> will be called.</p> <p>The <em class="parameter"><code>pixbuf</code></em> parameter to <em class="parameter"><code>callback</code></em> will contain the resulting <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a> if the request succeeded, or <code class="literal">NULL</code> if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into an image.</p> <div class="refsect3"> <a name="gtk-clipboard-request-image.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>a function to call when the image is received, or the retrieval fails. (It will always be called one way or the other.). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-targets"></a><h3>gtk_clipboard_request_targets ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_targets (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardTargetsReceivedFunc" title="GtkClipboardTargetsReceivedFunc ()"><span class="type">GtkClipboardTargetsReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of the clipboard as list of supported targets. When the list is later received, <em class="parameter"><code>callback</code></em> will be called.</p> <p>The <em class="parameter"><code>targets</code></em> parameter to <em class="parameter"><code>callback</code></em> will contain the resulting targets if the request succeeded, or <code class="literal">NULL</code> if it failed.</p> <div class="refsect3"> <a name="gtk-clipboard-request-targets.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>a function to call when the targets are received, or the retrieval fails. (It will always be called one way or the other.). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-rich-text"></a><h3>gtk_clipboard_request_rich_text ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_rich_text (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardRichTextReceivedFunc" title="GtkClipboardRichTextReceivedFunc ()"><span class="type">GtkClipboardRichTextReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of the clipboard as rich text. When the rich text is later received, <em class="parameter"><code>callback</code></em> will be called.</p> <p>The <em class="parameter"><code>text</code></em> parameter to <em class="parameter"><code>callback</code></em> will contain the resulting rich text if the request succeeded, or <code class="literal">NULL</code> if it failed. The <em class="parameter"><code>length</code></em> parameter will contain <em class="parameter"><code>text</code></em> ’s length. This function can fail for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into rich text form.</p> <div class="refsect3"> <a name="gtk-clipboard-request-rich-text.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-request-uris"></a><h3>gtk_clipboard_request_uris ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_request_uris (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboardURIReceivedFunc" title="GtkClipboardURIReceivedFunc ()"><span class="type">GtkClipboardURIReceivedFunc</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Requests the contents of the clipboard as URIs. When the URIs are later received <em class="parameter"><code>callback</code></em> will be called.</p> <p>The <em class="parameter"><code>uris</code></em> parameter to <em class="parameter"><code>callback</code></em> will contain the resulting array of URIs if the request succeeded, or <code class="literal">NULL</code> if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into URI form.</p> <div class="refsect3"> <a name="gtk-clipboard-request-uris.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>a function to call when the URIs are received, or the retrieval fails. (It will always be called one way or the other.). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-contents"></a><h3>gtk_clipboard_wait_for_contents ()</h3> <pre class="programlisting"><a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="returnvalue">GtkSelectionData</span></a> * gtk_clipboard_wait_for_contents (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> target</code></em>);</pre> <p>Requests the contents of the clipboard using the given target. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-contents.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>target</p></td> <td class="parameter_description"><p>an atom representing the form into which the clipboard owner should convert the selection.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-contents.returns"></a><h4>Returns</h4> <p>a newly-allocated <a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a> object or <code class="literal">NULL</code> if retrieving the given target failed. If non-<code class="literal">NULL</code>, this value must be freed with <a class="link" href="gtk3-Selections.html#gtk-selection-data-free" title="gtk_selection_data_free ()"><code class="function">gtk_selection_data_free()</code></a> when you are finished with it. </p> <p><span class="annotation">[<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></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-text"></a><h3>gtk_clipboard_wait_for_text ()</h3> <pre class="programlisting"><span class="returnvalue">gchar</span> * gtk_clipboard_wait_for_text (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Requests the contents of the clipboard as text and converts the result to UTF-8 if necessary. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-text.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-text.returns"></a><h4>Returns</h4> <p>a newly-allocated UTF-8 string which must be freed with <code class="function">g_free()</code>, or <code class="literal">NULL</code> if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form.). </p> <p><span class="annotation">[<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></p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-image"></a><h3>gtk_clipboard_wait_for_image ()</h3> <pre class="programlisting"><a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="returnvalue">GdkPixbuf</span></a> * gtk_clipboard_wait_for_image (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Requests the contents of the clipboard as image and converts the result to a <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a>. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-image.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-image.returns"></a><h4>Returns</h4> <p>a newly-allocated <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a> object which must be disposed with <code class="function">g_object_unref()</code>, or <code class="literal">NULL</code> if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into an image.). </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-rich-text"></a><h3>gtk_clipboard_wait_for_rich_text ()</h3> <pre class="programlisting"><span class="returnvalue">guint8</span> * gtk_clipboard_wait_for_rich_text (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> *format</code></em>, <em class="parameter"><code><span class="type">gsize</span> *length</code></em>);</pre> <p>Requests the contents of the clipboard as rich text. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-rich-text.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>return location for the format of the returned data. </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>]</span></td> </tr> <tr> <td class="parameter_name"><p>length</p></td> <td class="parameter_description"><p>return location for the length of the returned data. </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>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-rich-text.returns"></a><h4>Returns</h4> <p>a newly-allocated binary block of data which must be freed with <code class="function">g_free()</code>, or <code class="literal">NULL</code> if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form.). </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-uris"></a><h3>gtk_clipboard_wait_for_uris ()</h3> <pre class="programlisting"><span class="returnvalue">gchar</span> ** gtk_clipboard_wait_for_uris (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Requests the contents of the clipboard as URIs. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-uris.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-uris.returns"></a><h4>Returns</h4> <p>a newly-allocated <code class="literal">NULL</code>-terminated array of strings which must be freed with <code class="function">g_strfreev()</code>, or <code class="literal">NULL</code> if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into URI form.). </p> <p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-is-text-available"></a><h3>gtk_clipboard_wait_is_text_available ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_is_text_available (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Test to see if there is text available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported text targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <p>This function is a little faster than calling <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-text" title="gtk_clipboard_wait_for_text ()"><code class="function">gtk_clipboard_wait_for_text()</code></a> since it doesn’t need to retrieve the actual text.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-is-text-available.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-is-text-available.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> is there is text available, <code class="literal">FALSE</code> otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-is-image-available"></a><h3>gtk_clipboard_wait_is_image_available ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_is_image_available (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Test to see if there is an image available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported image targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <p>This function is a little faster than calling <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-image" title="gtk_clipboard_wait_for_image ()"><code class="function">gtk_clipboard_wait_for_image()</code></a> since it doesn’t need to retrieve the actual image data.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-is-image-available.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-is-image-available.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> is there is an image available, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-is-rich-text-available"></a><h3>gtk_clipboard_wait_is_rich_text_available ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_is_rich_text_available (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre> <p>Test to see if there is rich text available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported rich text targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <p>This function is a little faster than calling <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-rich-text" title="gtk_clipboard_wait_for_rich_text ()"><code class="function">gtk_clipboard_wait_for_rich_text()</code></a> since it doesn’t need to retrieve the actual text.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-is-rich-text-available.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-is-rich-text-available.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> is there is rich text available, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: 2.10</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-is-uris-available"></a><h3>gtk_clipboard_wait_is_uris_available ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_is_uris_available (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Test to see if there is a list of URIs available to be pasted This is done by requesting the TARGETS atom and checking if it contains the URI targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <p>This function is a little faster than calling <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-for-uris" title="gtk_clipboard_wait_for_uris ()"><code class="function">gtk_clipboard_wait_for_uris()</code></a> since it doesn’t need to retrieve the actual URI data.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-is-uris-available.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-is-uris-available.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> is there is an URI list available, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: 2.14</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-for-targets"></a><h3>gtk_clipboard_wait_for_targets ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_for_targets (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> **targets</code></em>, <em class="parameter"><code><span class="type">gint</span> *n_targets</code></em>);</pre> <p>Returns a list of targets that are present on the clipboard, or <code class="literal">NULL</code> if there aren’t any targets available. The returned list must be freed with <code class="function">g_free()</code>. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-for-targets.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>targets</p></td> <td class="parameter_description"><p>location to store an array of targets. The result stored here must be freed with <code class="function">g_free()</code>. </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="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_targets][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>n_targets</p></td> <td class="parameter_description"><p>location to store number of items in <em class="parameter"><code>targets</code></em> . </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>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-for-targets.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> if any targets are present on the clipboard, otherwise <code class="literal">FALSE</code>.</p> </div> <p class="since">Since: 2.4</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-wait-is-target-available"></a><h3>gtk_clipboard_wait_is_target_available ()</h3> <pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_clipboard_wait_is_target_available (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> target</code></em>);</pre> <p>Checks if a clipboard supports pasting data of a given type. This function can be used to determine if a “Paste” menu item should be insensitive or not.</p> <p>If you want to see if there’s text available on the clipboard, use <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-wait-is-text-available" title="gtk_clipboard_wait_is_text_available ()"><code class="function">gtk_clipboard_wait_is_text_available()</code></a> instead.</p> <div class="refsect3"> <a name="gtk-clipboard-wait-is-target-available.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>target</p></td> <td class="parameter_description"><p>A <a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> indicating which target to look for.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-wait-is-target-available.returns"></a><h4>Returns</h4> <p> <code class="literal">TRUE</code> if the target is available, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-set-can-store"></a><h3>gtk_clipboard_set_can_store ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_set_can_store (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>, <em class="parameter"><code>const <a class="link" href="gtk3-Selections.html#GtkTargetEntry" title="struct GtkTargetEntry"><span class="type">GtkTargetEntry</span></a> *targets</code></em>, <em class="parameter"><code><span class="type">gint</span> n_targets</code></em>);</pre> <p>Hints that the clipboard data should be stored somewhere when the application exits or when <a class="link" href="gtk3-Clipboards.html#gtk-clipboard-store" title="gtk_clipboard_store ()"><code class="function">gtk_clipboard_store()</code></a> is called.</p> <p>This value is reset when the clipboard owner changes. Where the clipboard data is stored is platform dependent, see <a href="../html/GdkDisplay.html#gdk-display-store-clipboard"><code class="function">gdk_display_store_clipboard()</code></a> for more information.</p> <div class="refsect3"> <a name="gtk-clipboard-set-can-store.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>targets</p></td> <td class="parameter_description"><p>array containing information about which forms should be stored or <code class="literal">NULL</code> to indicate that all forms should be stored. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_targets]</span></td> </tr> <tr> <td class="parameter_name"><p>n_targets</p></td> <td class="parameter_description"><p>number of elements in <em class="parameter"><code>targets</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-store"></a><h3>gtk_clipboard_store ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_clipboard_store (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Stores the current clipboard data somewhere so that it will stay around after the application has quit.</p> <div class="refsect3"> <a name="gtk-clipboard-store.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <p class="since">Since: 2.6</p> </div> <hr> <div class="refsect2"> <a name="gtk-clipboard-get-selection"></a><h3>gtk_clipboard_get_selection ()</h3> <pre class="programlisting"><a href="../html/gdk3-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> gtk_clipboard_get_selection (<em class="parameter"><code><a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre> <p>Gets the selection that this clipboard is for.</p> <div class="refsect3"> <a name="gtk-clipboard-get-selection.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>clipboard</p></td> <td class="parameter_description"><p>a <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-clipboard-get-selection.returns"></a><h4>Returns</h4> <p> the selection</p> </div> <p class="since">Since: <a class="link" href="api-index-3-22.html#api-index-3.22">3.22</a></p> </div> </div> <div class="refsect1"> <a name="gtk3-Clipboards.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GtkClipboard-struct"></a><h3>GtkClipboard</h3> <pre class="programlisting">typedef struct _GtkClipboard GtkClipboard;</pre> </div> </div> <div class="refsect1"> <a name="gtk3-Clipboards.signal-details"></a><h2>Signal Details</h2> <div class="refsect2"> <a name="GtkClipboard-owner-change"></a><h3>The <code class="literal">“owner-change”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard, <a href="../html/gdk3-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> *event, <span class="type">gpointer</span> user_data)</pre> <p>The ::owner-change signal is emitted when GTK+ receives an event that indicates that the ownership of the selection associated with <em class="parameter"><code>clipboard</code></em> has changed.</p> <div class="refsect3"> <a name="GtkClipboard-owner-change.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>clipboard</p></td> <td class="parameter_description"><p>the <a class="link" href="gtk3-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>event</p></td> <td class="parameter_description"><p>the <em class="parameter"><code>GdkEventOwnerChange</code></em> event. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gdk.EventOwnerChange]</span></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 First</p> <p class="since">Since: 2.6</p> </div> </div> <div class="refsect1"> <a name="gtk3-Clipboards.see-also"></a><h2>See Also</h2> <p><a class="link" href="gtk3-Selections.html#GtkSelectionData"><span class="type">GtkSelectionData</span></a></p> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.29</div> </body> </html>