<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>GtkFixed: GTK+ 3 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="GTK+ 3 Reference Manual"> <link rel="up" href="LayoutContainers.html" title="Layout Containers"> <link rel="prev" href="GtkAspectFrame.html" title="GtkAspectFrame"> <link rel="next" href="DisplayWidgets.html" title="Display Widgets"> <meta name="generator" content="GTK-Doc V1.25.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="#GtkFixed.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#GtkFixed.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> <a href="#GtkFixed.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_child_properties"> <span class="dim">|</span> <a href="#GtkFixed.child-properties" class="shortcut">Child Properties</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="GtkAspectFrame.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="DisplayWidgets.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="GtkFixed"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="GtkFixed.top_of_page"></a>GtkFixed</span></h2> <p>GtkFixed — A container which allows you to position widgets at fixed coordinates</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="GtkFixed.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_return"> <col class="functions_name"> </colgroup> <tbody> <tr> <td class="function_type"> <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * </td> <td class="function_name"> <a class="link" href="GtkFixed.html#gtk-fixed-new" title="gtk_fixed_new ()">gtk_fixed_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="GtkFixed.html#gtk-fixed-put" title="gtk_fixed_put ()">gtk_fixed_put</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="GtkFixed.html#gtk-fixed-move" title="gtk_fixed_move ()">gtk_fixed_move</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkFixed.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"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkFixed.html#GtkFixed--c-x" title="The “x” child property">x</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> <td class="property_name"><a class="link" href="GtkFixed.html#GtkFixed--c-y" title="The “y” child property">y</a></td> <td class="property_flags">Read / Write</td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkFixed.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="name"> <col class="description"> </colgroup> <tbody><tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="GtkFixed.html#GtkFixed-struct" title="struct GtkFixed">GtkFixed</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> <a name="GtkFixed.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> <span class="lineart">╰──</span> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> <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> GtkFixed </pre> </div> <div class="refsect1"> <a name="GtkFixed.implemented-interfaces"></a><h2>Implemented Interfaces</h2> <p> GtkFixed implements AtkImplementorIface and <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p> </div> <div class="refsect1"> <a name="GtkFixed.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gtk/gtk.h> </pre> </div> <div class="refsect1"> <a name="GtkFixed.description"></a><h2>Description</h2> <p>The <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> widget is a container which can place child widgets at fixed positions and with fixed sizes, given in pixels. <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> performs no automatic layout management.</p> <p>For most applications, you should not use this container! It keeps you from having to learn about the other GTK+ containers, but it results in broken applications. With <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>, the following things will result in truncated text, overlapping widgets, and other display bugs:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p>Themes, which may change widget sizes.</p></li> <li class="listitem"><p>Fonts other than the one you used to write the app will of course change the size of widgets containing text; keep in mind that users may use a larger font because of difficulty reading the default, or they may be using Windows or the framebuffer port of GTK+, where different fonts are available.</p></li> <li class="listitem"><p>Translation of text into other languages changes its size. Also, display of non-English text will use a different font in many cases.</p></li> </ul></div> <p>In addition, the fixed widget can’t properly be mirrored in right-to-left languages such as Hebrew and Arabic. i.e. normally GTK+ will flip the interface to put labels to the right of the thing they label, but it can’t do that with <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>. So your application will not be usable in right-to-left languages.</p> <p>Finally, fixed positioning makes it kind of annoying to add/remove GUI elements, since you have to reposition all the other elements. This is a long-term maintenance problem for your application.</p> <p>If you know none of these things are an issue for your application, and prefer the simplicity of <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>, by all means use the widget. But you should be aware of the tradeoffs.</p> </div> <div class="refsect1"> <a name="GtkFixed.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="gtk-fixed-new"></a><h3>gtk_fixed_new ()</h3> <pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> * gtk_fixed_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Creates a new <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.</p> <div class="refsect3"> <a name="gtk-fixed-new.returns"></a><h4>Returns</h4> <p> a new <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a>.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-fixed-put"></a><h3>gtk_fixed_put ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_fixed_put (<em class="parameter"><code><a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> *fixed</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><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre> <p>Adds a widget to a <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> container at the given position.</p> <div class="refsect3"> <a name="gtk-fixed-put.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>fixed</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</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 widget to add.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>the horizontal position to place the widget at.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>the vertical position to place the widget at.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-fixed-move"></a><h3>gtk_fixed_move ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_fixed_move (<em class="parameter"><code><a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> *fixed</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><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>, <em class="parameter"><code><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>);</pre> <p>Moves a child of a <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</span></a> container to the given position.</p> <div class="refsect3"> <a name="gtk-fixed-move.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>fixed</p></td> <td class="parameter_description"><p>a <a class="link" href="GtkFixed.html" title="GtkFixed"><span class="type">GtkFixed</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.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>x</p></td> <td class="parameter_description"><p>the horizontal position to move the widget to.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>y</p></td> <td class="parameter_description"><p>the vertical position to move the widget to.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> </div> <div class="refsect1"> <a name="GtkFixed.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GtkFixed-struct"></a><h3>struct GtkFixed</h3> <pre class="programlisting">struct GtkFixed;</pre> </div> </div> <div class="refsect1"> <a name="GtkFixed.child-property-details"></a><h2>Child Property Details</h2> <div class="refsect2"> <a name="GtkFixed--c-x"></a><h3>The <code class="literal">“x”</code> child property</h3> <pre class="programlisting"> “x” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>X position of child widget.</p> <p>Flags: Read / Write</p> <p>Default value: 0</p> </div> <hr> <div class="refsect2"> <a name="GtkFixed--c-y"></a><h3>The <code class="literal">“y”</code> child property</h3> <pre class="programlisting"> “y” <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> <p>Y position of child widget.</p> <p>Flags: Read / Write</p> <p>Default value: 0</p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.25.1</div> </body> </html>