gtk3/docs/reference/gtk/html/GtkOverlay.html
2022-11-23 15:09:27 +00:00

508 lines
25 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

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

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkOverlay: 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="LayoutContainers.html" title="Layout Containers">
<link rel="prev" href="GtkHeaderBar.html" title="GtkHeaderBar">
<link rel="next" href="GtkButtonBox.html" title="GtkButtonBox">
<meta name="generator" content="GTK-Doc V1.33.1 (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="#GtkOverlay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GtkOverlay.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
<a href="#GtkOverlay.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_child_properties">  <span class="dim">|</span> 
<a href="#GtkOverlay.child-properties" class="shortcut">Child Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
<a href="#GtkOverlay.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="LayoutContainers.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkHeaderBar.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkButtonBox.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkOverlay"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkOverlay.top_of_page"></a>GtkOverlay</span></h2>
<p>GtkOverlay — A container which overlays widgets on top of each other</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkOverlay.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkOverlay.html#gtk-overlay-new" title="gtk_overlay_new ()">gtk_overlay_new</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="GtkOverlay.html#gtk-overlay-add-overlay" title="gtk_overlay_add_overlay ()">gtk_overlay_add_overlay</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="GtkOverlay.html#gtk-overlay-reorder-overlay" title="gtk_overlay_reorder_overlay ()">gtk_overlay_reorder_overlay</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="GtkOverlay.html#gtk-overlay-get-overlay-pass-through" title="gtk_overlay_get_overlay_pass_through ()">gtk_overlay_get_overlay_pass_through</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="GtkOverlay.html#gtk-overlay-set-overlay-pass-through" title="gtk_overlay_set_overlay_pass_through ()">gtk_overlay_set_overlay_pass_through</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkOverlay.child-properties"></a><h2>Child Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="child_properties_type">
<col width="300px" class="child_properties_name">
<col width="200px" class="child_properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><span class="type">int</span></td>
<td class="property_name"><a class="link" href="GtkOverlay.html#GtkOverlay--c-index" title="The “index” child property">index</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkOverlay.html#GtkOverlay--c-pass-through" title="The “pass-through” child property">pass-through</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkOverlay.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signal_proto_type">
<col width="300px" class="signal_proto_name">
<col width="200px" class="signal_proto_flags">
</colgroup>
<tbody><tr>
<td class="signal_type"><span class="returnvalue">gboolean</span></td>
<td class="signal_name"><a class="link" href="GtkOverlay.html#GtkOverlay-get-child-position" title="The “get-child-position” signal">get-child-position</a></td>
<td class="signal_flags">Run Last</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkOverlay.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkOverlay.html#GtkOverlay-struct" title="struct GtkOverlay">GtkOverlay</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkOverlay.html#GtkOverlayClass" title="struct GtkOverlayClass">GtkOverlayClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkOverlay.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> GObject
<span class="lineart">╰──</span> GInitiallyUnowned
<span class="lineart">╰──</span> <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
<span class="lineart">╰──</span> <a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
<span class="lineart">╰──</span> <a class="link" href="GtkBin.html" title="GtkBin">GtkBin</a>
<span class="lineart">╰──</span> GtkOverlay
</pre>
</div>
<div class="refsect1">
<a name="GtkOverlay.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkOverlay implements
AtkImplementorIface and <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p>
</div>
<div class="refsect1">
<a name="GtkOverlay.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkOverlay.description"></a><h2>Description</h2>
<p>GtkOverlay is a container which contains a single main child, on top
of which it can place “overlay” widgets. The position of each overlay
widget is determined by its <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a>
properties. E.g. a widget with both alignments set to <a class="link" href="GtkWidget.html#GTK-ALIGN-START:CAPS"><code class="literal">GTK_ALIGN_START</code></a>
will be placed at the top left corner of the GtkOverlay container,
whereas an overlay with halign set to <a class="link" href="GtkWidget.html#GTK-ALIGN-CENTER:CAPS"><code class="literal">GTK_ALIGN_CENTER</code></a> and valign set
to <a class="link" href="GtkWidget.html#GTK-ALIGN-END:CAPS"><code class="literal">GTK_ALIGN_END</code></a> will be placed a the bottom edge of the GtkOverlay,
horizontally centered. The position can be adjusted by setting the margin
properties of the child to non-zero values.</p>
<p>More complicated placement of overlays is possible by connecting
to the <a class="link" href="GtkOverlay.html#GtkOverlay-get-child-position" title="The “get-child-position” signal"><span class="type">“get-child-position”</span></a> signal.</p>
<p>An overlays minimum and natural sizes are those of its main child. The sizes
of overlay children are not considered when measuring these preferred sizes.</p>
<div class="refsect2">
<a name="id-1.3.7.12.10.5"></a><h3>GtkOverlay as GtkBuildable</h3>
<p>The GtkOverlay implementation of the GtkBuildable interface
supports placing a child as an overlay by specifying “overlay” as
the “type” attribute of a <code class="literal">&lt;child&gt;</code> element.</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.3.7.12.10.6"></a><h3>CSS nodes</h3>
<p>GtkOverlay has a single CSS node with the name “overlay”. Overlay children
whose alignments cause them to be positioned at an edge get the style classes
“.left”, “.right”, “.top”, and/or “.bottom” according to their position.</p>
</div>
</div>
<div class="refsect1">
<a name="GtkOverlay.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-overlay-new"></a><h3>gtk_overlay_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_overlay_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates a new <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a>.</p>
<div class="refsect3">
<a name="gtk-overlay-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> object.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-overlay-add-overlay"></a><h3>gtk_overlay_add_overlay ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_overlay_add_overlay (<em class="parameter"><code><a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> *overlay</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre>
<p>Adds <em class="parameter"><code>widget</code></em>
to <em class="parameter"><code>overlay</code></em>
.</p>
<p>The widget will be stacked on top of the main widget
added with <a class="link" href="GtkContainer.html#gtk-container-add" title="gtk_container_add ()"><code class="function">gtk_container_add()</code></a>.</p>
<p>The position at which <em class="parameter"><code>widget</code></em>
is placed is determined
from its <a class="link" href="GtkWidget.html#GtkWidget--halign" title="The “halign” property"><span class="type">“halign”</span></a> and <a class="link" href="GtkWidget.html#GtkWidget--valign" title="The “valign” property"><span class="type">“valign”</span></a> properties.</p>
<div class="refsect3">
<a name="gtk-overlay-add-overlay.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>overlay</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> to be added to the container</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-overlay-reorder-overlay"></a><h3>gtk_overlay_reorder_overlay ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_overlay_reorder_overlay (<em class="parameter"><code><a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> *overlay</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
<em class="parameter"><code><span class="type">int</span> index_</code></em>);</pre>
<p>Moves <em class="parameter"><code>child</code></em>
to a new <em class="parameter"><code>index</code></em>
in the list of <em class="parameter"><code>overlay</code></em>
children.
The list contains overlays in the order that these were
added to <em class="parameter"><code>overlay</code></em>
by default. See also <span class="type">“index”</span>.</p>
<p>A widgets index in the <em class="parameter"><code>overlay</code></em>
children list determines which order
the children are drawn if they overlap. The first child is drawn at
the bottom. It also affects the default focus chain order.</p>
<div class="refsect3">
<a name="gtk-overlay-reorder-overlay.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>overlay</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>the overlaid <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> to move</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>index_</p></td>
<td class="parameter_description"><p>the new index for <em class="parameter"><code>child</code></em>
in the list of overlay children
of <em class="parameter"><code>overlay</code></em>
, starting from 0. If negative, indicates the end of
the list</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-overlay-get-overlay-pass-through"></a><h3>gtk_overlay_get_overlay_pass_through ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_overlay_get_overlay_pass_through (<em class="parameter"><code><a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> *overlay</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>);</pre>
<p>Convenience function to get the value of the <span class="type">“pass-through”</span>
child property for <em class="parameter"><code>widget</code></em>
.</p>
<div class="refsect3">
<a name="gtk-overlay-get-overlay-pass-through.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>overlay</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>an overlay child of <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-overlay-get-overlay-pass-through.returns"></a><h4>Returns</h4>
<p> whether the widget is a pass through child.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-overlay-set-overlay-pass-through"></a><h3>gtk_overlay_set_overlay_pass_through ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_overlay_set_overlay_pass_through (<em class="parameter"><code><a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> *overlay</code></em>,
<em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget</code></em>,
<em class="parameter"><code><span class="type">gboolean</span> pass_through</code></em>);</pre>
<p>Convenience function to set the value of the <span class="type">“pass-through”</span>
child property for <em class="parameter"><code>widget</code></em>
.</p>
<div class="refsect3">
<a name="gtk-overlay-set-overlay-pass-through.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>overlay</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>an overlay child of <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pass_through</p></td>
<td class="parameter_description"><p>whether the child should pass the input through</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkOverlay.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkOverlay-struct"></a><h3>struct GtkOverlay</h3>
<pre class="programlisting">struct GtkOverlay;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkOverlayClass"></a><h3>struct GtkOverlayClass</h3>
<pre class="programlisting">struct GtkOverlayClass {
GtkBinClass parent_class;
gboolean (*get_child_position) (GtkOverlay *overlay,
GtkWidget *widget,
GtkAllocation *allocation);
};
</pre>
<div class="refsect3">
<a name="GtkOverlayClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody><tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkOverlayClass.get-child-position"></a>get_child_position</code></em> ()</p></td>
<td class="struct_member_description"><p>Signal emitted to determine the position and
size of any overlay child widgets.</p></td>
<td class="struct_member_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkOverlay.child-property-details"></a><h2>Child Property Details</h2>
<div class="refsect2">
<a name="GtkOverlay--c-index"></a><h3>The <code class="literal">“index”</code> child property</h3>
<pre class="programlisting"> “index” <span class="type">int</span></pre>
<p>The index of the overlay child in the parent (or -1 for the main child).
See <a class="link" href="GtkOverlay.html#gtk-overlay-reorder-overlay" title="gtk_overlay_reorder_overlay ()"><code class="function">gtk_overlay_reorder_overlay()</code></a>.</p>
<p>Owner: GtkOverlay</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: 0</p>
<p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkOverlay--c-pass-through"></a><h3>The <code class="literal">“pass-through”</code> child property</h3>
<pre class="programlisting"> “pass-through” <span class="type">gboolean</span></pre>
<p>Whether to pass input through the overlay child to the main child.
(Of course, this has no effect when set on the main child itself.)</p>
<p>Note that this is implemented by calling <code class="function">gdk_window_set_pass_through()</code>
on the window that the overlay child is placed in. If the descendents
of the overlay child have their own windows, you need to manually call
that function on them to achieve the desired effect.</p>
<p>Owner: GtkOverlay</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
<p class="since">Since: <a class="link" href="api-index-3-18.html#api-index-3.18">3.18</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkOverlay.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkOverlay-get-child-position"></a><h3>The <code class="literal">“get-child-position”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
user_function (<a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a> *overlay,
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *widget,
<span class="type">GdkRectangle</span> *allocation,
<span class="type">gpointer</span> user_data)</pre>
<p>The ::get-child-position signal is emitted to determine
the position and size of any overlay child widgets. A
handler for this signal should fill <em class="parameter"><code>allocation</code></em>
with
the desired position and size for <em class="parameter"><code>widget</code></em>
, relative to
the 'main' child of <em class="parameter"><code>overlay</code></em>
.</p>
<p>The default handler for this signal uses the <em class="parameter"><code>widget</code></em>
's
halign and valign properties to determine the position
and gives the widget its natural size (except that an
alignment of <a class="link" href="GtkWidget.html#GTK-ALIGN-FILL:CAPS"><code class="literal">GTK_ALIGN_FILL</code></a> will cause the overlay to
be full-width/height). If the main child is a
<a class="link" href="GtkScrolledWindow.html" title="GtkScrolledWindow"><span class="type">GtkScrolledWindow</span></a>, the overlays are placed relative
to its contents.</p>
<div class="refsect3">
<a name="GtkOverlay-get-child-position.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>overlay</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkOverlay.html" title="GtkOverlay"><span class="type">GtkOverlay</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>widget</p></td>
<td class="parameter_description"><p>the child widget to position</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>allocation</p></td>
<td class="parameter_description"><p>return
location for the allocation. </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.Rectangle][<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</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>
<div class="refsect3">
<a name="GtkOverlay-get-child-position.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the <em class="parameter"><code>allocation</code></em>
has been filled</p>
</div>
<p>Flags: Run Last</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>