New upstream version 3.22.28

This commit is contained in:
Jeremy Bicha
2018-02-15 04:41:25 -05:00
652 changed files with 498643 additions and 49781 deletions

View File

@ -8,7 +8,7 @@
<link rel="up" href="gtk-migrating-2-to-3.html" title="Migrating from GTK+ 2.x to GTK+ 3">
<link rel="prev" href="gtk-migrating-2-to-3.html" title="Migrating from GTK+ 2.x to GTK+ 3">
<link rel="next" href="gtk-migrating-GtkStyleContext.html" title="Theming changes">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -63,17 +63,17 @@
9
10
11</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_class_init</span> <span class="gtkdoc opt">(</span>MyWidgetClass <span class="gtkdoc opt">*</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkWidgetClass <span class="gtkdoc opt">*</span>widget_class <span class="gtkdoc opt">=</span> <span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">);</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">MyWidgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkWidgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
<span class="comment">/* ... */</span>
<span class="normal"> </span><span class="comment">/* ... */</span>
widget_class<span class="gtkdoc opt">-&gt;</span>size_request <span class="gtkdoc opt">=</span> my_widget_size_request<span class="gtkdoc opt">;</span>
<span class="normal"> widget_class</span><span class="symbol">-&gt;</span><span class="normal">size_request </span><span class="symbol">=</span><span class="normal"> my_widget_size_request</span><span class="symbol">;</span>
<span class="comment">/* ... */</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="normal"> </span><span class="comment">/* ... */</span>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -129,45 +129,45 @@
37
38
39</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_get_preferred_width</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimal_width<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural_width<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkRequisition requisition<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_get_preferred_width</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_width</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_width</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkRequisition</span><span class="normal"> requisition</span><span class="symbol">;</span>
<span class="function">my_widget_size_request</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">, &amp;</span>requisition<span class="gtkdoc opt">);</span>
<span class="normal"> </span><span class="function">my_widget_size_request</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">requisition</span><span class="symbol">);</span>
<span class="gtkdoc opt">*</span>minimal_width <span class="gtkdoc opt">= *</span>natural_width <span class="gtkdoc opt">=</span> requisition<span class="gtkdoc opt">.</span>width<span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">}</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_width </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_width </span><span class="symbol">=</span><span class="normal"> requisition</span><span class="symbol">.</span><span class="normal">width</span><span class="symbol">;</span>
<span class="cbracket">}</span>
<span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_get_preferred_height</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimal_height<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural_height<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkRequisition requisition<span class="gtkdoc opt">;</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_get_preferred_height</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_height</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_height</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkRequisition</span><span class="normal"> requisition</span><span class="symbol">;</span>
<span class="function">my_widget_size_request</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">, &amp;</span>requisition<span class="gtkdoc opt">);</span>
<span class="normal"> </span><span class="function">my_widget_size_request</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">requisition</span><span class="symbol">);</span>
<span class="gtkdoc opt">*</span>minimal_height <span class="gtkdoc opt">= *</span>natural_height <span class="gtkdoc opt">=</span> requisition<span class="gtkdoc opt">.</span>height<span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">}</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_height </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_height </span><span class="symbol">=</span><span class="normal"> requisition</span><span class="symbol">.</span><span class="normal">height</span><span class="symbol">;</span>
<span class="cbracket">}</span>
<span class="comment">/* ... */</span>
<span class="normal"> </span><span class="comment">/* ... */</span>
<span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_class_init</span> <span class="gtkdoc opt">(</span>MyWidgetClass <span class="gtkdoc opt">*</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkWidgetClass <span class="gtkdoc opt">*</span>widget_class <span class="gtkdoc opt">=</span> <span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">);</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">MyWidgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkWidgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
<span class="comment">/* ... */</span>
<span class="normal"> </span><span class="comment">/* ... */</span>
widget_class<span class="gtkdoc opt">-&gt;</span>get_preferred_width <span class="gtkdoc opt">=</span> my_widget_get_preferred_width<span class="gtkdoc opt">;</span>
widget_class<span class="gtkdoc opt">-&gt;</span>get_preferred_height <span class="gtkdoc opt">=</span> my_widget_get_preferred_height<span class="gtkdoc opt">;</span>
<span class="normal"> widget_class</span><span class="symbol">-&gt;</span><span class="normal">get_preferred_width </span><span class="symbol">=</span><span class="normal"> my_widget_get_preferred_width</span><span class="symbol">;</span>
<span class="normal"> widget_class</span><span class="symbol">-&gt;</span><span class="normal">get_preferred_height </span><span class="symbol">=</span><span class="normal"> my_widget_get_preferred_height</span><span class="symbol">;</span>
<span class="comment">/* ... */</span>
<span class="normal"> </span><span class="comment">/* ... */</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -232,52 +232,52 @@
44
45
46</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_get_preferred_size</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
GtkOrientation orientation<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimal_size<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural_size<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_get_preferred_size</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkOrientation</span><span class="normal"> orientation</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_size</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_size</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="comment">/* do things that are common for both orientations ... */</span>
<span class="normal"> </span><span class="comment">/* do things that are common for both orientations ... */</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>orientation <span class="gtkdoc opt">==</span> GTK_ORIENTATION_HORIZONTAL<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* do stuff that only applies to width... */</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">orientation </span><span class="symbol">==</span><span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-ORIENTATION-HORIZONTAL:CAPS">GTK_ORIENTATION_HORIZONTAL</a></span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* do stuff that only applies to width... */</span>
<span class="gtkdoc opt">*</span>minimal_size <span class="gtkdoc opt">= *</span>natural_size <span class="gtkdoc opt">= ...</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* do stuff that only applies to height... */</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_size </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_size </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="normal"> </span><span class="keyword">else</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* do stuff that only applies to height... */</span>
<span class="gtkdoc opt">*</span>minimal_size <span class="gtkdoc opt">= *</span>natural_size <span class="gtkdoc opt">= ...</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">}</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_size </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_size </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="cbracket">}</span>
<span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_get_preferred_width</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimal_width<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural_width<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="function">my_widget_get_preferred_size</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span>
GTK_ORIENTATION_HORIZONTAL<span class="gtkdoc opt">,</span>
minimal_width<span class="gtkdoc opt">,</span>
natural_width<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_get_preferred_width</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_width</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_width</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="function">my_widget_get_preferred_size</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-ORIENTATION-HORIZONTAL:CAPS">GTK_ORIENTATION_HORIZONTAL</a></span><span class="symbol">,</span>
<span class="normal"> minimal_width</span><span class="symbol">,</span>
<span class="normal"> natural_width</span><span class="symbol">);</span>
<span class="cbracket">}</span>
<span class="gtkdoc kwb">static void</span>
<span class="function">my_widget_get_preferred_height</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimal_height<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural_height<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="function">my_widget_get_preferred_size</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span>
GTK_ORIENTATION_VERTICAL<span class="gtkdoc opt">,</span>
minimal_height<span class="gtkdoc opt">,</span>
natural_height<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">my_widget_get_preferred_height</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimal_height</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural_height</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="function">my_widget_get_preferred_size</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> <a href="gtk3-Standard-Enumerations.html#GTK-ORIENTATION-VERTICAL:CAPS">GTK_ORIENTATION_VERTICAL</a></span><span class="symbol">,</span>
<span class="normal"> minimal_height</span><span class="symbol">,</span>
<span class="normal"> natural_height</span><span class="symbol">);</span>
<span class="cbracket">}</span>
<span class="comment">/* ... */</span></pre></td>
<span class="normal"> </span><span class="comment">/* ... */</span></pre></td>
</tr>
</tbody>
</table>
@ -333,33 +333,33 @@
25
26
27</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">gtk_fixed_get_preferred_height</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>minimum<span class="gtkdoc opt">,</span>
gint <span class="gtkdoc opt">*</span>natural<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkFixed <span class="gtkdoc opt">*</span>fixed <span class="gtkdoc opt">=</span> <span class="function">GTK_FIXED</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span>
GtkFixedPrivate <span class="gtkdoc opt">*</span>priv <span class="gtkdoc opt">=</span> fixed<span class="gtkdoc opt">-&gt;</span>priv<span class="gtkdoc opt">;</span>
GtkFixedChild <span class="gtkdoc opt">*</span>child<span class="gtkdoc opt">;</span>
GList <span class="gtkdoc opt">*</span>children<span class="gtkdoc opt">;</span>
gint child_min<span class="gtkdoc opt">,</span> child_nat<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">gtk_fixed_get_preferred_height</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">minimum</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">natural</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkFixed</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">fixed </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_FIXED</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">);</span>
<span class="normal"> </span><span class="usertype">GtkFixedPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> fixed</span><span class="symbol">-&gt;</span><span class="normal">priv</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GtkFixedChild</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">child</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">children</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> child_min</span><span class="symbol">,</span><span class="normal"> child_nat</span><span class="symbol">;</span>
<span class="gtkdoc opt">*</span>minimum <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span>
<span class="gtkdoc opt">*</span>natural <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimum </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">natural </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
<span class="keyword">for</span> <span class="gtkdoc opt">(</span>children <span class="gtkdoc opt">=</span> priv<span class="gtkdoc opt">-&gt;</span>children<span class="gtkdoc opt">;</span> children<span class="gtkdoc opt">;</span> children <span class="gtkdoc opt">=</span> children<span class="gtkdoc opt">-&gt;</span>next<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
child <span class="gtkdoc opt">=</span> children<span class="gtkdoc opt">-&gt;</span>data<span class="gtkdoc opt">;</span>
<span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">children </span><span class="symbol">=</span><span class="normal"> priv</span><span class="symbol">-&gt;</span><span class="normal">children</span><span class="symbol">;</span><span class="normal"> children</span><span class="symbol">;</span><span class="normal"> children </span><span class="symbol">=</span><span class="normal"> children</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> child </span><span class="symbol">=</span><span class="normal"> children</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">;</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(!</span><span class="function"><a href="GtkWidget.html#gtk-widget-get-visible">gtk_widget_get_visible</a></span> <span class="gtkdoc opt">(</span>child<span class="gtkdoc opt">-&gt;</span>widget<span class="gtkdoc opt">))</span>
<span class="keyword">continue</span><span class="gtkdoc opt">;</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="function"><a href="GtkWidget.html#gtk-widget-get-visible">gtk_widget_get_visible</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">-&gt;</span><span class="normal">widget</span><span class="symbol">))</span>
<span class="normal"> </span><span class="keyword">continue</span><span class="symbol">;</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-get-preferred-height">gtk_widget_get_preferred_height</a></span> <span class="gtkdoc opt">(</span>child<span class="gtkdoc opt">-&gt;</span>widget<span class="gtkdoc opt">, &amp;</span>child_min<span class="gtkdoc opt">, &amp;</span>child_nat<span class="gtkdoc opt">);</span>
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-preferred-height">gtk_widget_get_preferred_height</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">-&gt;</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">child_min</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">child_nat</span><span class="symbol">);</span>
<span class="gtkdoc opt">*</span>minimum <span class="gtkdoc opt">=</span> <span class="function"><a href="../glib/glib-Standard-Macros.html#MAX:CAPS">MAX</a></span> <span class="gtkdoc opt">(*</span>minimum<span class="gtkdoc opt">,</span> child<span class="gtkdoc opt">-&gt;</span>y <span class="gtkdoc opt">+</span> child_min<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">*</span>natural <span class="gtkdoc opt">=</span> <span class="function"><a href="../glib/glib-Standard-Macros.html#MAX:CAPS">MAX</a></span> <span class="gtkdoc opt">(*</span>natural<span class="gtkdoc opt">,</span> child<span class="gtkdoc opt">-&gt;</span>y <span class="gtkdoc opt">+</span> child_nat<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">minimum </span><span class="symbol">=</span><span class="normal"> </span><span class="function">MAX</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal">minimum</span><span class="symbol">,</span><span class="normal"> child</span><span class="symbol">-&gt;</span><span class="normal">y </span><span class="symbol">+</span><span class="normal"> child_min</span><span class="symbol">);</span>
<span class="normal"> </span><span class="symbol">*</span><span class="normal">natural </span><span class="symbol">=</span><span class="normal"> </span><span class="function">MAX</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal">natural</span><span class="symbol">,</span><span class="normal"> child</span><span class="symbol">-&gt;</span><span class="normal">y </span><span class="symbol">+</span><span class="normal"> child_nat</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -418,15 +418,15 @@
<td><span class="type">cairo_region_t</span></td>
</tr>
<tr>
<td><a href="../gdk4/gdk4-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a></td>
<td><span class="type">GdkRectangle</span></td>
<td><span class="type">cairo_rectangle_int_t</span></td>
</tr>
<tr>
<td><a href="../gdk4/gdk4-Points-Rectangles-and-Regions.html#gdk-rectangle-intersect"><code class="function">gdk_rectangle_intersect()</code></a></td>
<td><code class="function">gdk_rectangle_intersect()</code></td>
<td>this function is still there</td>
</tr>
<tr>
<td><a href="../gdk4/gdk4-Points-Rectangles-and-Regions.html#gdk-rectangle-union"><code class="function">gdk_rectangle_union()</code></a></td>
<td><code class="function">gdk_rectangle_union()</code></td>
<td>this function is still there</td>
</tr>
<tr>
@ -544,21 +544,21 @@
13
14
15</pre></td>
<td class="listing_code"><pre class="programlisting">GdkCursor <span class="gtkdoc opt">*</span>cursor<span class="gtkdoc opt">;</span>
GdkPixmap <span class="gtkdoc opt">*</span>pixmap<span class="gtkdoc opt">;</span>
cairo_t <span class="gtkdoc opt">*</span>cr<span class="gtkdoc opt">;</span>
GdkColor fg <span class="gtkdoc opt">= {</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span> <span class="gtkdoc opt">};</span>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GdkCursor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cursor</span><span class="symbol">;</span>
<span class="usertype">GdkPixmap</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pixmap</span><span class="symbol">;</span>
<span class="usertype">cairo_t</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cr</span><span class="symbol">;</span>
<span class="usertype">GdkColor</span><span class="normal"> fg </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
pixmap <span class="gtkdoc opt">=</span> <span class="function">gdk_pixmap_new</span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">);</span>
<span class="normal">pixmap </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_pixmap_new</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">NULL</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
cr <span class="gtkdoc opt">=</span> <span class="function">gdk_cairo_create</span> <span class="gtkdoc opt">(</span>pixmap<span class="gtkdoc opt">);</span>
<span class="function">cairo_rectangle</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">);</span>
<span class="function">cairo_fill</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
<span class="function">cairo_destroy</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
<span class="normal">cr </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_cairo_create</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixmap</span><span class="symbol">);</span>
<span class="function">cairo_rectangle</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
<span class="function">cairo_fill</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
<span class="function">cairo_destroy</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
cursor <span class="gtkdoc opt">=</span> <span class="function">gdk_cursor_new_from_pixmap</span> <span class="gtkdoc opt">(</span>pixmap<span class="gtkdoc opt">,</span> pixmap<span class="gtkdoc opt">, &amp;</span>fg<span class="gtkdoc opt">, &amp;</span>fg<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
<span class="normal">cursor </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_cursor_new_from_pixmap</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixmap</span><span class="symbol">,</span><span class="normal"> pixmap</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">fg</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">fg</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> <span class="gtkdoc opt">(</span>pixmap<span class="gtkdoc opt">);</span></pre></td>
<span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixmap</span><span class="symbol">);</span></pre></td>
</tr>
</tbody>
</table>
@ -592,26 +592,26 @@ cursor <span class="gtkdoc opt">=</span> <span class="function">gdk_cursor_new_f
18
19
20</pre></td>
<td class="listing_code"><pre class="programlisting">GdkCursor <span class="gtkdoc opt">*</span>cursor<span class="gtkdoc opt">;</span>
cairo_surface_t <span class="gtkdoc opt">*</span>s<span class="gtkdoc opt">;</span>
cairo_t <span class="gtkdoc opt">*</span>cr<span class="gtkdoc opt">;</span>
GdkPixbuf <span class="gtkdoc opt">*</span>pixbuf<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GdkCursor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cursor</span><span class="symbol">;</span>
<span class="usertype">cairo_surface_t</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">s</span><span class="symbol">;</span>
<span class="usertype">cairo_t</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cr</span><span class="symbol">;</span>
<span class="usertype">GdkPixbuf</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pixbuf</span><span class="symbol">;</span>
s <span class="gtkdoc opt">=</span> <span class="function">cairo_image_surface_create</span> <span class="gtkdoc opt">(</span>CAIRO_FORMAT_A1<span class="gtkdoc opt">,</span> <span class="number">3</span><span class="gtkdoc opt">,</span> <span class="number">3</span><span class="gtkdoc opt">);</span>
cr <span class="gtkdoc opt">=</span> <span class="function">cairo_create</span> <span class="gtkdoc opt">(</span>s<span class="gtkdoc opt">);</span>
<span class="function">cairo_arc</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">1.5</span><span class="gtkdoc opt">,</span> <span class="number">1.5</span><span class="gtkdoc opt">,</span> <span class="number">1.5</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> M_PI<span class="gtkdoc opt">);</span>
<span class="function">cairo_fill</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
<span class="function">cairo_destroy</span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
<span class="normal">s </span><span class="symbol">=</span><span class="normal"> </span><span class="function">cairo_image_surface_create</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">CAIRO_FORMAT_A1</span><span class="symbol">,</span><span class="normal"> </span><span class="number">3</span><span class="symbol">,</span><span class="normal"> </span><span class="number">3</span><span class="symbol">);</span>
<span class="normal">cr </span><span class="symbol">=</span><span class="normal"> </span><span class="function">cairo_create</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s</span><span class="symbol">);</span>
<span class="function">cairo_arc</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.5</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.5</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1.5</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">2</span><span class="normal"> </span><span class="symbol">*</span><span class="normal"> M_PI</span><span class="symbol">);</span>
<span class="function">cairo_fill</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
<span class="function">cairo_destroy</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">);</span>
pixbuf <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4/gdk4-Pixbufs.html#gdk-pixbuf-get-from-surface">gdk_pixbuf_get_from_surface</a></span> <span class="gtkdoc opt">(</span>s<span class="gtkdoc opt">,</span>
<span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span>
<span class="number">3</span><span class="gtkdoc opt">,</span> <span class="number">3</span><span class="gtkdoc opt">);</span>
<span class="normal">pixbuf </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_pixbuf_get_from_surface</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s</span><span class="symbol">,</span>
<span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span>
<span class="normal"> </span><span class="number">3</span><span class="symbol">,</span><span class="normal"> </span><span class="number">3</span><span class="symbol">);</span>
<span class="function">cairo_surface_destroy</span> <span class="gtkdoc opt">(</span>s<span class="gtkdoc opt">);</span>
<span class="function">cairo_surface_destroy</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s</span><span class="symbol">);</span>
cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4/gdk4-Cursors.html#gdk-cursor-new-from-pixbuf">gdk_cursor_new_from_pixbuf</a></span> <span class="gtkdoc opt">(</span>display<span class="gtkdoc opt">,</span> pixbuf<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span>
<span class="normal">cursor </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_cursor_new_from_pixbuf</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">display</span><span class="symbol">,</span><span class="normal"> pixbuf</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> <span class="gtkdoc opt">(</span>pixbuf<span class="gtkdoc opt">);</span></pre></td>
<span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">);</span></pre></td>
</tr>
</tbody>
</table>
@ -628,7 +628,7 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
<a name="id-1.6.3.4.6"></a>Replace GdkColormap by GdkVisual</h3></div></div></div>
<p>
For drawing with cairo, it is not necessary to allocate colors, and
a <a href="../gdk4/gdk4-Visuals.html#GdkVisual-struct"><span class="type">GdkVisual</span></a> provides enough information for cairo to handle colors
a <span class="type">GdkVisual</span> provides enough information for cairo to handle colors
in 'native' surfaces. Therefore, <span class="type">GdkColormap</span> and related functions
have been removed in GTK+ 3, and visuals are used instead. The
colormap-handling functions of <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> (<code class="function">gtk_widget_set_colormap()</code>,
@ -657,19 +657,19 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
11
12
13</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">on_alpha_screen_changed</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
GdkScreen <span class="gtkdoc opt">*</span>old_screen<span class="gtkdoc opt">,</span>
GtkWidget <span class="gtkdoc opt">*</span>label<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GdkScreen <span class="gtkdoc opt">*</span>screen <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-screen">gtk_widget_get_screen</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span>
GdkColormap <span class="gtkdoc opt">*</span>colormap <span class="gtkdoc opt">=</span> <span class="function">gdk_screen_get_rgba_colormap</span> <span class="gtkdoc opt">(</span>screen<span class="gtkdoc opt">);</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">on_alpha_screen_changed</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GdkScreen</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">old_screen</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GdkScreen</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">screen </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-screen">gtk_widget_get_screen</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">);</span>
<span class="normal"> </span><span class="usertype">GdkColormap</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">colormap </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_rgba_colormap</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>colormap <span class="gtkdoc opt">==</span> NULL<span class="gtkdoc opt">)</span>
colormap <span class="gtkdoc opt">=</span> <span class="function">gdk_screen_get_default_colormap</span> <span class="gtkdoc opt">(</span>screen<span class="gtkdoc opt">);</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">colormap </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
<span class="normal"> colormap </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_default_colormap</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="function">gtk_widget_set_colormap</span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">,</span> colormap<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="normal"> </span><span class="function">gtk_widget_set_colormap</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">,</span><span class="normal"> colormap</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -695,19 +695,19 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
11
12
13</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
<span class="function">on_alpha_screen_changed</span> <span class="gtkdoc opt">(</span>GtkWindow <span class="gtkdoc opt">*</span>window<span class="gtkdoc opt">,</span>
GdkScreen <span class="gtkdoc opt">*</span>old_screen<span class="gtkdoc opt">,</span>
GtkWidget <span class="gtkdoc opt">*</span>label<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GdkScreen <span class="gtkdoc opt">*</span>screen <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-screen">gtk_widget_get_screen</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_WIDGET</span> <span class="gtkdoc opt">(</span>window<span class="gtkdoc opt">));</span>
GdkVisual <span class="gtkdoc opt">*</span>visual <span class="gtkdoc opt">=</span> <span class="function">gdk_screen_get_rgba_visual</span> <span class="gtkdoc opt">(</span>screen<span class="gtkdoc opt">);</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">on_alpha_screen_changed</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">window</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GdkScreen</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">old_screen</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GdkScreen</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">screen </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-screen">gtk_widget_get_screen</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">));</span>
<span class="normal"> </span><span class="usertype">GdkVisual</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">visual </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_rgba_visual</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>visual <span class="gtkdoc opt">==</span> NULL<span class="gtkdoc opt">)</span>
visual <span class="gtkdoc opt">=</span> <span class="function">gdk_screen_get_system_visual</span> <span class="gtkdoc opt">(</span>screen<span class="gtkdoc opt">);</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">visual </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
<span class="normal"> visual </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_screen_get_system_visual</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">screen</span><span class="symbol">);</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-set-visual">gtk_widget_set_visual</a></span> <span class="gtkdoc opt">(</span>window<span class="gtkdoc opt">,</span> visual<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-set-visual">gtk_widget_set_visual</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">,</span><span class="normal"> visual</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -722,9 +722,9 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
<a name="id-1.6.3.4.7"></a>GdkDrawable is gone</h3></div></div></div>
<p>
<span class="type">GdkDrawable</span> has been removed in GTK+ 3, together with <span class="type">GdkPixmap</span>
and <span class="type">GdkImage</span>. The only remaining drawable class is <a href="../gdk4/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>.
and <span class="type">GdkImage</span>. The only remaining drawable class is <span class="type">GdkWindow</span>.
For dealing with image data, you should use a <span class="type">cairo_surface_t</span> or
a <a href="../gdk-pixbuf/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf-struct"><span class="type">GdkPixbuf</span></a>.
a <span class="type">GdkPixbuf</span>.
</p>
<p>
GdkDrawable functions that are useful with windows have been replaced
@ -749,8 +749,8 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
<tr>
<td><code class="function">gdk_drawable_get_size()</code></td>
<td>
<a href="../gdk4/gdk4-Windows.html#gdk-window-get-width"><code class="function">gdk_window_get_width()</code></a>
<a href="../gdk4/gdk4-Windows.html#gdk-window-get-height"><code class="function">gdk_window_get_height()</code></a>
<code class="function">gdk_window_get_width()</code>
<code class="function">gdk_window_get_height()</code>
</td>
</tr>
<tr>
@ -759,11 +759,11 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
</tr>
<tr>
<td><code class="function">gdk_drawable_get_clip_region()</code></td>
<td><a href="../gdk4/gdk4-Windows.html#gdk-window-get-clip-region"><code class="function">gdk_window_get_clip_region()</code></a></td>
<td><code class="function">gdk_window_get_clip_region()</code></td>
</tr>
<tr>
<td><code class="function">gdk_drawable_get_visible_region()</code></td>
<td><a href="../gdk4/gdk4-Windows.html#gdk-window-get-visible-region"><code class="function">gdk_window_get_visible_region()</code></a></td>
<td><code class="function">gdk_window_get_visible_region()</code></td>
</tr>
</tbody>
</table></div>
@ -781,7 +781,7 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
<p>
The special-purpose GdkEventClient events and the <code class="function">gdk_add_client_message_filter()</code> and <code class="function">gdk_display_add_client_message_filter()</code> functions have been
removed. Receiving X11 ClientMessage events is still possible, using
the general <a href="../gdk4/gdk4-Windows.html#gdk-window-add-filter"><code class="function">gdk_window_add_filter()</code></a> API. A client message filter like
the general <code class="function">gdk_window_add_filter()</code> API. A client message filter like
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
@ -799,18 +799,18 @@ cursor <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4
10
11
12</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GdkFilterReturn
<span class="function">message_filter</span> <span class="gtkdoc opt">(</span>GdkXEvent <span class="gtkdoc opt">*</span>xevent<span class="gtkdoc opt">,</span> GdkEvent <span class="gtkdoc opt">*</span>event<span class="gtkdoc opt">,</span> gpointer data<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
XClientMessageEvent <span class="gtkdoc opt">*</span>evt <span class="gtkdoc opt">= (</span>XClientMessageEvent <span class="gtkdoc opt">*)</span>xevent<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> GdkFilterReturn</span>
<span class="function">message_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GdkXEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">xevent</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GdkEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">event</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">XClientMessageEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">evt </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">XClientMessageEvent </span><span class="symbol">*)</span><span class="normal">xevent</span><span class="symbol">;</span>
<span class="comment">/* do something with evt ... */</span>
<span class="gtkdoc opt">}</span>
<span class="normal"> </span><span class="comment">/* do something with evt ... */</span>
<span class="cbracket">}</span>
<span class="gtkdoc opt">...</span>
<span class="normal"> </span><span class="symbol">...</span>
message_type <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk4/gdk4-Properties-and-Atoms.html#gdk-atom-intern">gdk_atom_intern</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;MANAGER&quot;</span><span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
<span class="function">gdk_display_add_client_message_filter</span> <span class="gtkdoc opt">(</span>display<span class="gtkdoc opt">,</span> message_type<span class="gtkdoc opt">,</span> message_filter<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span></pre></td>
<span class="normal">message_type </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_atom_intern</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"MANAGER"</span><span class="symbol">,</span><span class="normal"> FALSE</span><span class="symbol">);</span>
<span class="function">gdk_display_add_client_message_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">display</span><span class="symbol">,</span><span class="normal"> message_type</span><span class="symbol">,</span><span class="normal"> message_filter</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
</tr>
</tbody>
</table>
@ -844,27 +844,27 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
19
20
21</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GdkFilterReturn
<span class="function">event_filter</span> <span class="gtkdoc opt">(</span>GdkXEvent <span class="gtkdoc opt">*</span>xevent<span class="gtkdoc opt">,</span> GdkEvent <span class="gtkdoc opt">*</span>event<span class="gtkdoc opt">,</span> gpointer data<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
XClientMessageEvent <span class="gtkdoc opt">*</span>evt<span class="gtkdoc opt">;</span>
GdkAtom message_type<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> GdkFilterReturn</span>
<span class="function">event_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GdkXEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">xevent</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GdkEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">event</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">XClientMessageEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">evt</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">GdkAtom</span><span class="normal"> message_type</span><span class="symbol">;</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(((</span>XEvent <span class="gtkdoc opt">*)</span>xevent<span class="gtkdoc opt">)-&gt;</span>type <span class="gtkdoc opt">!=</span> ClientMessage<span class="gtkdoc opt">)</span>
<span class="keyword">return</span> GDK_FILTER_CONTINUE<span class="gtkdoc opt">;</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(((</span><span class="normal">XEvent </span><span class="symbol">*)</span><span class="normal">xevent</span><span class="symbol">)-&gt;</span><span class="normal">type </span><span class="symbol">!=</span><span class="normal"> ClientMessage</span><span class="symbol">)</span>
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> GDK_FILTER_CONTINUE</span><span class="symbol">;</span>
evt <span class="gtkdoc opt">= (</span>XClientMessageEvent <span class="gtkdoc opt">*)</span>xevent<span class="gtkdoc opt">;</span>
message_type <span class="gtkdoc opt">=</span> <span class="function">XInternAtom</span> <span class="gtkdoc opt">(</span>evt<span class="gtkdoc opt">-&gt;</span>display<span class="gtkdoc opt">,</span> <span class="string">&quot;MANAGER&quot;</span><span class="gtkdoc opt">,</span> FALSE<span class="gtkdoc opt">);</span>
<span class="normal"> evt </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">XClientMessageEvent </span><span class="symbol">*)</span><span class="normal">xevent</span><span class="symbol">;</span>
<span class="normal"> message_type </span><span class="symbol">=</span><span class="normal"> </span><span class="function">XInternAtom</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">evt</span><span class="symbol">-&gt;</span><span class="normal">display</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"MANAGER"</span><span class="symbol">,</span><span class="normal"> FALSE</span><span class="symbol">);</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>evt<span class="gtkdoc opt">-&gt;</span>message_type <span class="gtkdoc opt">!=</span> message_type<span class="gtkdoc opt">)</span>
<span class="keyword">return</span> GDK_FILTER_CONTINUE<span class="gtkdoc opt">;</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">evt</span><span class="symbol">-&gt;</span><span class="normal">message_type </span><span class="symbol">!=</span><span class="normal"> message_type</span><span class="symbol">)</span>
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> GDK_FILTER_CONTINUE</span><span class="symbol">;</span>
<span class="comment">/* do something with evt ... */</span>
<span class="gtkdoc opt">}</span>
<span class="normal"> </span><span class="comment">/* do something with evt ... */</span>
<span class="cbracket">}</span>
<span class="gtkdoc opt">...</span>
<span class="normal"> </span><span class="symbol">...</span>
<span class="function"><a href="../gdk4/gdk4-Windows.html#gdk-window-add-filter">gdk_window_add_filter</a></span> <span class="gtkdoc opt">(</span>NULL<span class="gtkdoc opt">,</span> message_filter<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span></pre></td>
<span class="function">gdk_window_add_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">NULL</span><span class="symbol">,</span><span class="normal"> message_filter</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
</tr>
</tbody>
</table>
@ -873,7 +873,7 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<p>
One advantage of using an event filter is that you can actually
remove the filter when you don't need it anymore, using
<a href="../gdk4/gdk4-Windows.html#gdk-window-remove-filter"><code class="function">gdk_window_remove_filter()</code></a>.
<code class="function">gdk_window_remove_filter()</code>.
</p>
<p>
The other difference to be aware of when working with event filters
@ -881,7 +881,7 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
means that your application does not receive core X11 key or button
events. Instead, all input events are delivered as XIDeviceEvents.
As a short-term workaround for this, you can force your application
to not use XI2, with <a href="../gdk4/GdkDeviceManager.html#gdk-disable-multidevice"><code class="function">gdk_disable_multidevice()</code></a>. In the long term,
to not use XI2, with <code class="function">gdk_disable_multidevice()</code>. In the long term,
you probably want to rewrite your event filter to deal with
XIDeviceEvents.
</p>
@ -891,7 +891,7 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<a name="id-1.6.3.4.9"></a>Backend-specific code</h3></div></div></div>
<p>
In GTK+ 2.x, GDK could only be compiled for one backend at a time,
and the <a href="../gdk4/gdk4-General.html#GDK-WINDOWING-X11:CAPS"><code class="literal">GDK_WINDOWING_X11</code></a> or <code class="literal">GDK_WINDOWING_WIN32</code> macros could
and the <code class="literal">GDK_WINDOWING_X11</code> or <code class="literal">GDK_WINDOWING_WIN32</code> macros could
be used to find out which one you are dealing with:
</p>
<div class="informalexample">
@ -905,13 +905,13 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
5
6
7</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>timestamp <span class="gtkdoc opt">!=</span> GDK_CURRENT_TIME<span class="gtkdoc opt">)</span>
<span class="function"><a href="../gdk4/gdk4-X-Window-System-Interaction.html#gdk-x11-window-set-user-time">gdk_x11_window_set_user_time</a></span> <span class="gtkdoc opt">(</span>gdk_window<span class="gtkdoc opt">,</span> timestamp<span class="gtkdoc opt">);</span>
<span class="gtkdoc ppc">#endif</span>
<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_WIN32</span>
<span class="comment">/* ... win32 specific code ... */</span>
<span class="gtkdoc ppc">#endif</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="preproc">#ifdef</span><span class="normal"> GDK_WINDOWING_X11</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">timestamp </span><span class="symbol">!=</span><span class="normal"> GDK_CURRENT_TIME</span><span class="symbol">)</span>
<span class="normal"> </span><span class="function">gdk_x11_window_set_user_time</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gdk_window</span><span class="symbol">,</span><span class="normal"> timestamp</span><span class="symbol">);</span>
<span class="preproc">#endif</span>
<span class="preproc">#ifdef</span><span class="normal"> GDK_WINDOWING_WIN32</span>
<span class="normal"> </span><span class="comment">/* ... win32 specific code ... */</span>
<span class="preproc">#endif</span></pre></td>
</tr>
</tbody>
</table>
@ -920,7 +920,7 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<p>
In GTK+ 3, GDK can be built with multiple backends, and currently
used backend has to be determined at runtime, typically using
type-check macros on a <a href="../gdk4/GdkDisplay.html#GdkDisplay-struct"><span class="type">GdkDisplay</span></a> or <a href="../gdk4/gdk4-Windows.html#GdkWindow-struct"><span class="type">GdkWindow</span></a>. You still need
type-check macros on a <span class="type">GdkDisplay</span> or <span class="type">GdkWindow</span>. You still need
to use the GDK_WINDOWING macros to only compile code referring
to supported backends:
</p>
@ -946,24 +946,24 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
16
17
18</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">#ifdef GDK_WINDOWING_X11</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function">GDK_IS_X11_DISPLAY</span> <span class="gtkdoc opt">(</span>display<span class="gtkdoc opt">))</span>
<span class="gtkdoc opt">{</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span>timestamp <span class="gtkdoc opt">!=</span> GDK_CURRENT_TIME<span class="gtkdoc opt">)</span>
<span class="function"><a href="../gdk4/gdk4-X-Window-System-Interaction.html#gdk-x11-window-set-user-time">gdk_x11_window_set_user_time</a></span> <span class="gtkdoc opt">(</span>gdk_window<span class="gtkdoc opt">,</span> timestamp<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
<span class="gtkdoc ppc">#endif</span>
<span class="gtkdoc ppc">#ifdef GDK_WINDOWING_WIN32</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function">GDK_IS_WIN32_DISPLAY</span> <span class="gtkdoc opt">(</span>display<span class="gtkdoc opt">))</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* ... win32 specific code ... */</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
<span class="gtkdoc ppc">#endif</span>
<span class="gtkdoc opt">{</span>
<span class="function"><a href="../glib/glib-Message-Logging.html#g-warning">g_warning</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Unsupported GDK backend&quot;</span><span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="preproc">#ifdef</span><span class="normal"> GDK_WINDOWING_X11</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">GDK_IS_X11_DISPLAY</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">display</span><span class="symbol">))</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">timestamp </span><span class="symbol">!=</span><span class="normal"> GDK_CURRENT_TIME</span><span class="symbol">)</span>
<span class="normal"> </span><span class="function">gdk_x11_window_set_user_time</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gdk_window</span><span class="symbol">,</span><span class="normal"> timestamp</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="normal"> </span><span class="keyword">else</span>
<span class="preproc">#endif</span>
<span class="preproc">#ifdef</span><span class="normal"> GDK_WINDOWING_WIN32</span>
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">GDK_IS_WIN32_DISPLAY</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">display</span><span class="symbol">))</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* ... win32 specific code ... */</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="normal"> </span><span class="keyword">else</span>
<span class="preproc">#endif</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="function">g_warning</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Unsupported GDK backend"</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -981,7 +981,7 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">AM_CONDITIONAL</span><span class="gtkdoc opt">(</span>BUILD_X11<span class="gtkdoc opt">,</span> test `$PKG_CONFIG <span class="gtkdoc opt">--</span>variable<span class="gtkdoc opt">=</span>target gtk<span class="gtkdoc opt">+-</span><span class="number">2.0</span>` <span class="gtkdoc opt">=</span> <span class="string">&quot;x11&quot;</span><span class="gtkdoc opt">)</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">AM_CONDITIONAL</span><span class="symbol">(</span><span class="normal">BUILD_X11</span><span class="symbol">,</span><span class="normal"> test `$PKG_CONFIG </span><span class="symbol">--</span><span class="normal">variable</span><span class="symbol">=</span><span class="usertype">target</span><span class="normal"> gtk</span><span class="symbol">+-</span><span class="number">2.0</span><span class="normal">` </span><span class="symbol">=</span><span class="normal"> </span><span class="string">"x11"</span><span class="symbol">)</span></pre></td>
</tr>
</tbody>
</table>
@ -996,8 +996,8 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">GTK_CHECK_BACKEND</span><span class="gtkdoc opt">([</span>x11<span class="gtkdoc opt">], [</span><span class="number">3.0.2</span><span class="gtkdoc opt">], [</span>have_x11<span class="gtkdoc opt">=</span>yes<span class="gtkdoc opt">], [</span>have_x11<span class="gtkdoc opt">=</span>no<span class="gtkdoc opt">])</span>
<span class="function">AM_CONDITIONAL</span><span class="gtkdoc opt">(</span>BUILD_x11<span class="gtkdoc opt">, [</span>test <span class="string">&quot;x$have_x11&quot;</span> <span class="gtkdoc opt">=</span> <span class="string">&quot;xyes&quot;</span><span class="gtkdoc opt">])</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="function">GTK_CHECK_BACKEND</span><span class="symbol">([</span><span class="normal">x11</span><span class="symbol">],</span><span class="normal"> </span><span class="symbol">[</span><span class="number">3.0</span><span class="symbol">.</span><span class="number">2</span><span class="symbol">],</span><span class="normal"> </span><span class="symbol">[</span><span class="normal">have_x11</span><span class="symbol">=</span><span class="normal">yes</span><span class="symbol">],</span><span class="normal"> </span><span class="symbol">[</span><span class="normal">have_x11</span><span class="symbol">=</span><span class="normal">no</span><span class="symbol">])</span>
<span class="function">AM_CONDITIONAL</span><span class="symbol">(</span><span class="normal">BUILD_x11</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">[</span><span class="normal">test </span><span class="string">"x$have_x11"</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="string">"xyes"</span><span class="symbol">])</span></pre></td>
</tr>
</tbody>
</table>
@ -1057,15 +1057,15 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
7
8
9</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span>event<span class="gtkdoc opt">-&gt;</span>window <span class="gtkdoc opt">==</span> widget<span class="gtkdoc opt">-&gt;</span>window1<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* ... draw window1 ... */</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">else if</span> <span class="gtkdoc opt">(</span>event<span class="gtkdoc opt">-&gt;</span>window <span class="gtkdoc opt">==</span> widget<span class="gtkdoc opt">-&gt;</span>window2<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* ... draw window2 ... */</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">...</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">event</span><span class="symbol">-&gt;</span><span class="normal">window </span><span class="symbol">==</span><span class="normal"> widget</span><span class="symbol">-&gt;</span><span class="normal">window1</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* ... draw window1 ... */</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">event</span><span class="symbol">-&gt;</span><span class="normal">window </span><span class="symbol">==</span><span class="normal"> widget</span><span class="symbol">-&gt;</span><span class="normal">window2</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* ... draw window2 ... */</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="symbol">...</span></pre></td>
</tr>
</tbody>
</table>
@ -1091,15 +1091,15 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
7
8
9</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GtkWidget.html#gtk-cairo-should-draw-window">gtk_cairo_should_draw_window</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> widget<span class="gtkdoc opt">-&gt;</span>window1<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* ... draw window1 ... */</span>
<span class="gtkdoc opt">}</span>
<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GtkWidget.html#gtk-cairo-should-draw-window">gtk_cairo_should_draw_window</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> widget<span class="gtkdoc opt">-&gt;</span>window2<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
<span class="comment">/* ... draw window2 ... */</span>
<span class="gtkdoc opt">}</span>
<span class="gtkdoc opt">...</span></pre></td>
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkWidget.html#gtk-cairo-should-draw-window">gtk_cairo_should_draw_window</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> widget</span><span class="symbol">-&gt;</span><span class="normal">window1</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* ... draw window1 ... */</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkWidget.html#gtk-cairo-should-draw-window">gtk_cairo_should_draw_window</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">cr</span><span class="symbol">,</span><span class="normal"> widget</span><span class="symbol">-&gt;</span><span class="normal">window2</span><span class="symbol">)</span>
<span class="normal"> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment">/* ... draw window2 ... */</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="symbol">...</span></pre></td>
</tr>
</tbody>
</table>
@ -1144,26 +1144,26 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
18
19
20</pre></td>
<td class="listing_code"><pre class="programlisting">gboolean
<span class="function">gtk_arrow_draw</span> <span class="gtkdoc opt">(</span>GtkWidget <span class="gtkdoc opt">*</span>widget<span class="gtkdoc opt">,</span>
cairo_t <span class="gtkdoc opt">*</span>cr<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
GtkStyleContext <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">;</span>
gint x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">;</span>
gint width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">;</span>
gint extent<span class="gtkdoc opt">;</span>
<td class="listing_code"><pre class="programlisting"><span class="normal">gboolean</span>
<span class="function">gtk_arrow_draw</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget</span><span class="symbol">,</span>
<span class="normal"> </span><span class="usertype">cairo_t</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cr</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal"> </span><span class="usertype">GtkStyleContext</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">context</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> x</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> width</span><span class="symbol">,</span><span class="normal"> height</span><span class="symbol">;</span>
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> extent</span><span class="symbol">;</span>
context <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-style-context">gtk_widget_get_style_context</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span>
<span class="normal"> context </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-style-context">gtk_widget_get_style_context</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">);</span>
width <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-allocated-width">gtk_widget_get_allocated_width</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span>
height <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkWidget.html#gtk-widget-get-allocated-height">gtk_widget_get_allocated_height</a></span> <span class="gtkdoc opt">(</span>widget<span class="gtkdoc opt">);</span>
<span class="normal"> width </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-allocated-width">gtk_widget_get_allocated_width</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">);</span>
<span class="normal"> height </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-get-allocated-height">gtk_widget_get_allocated_height</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">widget</span><span class="symbol">);</span>
extent <span class="gtkdoc opt">=</span> <span class="function"><a href="../glib/glib-Standard-Macros.html#MIN:CAPS">MIN</a></span> <span class="gtkdoc opt">(</span>width <span class="gtkdoc opt">-</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> PAD<span class="gtkdoc opt">,</span> height <span class="gtkdoc opt">-</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> PAD<span class="gtkdoc opt">);</span>
x <span class="gtkdoc opt">=</span> PAD<span class="gtkdoc opt">;</span>
y <span class="gtkdoc opt">=</span> PAD<span class="gtkdoc opt">;</span>
<span class="normal"> extent </span><span class="symbol">=</span><span class="normal"> </span><span class="function">MIN</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">width </span><span class="symbol">-</span><span class="normal"> </span><span class="number">2</span><span class="normal"> </span><span class="symbol">*</span><span class="normal"> PAD</span><span class="symbol">,</span><span class="normal"> height </span><span class="symbol">-</span><span class="normal"> </span><span class="number">2</span><span class="normal"> </span><span class="symbol">*</span><span class="normal"> PAD</span><span class="symbol">);</span>
<span class="normal"> x </span><span class="symbol">=</span><span class="normal"> PAD</span><span class="symbol">;</span>
<span class="normal"> y </span><span class="symbol">=</span><span class="normal"> PAD</span><span class="symbol">;</span>
<span class="function"><a href="GtkStyleContext.html#gtk-render-arrow">gtk_render_arrow</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">,</span> rc<span class="gtkdoc opt">,</span> G_PI <span class="gtkdoc opt">/</span> <span class="number">2</span><span class="gtkdoc opt">,</span> x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">,</span> extent<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
<span class="normal"> </span><span class="function"><a href="GtkStyleContext.html#gtk-render-arrow">gtk_render_arrow</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">,</span><span class="normal"> rc</span><span class="symbol">,</span><span class="normal"> G_PI </span><span class="symbol">/</span><span class="normal"> </span><span class="number">2</span><span class="symbol">,</span><span class="normal"> x</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">,</span><span class="normal"> extent</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
</tr>
</tbody>
</table>
@ -1273,8 +1273,8 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
GtkObject has been removed in GTK+ 3. Its remaining functionality,
the ::destroy signal, has been moved to GtkWidget. If you have non-widget
classes that are directly derived from GtkObject, you have to make
them derive from <a href="../gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> (or, if you don't need the floating
functionality, <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a>). If you have widgets that override the
them derive from <span class="type">GInitiallyUnowned</span> (or, if you don't need the floating
functionality, <span class="type">GObject</span>). If you have widgets that override the
destroy class handler, you have to adjust your class_init function,
since destroy is now a member of GtkWidgetClass:
</p>
@ -1285,9 +1285,9 @@ message_type <span class="gtkdoc opt">=</span> <span class="function"><a href=".
<td class="listing_lines" align="right"><pre>1
2
3</pre></td>
<td class="listing_code"><pre class="programlisting">GtkObjectClass <span class="gtkdoc opt">*</span>object_class <span class="gtkdoc opt">=</span> <span class="function">GTK_OBJECT_CLASS</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">);</span>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GtkObjectClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_OBJECT_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
object_class<span class="gtkdoc opt">-&gt;</span>destroy <span class="gtkdoc opt">=</span> my_destroy<span class="gtkdoc opt">;</span></pre></td>
<span class="normal">object_class</span><span class="symbol">-&gt;</span><span class="normal">destroy </span><span class="symbol">=</span><span class="normal"> my_destroy</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
@ -1303,9 +1303,9 @@ object_class<span class="gtkdoc opt">-&gt;</span>destroy <span class="gtkdoc opt
<td class="listing_lines" align="right"><pre>1
2
3</pre></td>
<td class="listing_code"><pre class="programlisting">GtkWidgetClass <span class="gtkdoc opt">*</span>widget_class <span class="gtkdoc opt">=</span> <span class="function">GTK_WIDGET_CLASS</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwc">class</span><span class="gtkdoc opt">);</span>
<td class="listing_code"><pre class="programlisting"><span class="usertype">GtkWidgetClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">widget_class </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">);</span>
widget_class<span class="gtkdoc opt">-&gt;</span>destroy <span class="gtkdoc opt">=</span> my_destroy<span class="gtkdoc opt">;</span></pre></td>
<span class="normal">widget_class</span><span class="symbol">-&gt;</span><span class="normal">destroy </span><span class="symbol">=</span><span class="normal"> my_destroy</span><span class="symbol">;</span></pre></td>
</tr>
</tbody>
</table>
@ -1412,6 +1412,6 @@ widget_class<span class="gtkdoc opt">-&gt;</span>destroy <span class="gtkdoc opt
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>