diff options
author | BST 2000 Tony Gale <gale@gtk.org> | 2000-07-21 13:26:25 +0000 |
---|---|---|
committer | Tony Gale <gale@src.gnome.org> | 2000-07-21 13:26:25 +0000 |
commit | a7ac5157d072913d24ca407c47923184c5638ccd (patch) | |
tree | 4ed0826a17898ba9967e7ff843e872e36ff4a851 /docs | |
parent | 631205ddc7a443ffaa4d1ef71cc3c0d973017c2b (diff) | |
download | gtk+-a7ac5157d072913d24ca407c47923184c5638ccd.tar.gz |
Minor updates
Fri Jul 21 14:23:51 BST 2000 Tony Gale <gale@gtk.org>
* docs/tutorial/gtk-tut.sgml: Minor updates
* docs/tutorial/*.jpg *.eps: Screenshots for tutorial
Diffstat (limited to 'docs')
-rwxr-xr-x | docs/tutorial/gtk-tut.sgml | 406 | ||||
-rw-r--r-- | docs/tutorial/gtk_tut_packbox1.eps | 1111 | ||||
-rw-r--r-- | docs/tutorial/gtk_tut_packbox1.jpg | bin | 0 -> 25975 bytes | |||
-rw-r--r-- | docs/tutorial/gtk_tut_packbox2.eps | 1042 | ||||
-rw-r--r-- | docs/tutorial/gtk_tut_packbox2.jpg | bin | 0 -> 21958 bytes | |||
-rw-r--r-- | docs/tutorial/gtk_tut_table.eps | 654 | ||||
-rw-r--r-- | docs/tutorial/gtk_tut_table.jpg | bin | 0 -> 4315 bytes |
7 files changed, 3010 insertions, 203 deletions
diff --git a/docs/tutorial/gtk-tut.sgml b/docs/tutorial/gtk-tut.sgml index fc16fa0287..8d9bbf9299 100755 --- a/docs/tutorial/gtk-tut.sgml +++ b/docs/tutorial/gtk-tut.sgml @@ -2,7 +2,7 @@ <book id="gtk-tut"> <bookinfo> - <date>July 18th 2000</date> + <date>July 21st 2000</date> <title>GTK+ 1.2 Tutorial</title> <authorgroup> <author> @@ -233,7 +233,7 @@ When control reaches this point, GTK will sleep waiting for X events occur. In our simple example, however, events are ignored.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-HelloWorld"> <title>Hello World in GTK</title> <para>Now for a program with a widget (a button). It's the classic @@ -402,7 +402,7 @@ purposes.</simpara> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheoryOfSignalsAndCallbacks"> <title>Theory of Signals and Callbacks</title> <para>Before we look in detail at <emphasis>helloworld</emphasis>, we'll discuss signals @@ -486,7 +486,7 @@ data supplied to the callbacks.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Events"> <title>Events</title> <para>In addition to the signal mechanism described above, there is a set @@ -646,7 +646,7 @@ propagation process.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SteppingThroughHelloWorld"> <title>Stepping Through Hello World</title> <para>Now that we know the theory behind this, let's clarify by walking @@ -869,7 +869,7 @@ callback, exiting GTK.</para> <title>Moving On</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-DataTypes"> <title>Data Types</title> <para>There are a few things you probably noticed in the previous examples @@ -890,7 +890,7 @@ is an object.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-MoreOnSignalHandlers"> <title>More on Signal Handlers</title> <para>Lets take another look at the gtk_signal_connect declaration.</para> @@ -947,7 +947,7 @@ void gtk_signal_handler_unblock_by_data( GtkObject *object, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-AnUpgradedHelloWorld"> <title>An Upgraded Hello World</title> <para>Let's take a look at a slightly improved <emphasis>helloworld</emphasis> with @@ -1081,7 +1081,7 @@ into a window, how do you control where that widget is positioned? This is where packing comes in.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheoryOfPackingBoxes"> <title>Theory of Packing Boxes</title> <para>Most packing is done by creating boxes as in the example above. These @@ -1115,7 +1115,7 @@ placing and creating widgets.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-DetailsOfBoxes"> <title>Details of Boxes</title> <para>Because of this flexibility, packing boxes in GTK can be confusing at @@ -1126,7 +1126,7 @@ different styles.</para> <para> <inlinemediaobject> <imageobject> -<imagedata fileref="gtk_tut_packbox1.gif"> +<imagedata fileref="gtk_tut_packbox1.jpg"> </imageobject> <imageobject> <imagedata fileref="gtk_tut_packbox1.eps"> @@ -1188,7 +1188,7 @@ following figure should make it clearer:</para> <para> <inlinemediaobject> <imageobject> -<imagedata fileref="gtk_tut_packbox2.gif"> +<imagedata fileref="gtk_tut_packbox2.jpg"> </imageobject> <imageobject> <imagedata fileref="gtk_tut_packbox2.eps"> @@ -1203,7 +1203,7 @@ it. Compile it yourself and play with it.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-PackingDemonstrationProgram"> <title>Packing Demonstration Program</title> <programlisting role="C"> @@ -1505,7 +1505,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-PackingUsingTables"> <title>Packing Using Tables</title> <para>Let's take a look at another way of packing - Tables. These can be @@ -1655,7 +1655,7 @@ any spacing.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TablePackingExamples"> <title>Table Packing Example</title> <para>Here we make a window with three buttons in a 2x2 table. @@ -1666,7 +1666,7 @@ Which means it should look something like this:</para> <para> <inlinemediaobject> <imageobject> -<imagedata fileref="gtk_tut_table.gif"> +<imagedata fileref="gtk_tut_table.jpg"> </imageobject> <imageobject> <imagedata fileref="gtk_tut_table.eps"> @@ -1816,8 +1816,8 @@ children of a widget (a window is a widget too) will not be displayed until the window itself is shown using the gtk_widget_show() function.</para> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Casting</title> +<sect1 id="sec-Casting"> +<title>Casting</title> <para>You'll notice as you go on that GTK uses a type casting system. This is always done using macros that both test the ability to cast the @@ -1865,7 +1865,7 @@ learn how a widget works just by looking at the function declarations.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-WidgetHierarchy"> <title>Widget Hierarchy</title> <para>For your reference, here is the class hierarchy tree used to implement widgets.</para> @@ -1969,7 +1969,7 @@ learn how a widget works just by looking at the function declarations.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-WidgetsWithoutWindows"> <title>Widgets Without Windows</title> <para>The following widgets do not have an associated window. If you want to @@ -2009,7 +2009,7 @@ gtk/testgtk.c.</para> <title>The Button Widget</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-NormalButtons"> <title>Normal Buttons</title> <para>We've almost seen all there is to see of the button widget. It's @@ -2178,8 +2178,8 @@ released within Button widget</simpara> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Toggle Buttons</title> +<sect1 id="sec-ToggleButtons"> +<title>Toggle Buttons</title> <para>Toggle buttons are derived from normal buttons and are very similar, except they will always be in one of two states, alternated by a @@ -2254,8 +2254,8 @@ void gtk_toggle_button_toggled (GtkToggleButton *toggle_button); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Check Buttons</title> +<sect1 id="sec-CheckButtons"> +<title>Check Buttons</title> <para>Check buttons inherit many properties and functions from the the toggle buttons above, but look a little different. Rather than being @@ -2474,7 +2474,7 @@ that incorporate them: <link linkend="sec-ScrolledWindows">Scrolled Windows</link>, and others.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-CreatingAnAdjustment"> <title>Creating an Adjustment</title> <para>Many of the widgets which use adjustment objects do so automatically, @@ -2506,8 +2506,8 @@ usually non-zero.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Using Adjustments the Easy Way</title> +<sect1 id="sec-UsingAdjustments"> +<title>Using Adjustments the Easy Way</title> <para>The adjustable widgets can be roughly divided into those which use and require specific units for these values and those which treat them as @@ -2549,8 +2549,8 @@ widget? Of course it will! Just like this:</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Adjustment Internals</title> +<sect1 id="sec-AdjustmentInternals"> +<title>Adjustment Internals</title> <para>Ok, you say, that's nice, but what if I want to create my own handlers to respond when the user adjusts a range widget or a spin button, and @@ -2675,7 +2675,7 @@ trough. When the user manipulates the slider, the range widget will change the value of the adjustment.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ScrollbarWidgets"> <title>Scrollbar Widgets</title> <para>These are your standard, run-of-the-mill scrollbars. These should be @@ -2706,8 +2706,8 @@ widget.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Scale Widgets</title> +<sect1 id="sec-ScaleWidgets"> +<title>Scale Widgets</title> <para>Scale widgets are used to allow the user to visually select and manipulate a value within a specific range. You might want to use a @@ -2809,7 +2809,7 @@ of all widgets that interest you,</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-CommonRangeFunctions"> <title>Common Range Functions</title> <para>The Range widget class is fairly complicated internally, but, like @@ -2895,7 +2895,7 @@ gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "changed"); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-KeyAndMouseBindings"> <title>Key and Mouse bindings</title> <para>All of the GTK range widgets react to mouse clicks in more or less @@ -2943,7 +2943,7 @@ and <literal>Control-Page Down</literal>.</para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> Horizontal Range Widgets</title> +<title>Horizontal Range Widgets</title> <para>The left and right arrow keys work as you might expect in these widgets, moving the slider back and forth by <literal>step_increment</literal>. The @@ -2957,7 +2957,7 @@ while for HScrollbar, it's done with <literal>Control-Home</literal> and </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-RangeWidgetsExample"> <title>Example</title> <para>This example is a somewhat modified version of the "range controls" @@ -3275,7 +3275,7 @@ window.</para> <title>Miscellaneous Widgets</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Labels"> <title>Labels</title> <para>Labels are used a lot in GTK, and are relatively simple. Labels emit @@ -3465,7 +3465,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Arrows"> <title>Arrows</title> <para>The Arrow widget draws an arrowhead, facing in a number of possible @@ -3588,7 +3588,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheTooltipsObject"> <title>The Tooltips Object</title> <para>These are the little text strings that pop up when you leave your @@ -4122,8 +4122,8 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Dialogs</title> +<sect1 id="sec-Dialogs"> +<title>Dialogs</title> <para>The Dialog widget is very simple, and is actually just a window with a few things pre-packed into it for you. The structure for a Dialog is:</para> @@ -4649,7 +4649,7 @@ makes the application terminate.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Rulers"> <title>Rulers</title> <para>Ruler widgets are used to indicate the location of the mouse pointer @@ -4821,7 +4821,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Statusbars"> <title>Statusbars</title> <para>Statusbars are simple widgets used to display a text message. They @@ -4959,7 +4959,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TextEntries"> <title>Text Entries</title> <para>The Entry widget allows text to be typed and displayed in a single line @@ -5152,7 +5152,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SpinButtons"> <title>Spin Buttons</title> <para>The Spin Button widget is generally used to allow the user to select a @@ -5623,7 +5623,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ComboBox"> <title>Combo Box</title> <para>The combo box is another fairly simple widget that is really just a @@ -5795,7 +5795,7 @@ appropriate Item. Frankly, I have no idea how to do that. </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Calendar"> <title>Calendar</title> <para>The Calendar widget is an effective way to display and retrieve @@ -6383,8 +6383,8 @@ int main(int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Color Selection</title> +<sect1 id="sec-ColorSelection"> +<title>Color Selection</title> <para>The color selection widget is, not surprisingly, a widget for interactive selection of colors. This composite widget lets the user @@ -6639,7 +6639,7 @@ gint main( gint argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-FileSelections"> <title>File Selections</title> <para>The file selection widget is a quick and simple way to display a File @@ -6846,7 +6846,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheAlignmentWidget"> <title>The Alignment widget</title> <para>The alignment widget allows you to place a widget within its window at @@ -6891,7 +6891,7 @@ the <link linkend="sec-ProgressBars">Progress Bar</link> widget.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-FixedContainer"> <title>Fixed Container</title> <para>The Fixed container allows you to place widgets at a fixed position @@ -7005,8 +7005,8 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Layout Container</title> +<sect1 id="sec-LayoutContainer"> +<title>Layout Container</title> <para>The Layout container is similar to the Fixed container except that it implements an infinite (where infinity is less than 2^32) scrolling @@ -7196,8 +7196,8 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Aspect Frames</title> +<sect1 id="sec-AspectFrames"> +<title>Aspect Frames</title> <para>The aspect frame widget is like a frame widget, except that it also enforces the aspect ratio (that is, the ratio of the width to the @@ -7286,7 +7286,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-PanedWindowWidgets"> <title>Paned Window Widgets</title> <para>The paned window widgets are useful when you want to divide an area @@ -7702,7 +7702,7 @@ the default size of the window or other widgets.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ButtonBoxes"> <title>Button Boxes</title> <para>Button Boxes are a convenient way to quickly layout a group of @@ -7897,7 +7897,7 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Toolbar"> <title>Toolbar</title> <para>Toolbars are usually used to group some number of widgets in order to @@ -8338,8 +8338,8 @@ static char * gtk_xpm[] = { </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Notebooks</title> +<sect1 id="sec-Notebooks"> +<title>Notebooks</title> <para>The NoteBook Widget is a collection of "pages" that overlap each other, each page contains different information with only one page @@ -8686,7 +8686,7 @@ optionally have a title, which itself is optionally active, allowing us to bind a function to its selection.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-CreatingACListWidget"> <title>Creating a CList widget</title> <para>Creating a CList is quite straightforward, once you have learned @@ -8720,7 +8720,7 @@ functionality. This is a change from the GTK 1.0 implementation.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ModesOfOperating"> <title>Modes of operation</title> <para>There are several attributes that can be used to alter the behaviour of @@ -8780,7 +8780,7 @@ void gtk_clist_set_shadow_type( GtkCList *clist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-WorkingWithTitles"> <title>Working with titles</title> <para>When you create a CList widget, you will also get a set of title @@ -8846,7 +8846,7 @@ void gtk_clist_set_column_widget( GtkCList *clist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ManipulatingTheListItself"> <title>Manipulating the list itself</title> <para>It is possible to change the justification for a column, and it is @@ -8966,7 +8966,7 @@ void gtk_clist_set_background( GtkCList *clist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-AddingRowsToTheList"> <title>Adding rows to the list</title> <para>We can add rows in three ways. They can be prepended or appended to @@ -9029,7 +9029,7 @@ void gtk_clist_thaw( GtkCList * clist ); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SettingTextAndPixmapsInTheCells"> <title>Setting text and pixmaps in the cells</title> <para>A cell can contain a pixmap, text or both. To set them the following @@ -9133,7 +9133,7 @@ void gtk_clist_set_shift( GtkCList *clist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-StoringDataPointers"> <title>Storing data pointers</title> <para>With a CList it is possible to set a data pointer for a row. This @@ -9163,7 +9163,7 @@ gint gtk_clist_find_row_from_data( GtkCList *clist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-WorkingWithSelections"> <title>Working with selections</title> <para>There are also functions available that let us force the (un)selection @@ -9199,7 +9199,7 @@ Luckily, there is a simpler way...</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheSignalsThatBringItTogether"> <title>The signals that bring it together</title> <para>As with all other widgets, there are a few signals that can be used. The @@ -9242,7 +9242,7 @@ gtk_signal_connect(GTK_OBJECT( clist), </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ACListExample"> <title>A CList example</title> <programlisting role="C"> @@ -9438,8 +9438,8 @@ required by the user.</para> <para>This section of the tutorial is under development.</para> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Creating a CTree</title> +<sect1 id="sec-CreatingACTree"> +<title>Creating a CTree</title> <para>A CTree, being derived from CList, can have multiple columns. These columns optionally have titles that are displayed along the top of @@ -9479,7 +9479,7 @@ and "Description", with the first column containing the tree.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-AddingAndRemovingNodes"> <title>Adding and Removing nodes</title> <para>The items in a CTree are termed <emphasis>nodes</emphasis>. Nodes are inserted @@ -9575,8 +9575,8 @@ remove.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Setting CTree Attributes</title> +<sect1 id="sec-SettingCTreeAttributes"> +<title>Setting CTree Attributes</title> <para>There are a number of functions that set options that pertain to a CTree instance as a whole (rather than to a particular node). The @@ -9635,7 +9635,7 @@ can be one of:</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-UtilizingRowData"> <title>Utilizing row data</title> <para>The CTree widget allows you to associate data with each node of the @@ -9697,8 +9697,8 @@ the same way as the corresponding CList ones. However, Tree is not derived from CList, so you cannot use them interchangeably.</para> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Creating a Tree</title> +<sect1 id="sec-CreatingATree"> +<title>Creating a Tree</title> <para>A Tree is created in the usual way, using:</para> @@ -9740,7 +9740,7 @@ equivalent to gtk_list_*_items().</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-AddingASubtree"> <title>Adding a Subtree</title> <para>A subtree is created like any other Tree widget. A subtree is added @@ -9768,8 +9768,8 @@ expects.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Handling the Selection List</title> +<sect1 id="sec-HandlingTheSelectionList"> +<title>Handling the Selection List</title> <para>As with CList, the Tree type has a <literal>selection</literal> field, and it is possible to control the behaviour of the tree (somewhat) by @@ -9814,7 +9814,7 @@ to call gtk_signal_connect() for every subtree.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TreeWidgetInternals"> <title>Tree Widget Internals</title> <para>The Tree's struct definition looks like this:</para> @@ -10321,7 +10321,7 @@ GtkWidget GTK_TREE_ITEM_SUBTREE (gpointer obj) </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TreeExample"> <title>Tree Example</title> <para>This is somewhat like the tree example in testgtk.c, but a lot less @@ -10535,7 +10535,7 @@ Itemfactory, it is not possible to add images or the character '/' to the menus.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ManualMenuCreation"> <title>Manual Menu Creation</title> <para>In the true tradition of teaching, we'll show you the hard way @@ -10757,7 +10757,7 @@ by a menu bar, as shown in the sample code.</simpara> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ManualMenuExample"> <title>Manual Menu Example</title> <para>That should about do it. Let's take a look at an example to help clarify.</para> @@ -10905,7 +10905,7 @@ table, bind keys to menu functions.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-UsingItemFactory"> <title>Using ItemFactory</title> <para>Now that we've shown you the hard way, here's how you do it using the @@ -10914,7 +10914,7 @@ gtk_item_factory calls.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ItemFactoryExample"> <title>Item Factory Example</title> <para>Here is an example using the GTK item factory.</para> @@ -11056,7 +11056,7 @@ use of double- and triple-click to select a word and a whole line, respectively.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-CreatingAndConfiguringATextBox"> <title>Creating and Configuring a Text box</title> <para>There is only one function for creating a new Text widget.</para> @@ -11133,7 +11133,7 @@ TRUE or FALSE value.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TextManipulation"> <title>Text Manipulation</title> <para>The current insertion point of a Text widget can be set using</para> @@ -11236,7 +11236,7 @@ with it.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-KeyBoardShortcuts"> <title>Keyboard Shortcuts</title> <para>The text widget has a number of pre-installed keyboard shortcuts for @@ -11311,7 +11311,7 @@ extend the selection.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-AGtkTextExample"> <title>A GtkText Example</title> <programlisting role="C"> @@ -11524,7 +11524,7 @@ widget, please consider writing a tutorial on it so others may benefit from your time.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-CTree"> <title>CTree</title> <para></para> @@ -11532,64 +11532,64 @@ from your time.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Curves</title> +<sect1 id="sec-Curves"> +<title>Curves</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Drawing Area</title> +<sect1 id="sec-DrawingArea"> +<title>Drawing Area</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Font Selection Dialog</title> +<sect1 id="sec-FontSelectionDialog"> +<title>Font Selection Dialog</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Gamma Curve</title> +<sect1 id="sec-GammaCurve"> +<title>Gamma Curve</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Image</title> +<sect1 id="sec-Image"> +<title>Image</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Packer</title> +<sect1 id="sec-Packer"> +<title>Packer</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Plugs and Sockets</title> +<sect1 id="sec-PlugsAndSockets"> +<title>Plugs and Sockets</title> <para></para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Preview</title> +<sect1 id="sec-Preview"> +<title>Preview</title> <para></para> @@ -12100,7 +12100,7 @@ void gtk_widget_hide( GtkWidget *widget ); <title>Timeouts, IO and Idle Functions</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Timeouts"> <title>Timeouts</title> <para>You may be wondering how you make GTK do useful work when in gtk_main. @@ -12138,7 +12138,7 @@ gint timeout_callback( gpointer data ); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-MonitoringIO"> <title>Monitoring IO</title> <para>A nifty feature of GDK (the library that underlies GTK), is the @@ -12191,7 +12191,7 @@ void input_callback( gpointer data, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-IdleFunctions"> <title>Idle Functions</title> <para><!-- TODO: Need to check on idle priorities - TRG --> @@ -12224,7 +12224,7 @@ called.</para> <title>Advanced Event and Signal Handling</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SignalFunctions"> <title>Signal Functions</title> <!-- ----------------------------------------------------------------- --> @@ -12355,7 +12355,7 @@ void gtk_signal_emit_stop_by_name( GtkObject *object, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SignalEmissionAndPropagation"> <title>Signal Emission and Propagation</title> <para>Signal emission is the process whereby GTK runs all handlers for a @@ -12411,7 +12411,7 @@ the signal is propagated, not the current emission.</simpara> <title>Managing Selections</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SelectionsOverview"> <title>Overview</title> <para>One type of interprocess communication supported by X and GTK is @@ -12449,8 +12449,8 @@ selections and targets are identified by atoms.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Retrieving the selection</title> +<sect1 id="sec-RetrievingTheSelection"> +<title>Retrieving the selection</title> <para>Retrieving the selection is an asynchronous process. To start the process, you call:</para> @@ -12609,8 +12609,8 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title>Supplying the selection </title> +<sect1 id="sec-SupplyingTheSelection"> +<title>Supplying the selection</title> <para>Supplying the selection is a bit more complicated. You must register handlers that will be called when your selection is requested. For @@ -12821,7 +12821,7 @@ have equivalent functionality built-in, while in other cases it may not.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Definitions"> <title>Definitions</title> <para>Definitions for the extremes of many of the standard types are:</para> @@ -12873,7 +12873,7 @@ guint32 </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-DoublyLinkedLists"> <title>Doubly Linked Lists</title> <para>The following functions are used to create, manage, and destroy @@ -12969,7 +12969,7 @@ void g_list_foreach( GList *list, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SinglyLinkedLists"> <title>Singly Linked Lists</title> <para>Many of the above functions for singly linked lists are identical to the @@ -13013,7 +13013,7 @@ void g_slist_foreach( GSList *list, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-MemoryManagement"> <title>Memory Management</title> <programlisting role="C"> @@ -13061,7 +13061,7 @@ MEM_CHECK</literal> to the top of gmem.c and re-make and make install.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Timers"> <title>Timers</title> <para>Timer functions can be used to time operations (e.g., to see how much @@ -13088,7 +13088,7 @@ gdouble g_timer_elapsed( GTimer *timer, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-StringHandling"> <title>String Handling</title> <para>GLib defines a new type called a GString, which is similar to a @@ -13166,7 +13166,7 @@ void g_string_sprintfa ( GString *string, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-UtilityAndErrorFunctions"> <title>Utility and Error Functions</title> <programlisting role="C"> @@ -13244,8 +13244,8 @@ files. These can be used to set the colors of just about any widget, and can also be used to tile pixmaps onto the background of some widgets. </para> <!-- ----------------------------------------------------------------- --> -<sect1> -<title>Functions For rc Files </title> +<sect1 id="sec-FunctionsForRCFiles"> +<title>Functions For rc Files</title> <para>When your application starts, you should include a call to:</para> @@ -13304,7 +13304,7 @@ imagination as to how best to take advantage of this.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GTKsRCFileFormat"> <title>GTK's rc File Format</title> <para>The format of the GTK file is illustrated in the example below. This is @@ -13408,7 +13408,7 @@ simple matter of common sense really. Anything that could apply, should.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ExampleRCFile"> <title>Example rc file</title> <programlisting role="C"> @@ -13543,11 +13543,11 @@ widget "main window.*GtkButton*" style "main_button" <!-- ***************************************************************** --> <chapter id="ch-WritingYourOwnWidgets"> -<title>Writing Your Own Widgets </title> +<title>Writing Your Own Widgets</title> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Overview</title> +<sect1 id="sec-WidgetsOverview"> +<title>Overview</title> <para>Although the GTK distribution comes with many types of widgets that should cover most basic needs, there may come a time when you need to @@ -13572,8 +13572,8 @@ got this tutorial, or from:</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> The Anatomy Of A Widget</title> +<sect1 id="sec-TheAnatomyOfAWidget"> +<title>The Anatomy Of A Widget</title> <para>In order to create a new widget, it is important to have an understanding of how GTK objects work. This section is just meant as a @@ -13634,12 +13634,12 @@ cast to the parent class' object structure as needed.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Creating a Composite widget</title> +<sect1 id="sec-CreatingACompositeWidget"> +<title>Creating a Composite widget</title> <!-- ----------------------------------------------------------------- --> <sect2> -<title> Introduction</title> +<title>Introduction</title> <para>One type of widget that you may be interested in creating is a widget that is merely an aggregate of other GTK widgets. This type of @@ -13657,7 +13657,7 @@ depressed. </para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> Choosing a parent class</title> +<title>Choosing a parent class</title> <para>The parent class for a composite widget is typically the container class that holds all of the elements of the composite widget. For @@ -13681,7 +13681,7 @@ from VBox instead, and stick our table inside the VBox.</para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> The header file</title> +<title>The header file</title> <para>Each widget class has a header file which declares the object and class structures for that widget, along with public functions. @@ -14138,8 +14138,8 @@ main (int argc, char *argv[]) </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title>Creating a widget from scratch.</title> +<sect1 id="sec-CreatingAWidgetFromScratch"> +<title>Creating a widget from scratch</title> <!-- ----------------------------------------------------------------- --> <sect2> @@ -14154,7 +14154,7 @@ set the value.</para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> Displaying a widget on the screen</title> +<title>Displaying a widget on the screen</title> <para>There are several steps that are involved in displaying on the screen. After the widget is created with a call to <literal>WIDGETNAME_new()</literal>, @@ -14212,7 +14212,7 @@ an <literal>expose()</literal> function.</para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> The origins of the Dial Widget</title> +<title>The origins of the Dial Widget</title> <para>Just as all land animals are just variants on the first amphibian that crawled up out of the mud, GTK widgets tend to start off as variants @@ -14231,7 +14231,7 @@ would be a good idea to look them over before continuing.</para> <!-- ----------------------------------------------------------------- --> <sect2> -<title> The Basics</title> +<title>The Basics</title> <para>Quite a bit of our widget should look pretty familiar from the Tictactoe widget. First, we have a header file:</para> @@ -15039,7 +15039,7 @@ entry widget to display the current value of the dial.</simpara> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-LearningMore"> <title>Learning More</title> <para>Only a small part of the many details involved in creating widgets @@ -15058,7 +15058,7 @@ Good luck!</para> <title>Scribble, A Simple Example Drawing Program</title> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-ScribbleOverview"> <title>Overview</title> <para>In this section, we will build a simple drawing program. In the @@ -15072,7 +15072,7 @@ pressure and tilt, from such devices quite easy.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-EventHandling"> <title>Event Handling</title> <para>The GTK signals we have already discussed are for high-level actions, @@ -15284,7 +15284,7 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event) </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-TheDrawingAreaWidget"> <title>The DrawingArea Widget, And Drawing</title> <para>We now turn to the process of drawing on the screen. The @@ -15497,8 +15497,8 @@ mundane details like creating the main window.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Adding XInput support</title> +<sect1 id="sec-AddingXInputSupport"> +<title>Adding XInput support</title> <para>It is now possible to buy quite inexpensive input devices such as drawing tablets, which allow drawing with a much greater @@ -15966,7 +15966,7 @@ Notebook, Progress Bar, Dialogs, and File selection widgets. Thanks a lot Mark! You've been a great help.</simpara> </listitem> -<listitem><simpara>Tim Janik <literal><ulink url="mailto:timj@gtk.org">timj@psynet.net</ulink></literal> for his great job on the Lists +<listitem><simpara>Tim Janik <literal><ulink url="mailto:timj@gtk.org">timj@gtk.org</ulink></literal> for his great job on the Lists Widget. His excellent work on automatically extracting the widget tree and signal information from GTK. Thanks Tim :)</simpara> </listitem> @@ -16049,7 +16049,7 @@ signals. Therefore, you should refer to the widget hierarchy tree when using the signals listed in this section.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkObject"> <title>GtkObject</title> <programlisting role="C"> @@ -16060,7 +16060,7 @@ void GtkObject::destroy (GtkObject *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkWidget"> <title>GtkWidget</title> <programlisting role="C"> @@ -16240,7 +16240,7 @@ void GtkWidget::debug-msg (GtkWidget *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkData"> <title>GtkData</title> <programlisting role="C"> @@ -16251,7 +16251,7 @@ void GtkData::disconnect (GtkData *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkContainer"> <title>GtkContainer</title> <programlisting role="C"> @@ -16274,7 +16274,7 @@ void GtkContainer::set-focus-child (GtkContainer *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkCalendar"> <title>GtkCalendar</title> <programlisting role="C"> @@ -16297,7 +16297,7 @@ void GtkCalendar::next-year (GtkCalendar *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkEditable"> <title>GtkEditable</title> <programlisting role="C"> @@ -16354,7 +16354,7 @@ void GtkEditable::paste-clipboard (GtkEditable *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkTipsQuery"> <title>GtkTipsQuery</title> <programlisting role="C"> @@ -16378,7 +16378,7 @@ gboolean GtkTipsQuery::widget-selected (GtkTipsQuery *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkCList"> <title>GtkCList</title> <programlisting role="C"> @@ -16437,7 +16437,7 @@ void GtkCList::abort-column-resize (GtkCList *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkNotebook"> <title>GtkNotebook</title> <programlisting role="C"> @@ -16450,7 +16450,7 @@ void GtkNotebook::switch-page (GtkNotebook *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkList"> <title>GtkList</title> <programlisting role="C"> @@ -16467,7 +16467,7 @@ void GtkList::unselect-child (GtkList *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkMenuShell"> <title>GtkMenuShell</title> <programlisting role="C"> @@ -16488,7 +16488,7 @@ void GtkMenuShell::cancel (GtkMenuShell *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkToolbar"> <title>GtkToolbar</title> <programlisting role="C"> @@ -16503,7 +16503,7 @@ void GtkToolbar::style-changed (GtkToolbar *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkTree"> <title>GtkTree</title> <programlisting role="C"> @@ -16520,7 +16520,7 @@ void GtkTree::unselect-child (GtkTree *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkButton"> <title>GtkButton</title> <programlisting role="C"> @@ -16539,7 +16539,7 @@ void GtkButton::leave (GtkButton *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkItem"> <title>GtkItem</title> <programlisting role="C"> @@ -16554,7 +16554,7 @@ void GtkItem::toggle (GtkItem *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkWindow"> <title>GtkWindow</title> <programlisting role="C"> @@ -16566,7 +16566,7 @@ void GtkWindow::set-focus (GtkWindow *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkHandleBox"> <title>GtkHandleBox</title> <programlisting role="C"> @@ -16581,7 +16581,7 @@ void GtkHandleBox::child-detached (GtkHandleBox *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkToggleButton"> <title>GtkToggleButton</title> <programlisting role="C"> @@ -16592,7 +16592,7 @@ void GtkToggleButton::toggled (GtkToggleButton *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkMenuItem"> <title>GtkMenuItem</title> <programlisting role="C"> @@ -16605,7 +16605,7 @@ void GtkMenuItem::activate-item (GtkMenuItem *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkListItem"> <title>GtkListItem</title> <programlisting role="C"> @@ -16641,7 +16641,7 @@ void GtkListItem::scroll-horizontal (GtkListItem *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkTreeItem"> <title>GtkTreeItem</title> <programlisting role="C"> @@ -16654,7 +16654,7 @@ void GtkTreeItem::expand (GtkTreeItem *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkCheckMenuItem"> <title>GtkCheckMenuItem</title> <programlisting role="C"> @@ -16665,7 +16665,7 @@ void GtkCheckMenuItem::toggled (GtkCheckMenuItem *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkInputDialog"> <title>GtkInputDialog</title> <programlisting role="C"> @@ -16680,7 +16680,7 @@ void GtkInputDialog::disable-device (GtkInputDialog *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkColorSelection"> <title>GtkColorSelection</title> <programlisting role="C"> @@ -16691,7 +16691,7 @@ void GtkColorSelection::color-changed (GtkColorSelection *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkStatusBar"> <title>GtkStatusBar</title> <programlisting role="C"> @@ -16708,7 +16708,7 @@ void GtkStatusbar::text-popped (GtkStatusbar *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkCTree"> <title>GtkCTree</title> <programlisting role="C"> @@ -16739,7 +16739,7 @@ void GtkCTree::change-focus-row-expansion (GtkCTree *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkCurve"> <title>GtkCurve</title> <programlisting role="C"> @@ -16750,7 +16750,7 @@ void GtkCurve::curve-type-changed (GtkCurve *, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkAdjustment"> <title>GtkAdjustment</title> <programlisting role="C"> @@ -17257,7 +17257,7 @@ struct _GdkEventOther which are not included in complete form elsewhere.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-Tictactoe"> <title>Tictactoe</title> <!-- ----------------------------------------------------------------- --> <sect2> @@ -17560,12 +17560,12 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> GtkDial</title> +<sect1 id="sec-GtkDial"> +<title>GtkDial</title> <!-- ----------------------------------------------------------------- --> <sect2> -<title> gtkdial.h</title> +<title>gtkdial.h</title> <programlisting role="C"> /* example-start gtkdial gtkdial.h */ @@ -17667,7 +17667,7 @@ void gtk_dial_set_adjustment (GtkDial *dial, <!-- ----------------------------------------------------------------- --> <sect2> -<title> gtkdial.c</title> +<title>gtkdial.c</title> <programlisting role="C"> /* example-start gtkdial gtkdial.c */ @@ -18331,7 +18331,7 @@ gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, <!-- ----------------------------------------------------------------- --> <sect2> -<title> dial_test.c</title> +<title>dial_test.c</title> <programlisting role="C"> #include <stdio.h> @@ -18405,12 +18405,12 @@ int main( int argc, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Scribble</title> +<sect1 id="sec-Scribble"> +<title>Scribble</title> <!-- ----------------------------------------------------------------- --> <sect2> -<title> scribble-simple.c</title> +<title>scribble-simple.c</title> <programlisting role="C"> /* example-start scribble-simple scribble-simple.c */ @@ -18599,7 +18599,7 @@ int main( int argc, <!-- ----------------------------------------------------------------- --> <sect2> -<title> scribble-xinput.c</title> +<title>scribble-xinput.c</title> <programlisting role="C"> /* example-start scribble-xinput scribble-xinput.c */ @@ -18946,7 +18946,7 @@ field. The selection_mode may be one of the following:</para> <para>The default is <literal>GTK_SELECTION_MULTIPLE</literal>.</para> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-SelectionSignals"> <title>Signals</title> <programlisting role="C"> @@ -18982,8 +18982,8 @@ removed from the List.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Functions</title> +<sect1 id="sec-GtkListFunctions"> +<title>Functions</title> <programlisting role="C"> guint gtk_list_get_type( void ); @@ -19115,8 +19115,8 @@ gint GTK_IS_LIST( gpointer obj); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Example</title> +<sect1 id="sec-GtkListExample"> +<title>Example</title> <para>Following is an example program that will print out the changes of the selection of a List, and lets you "arrest" list items into a prison @@ -19406,8 +19406,8 @@ void sigh_print_selection( GtkWidget *gtklist, </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> List Item Widget</title> +<sect1 id="sec-ListItemWidget"> +<title>List Item Widget</title> <para>The ListItem widget is designed to act as a container holding up to one child, providing functions for selection/deselection just like the @@ -19431,17 +19431,17 @@ also add a GtkVBox or a GtkArrow etc. to the GtkListItem.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkListItemSignals"> <title>Signals</title> -<para>AkListItem does not create new signals on its own, but inherits +<para>A GtkListItem does not create new signals on its own, but inherits the signals of a Item.</para> </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> -<title> Functions</title> +<sect1 id="sec-GtkListItemFunctions"> +<title>Functions</title> <programlisting role="C"> guint gtk_list_item_get_type( void ); @@ -19503,7 +19503,7 @@ gint GTK_IS_LIST_ITEM( gpointer obj ); </sect1> <!-- ----------------------------------------------------------------- --> -<sect1> +<sect1 id="sec-GtkListItemExample"> <title>Example</title> <para>Please see the List example on this, which covers the usage of a diff --git a/docs/tutorial/gtk_tut_packbox1.eps b/docs/tutorial/gtk_tut_packbox1.eps new file mode 100644 index 0000000000..41ca28b63f --- /dev/null +++ b/docs/tutorial/gtk_tut_packbox1.eps @@ -0,0 +1,1111 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (gtk_tut_packbox1.eps) +%%CreationDate: (Mon Jul 17 16:57:42 2000) +%%BoundingBox: 0 0 357.642 159 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 0 +%%EndComments + +%%BeginDefaults +%%PageOrientation: Portrait +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/buffer 512 string def +/byte 1 string def +/color_packet 3 string def +/pixels 768 string def + +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-RunlengthEncodedCompression or 1-NoCompression. + % hex color packets. + % + gsave + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 359 160 +userdict begin +%%BeginData: +DisplayImage +0 0 +358.642 159.623 +12 +528 235 +1 +0 +0 +256 +000000 +000080 +707470 +909490 +c0c0c0 +d0d4d0 +f81440 +f8fcf8 +082c13 +30f500 +10ff00 +08bf00 +30a901 +3ed900 +100100 +085000 +e460d8 +363836 +101010 +080808 +50acd8 +37f4f3 +09ffff +50bfbf +da04b8 +e600f3 +0100ff +5000bf +5050cb +0137dc +000901 +005050 +580808 +373030 +300830 +3e303e +d844dc +f53e36 +ff1010 +bf0808 +b11b0a +0db637 +030010 +500008 +560430 +37003e +100010 +080008 +c80896 +3330e4 +081001 +080850 +025c40 +00f500 +00ff00 +00bf00 +a9040d +c00000 +0d0000 +500000 +c8083d +363000 +141000 +500800 +746820 +59f537 +0cff10 +08bf08 +73a914 +59d9f4 +0c01ff +0c50bf +24043e +f60012 +ff0003 +bf0008 +700896 +3730e4 +101001 +580440 +370000 +100000 +080000 +50080d +373000 +091000 +f4803d +f5f500 +ffff00 +bfbf00 +38a928 +a6d937 +040110 +505008 +03f014 +0036f4 +0010ff +0008bf +280070 +36f512 +10ff03 +4c0408 +020030 +000010 +000008 +505083 +373700 +090900 +505003 +100830 +f6303e +580840 +b03000 +041000 +b84410 +353e00 +101000 +080800 +281b3e +36b600 +4c0412 +020000 +28b020 +36f5f4 +10ffff +08bfbf +5ca91e +f6d91a +ff0103 +bf5008 +ad2428 +f9375c +03100f +cc3001 +41f500 +08ff00 +0004a1 +0000aa +00000c +d05030 +f637f4 +ff09ff +bf50bf +080805 +40300d +1f1003 +500808 +cc08e4 +f63059 +ff100f +d0447c +f63ef9 +ff10ff +bf08bf +080030 +4000f7 +1f00ff +8c082f +f63002 +ff1001 +90300d +2c3e00 +031000 +085400 +403800 +1f1000 +00507c +0037f9 +0009ff +0050bf +10da7c +02e6f9 +0001ff +eb52a0 +0001f6 +0000ff +0000bf +00d800 +003800 +001000 +000800 +003000 +013e00 +d48400 +f6f500 +d0b100 +f60d00 +ff0300 +bf5000 +8cce7c +f638f9 +ccf450 +2cf537 +03ff09 +08bf50 +080a20 +400000 +1f0000 +10ec08 +eb6eda +0000e6 +000001 +000350 +7c0a01 +f90037 +ff0010 +009804 +00cb08 +00dc30 +000110 +005008 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +04ff04ff040e0000040007ff07ff070c020000000400070004ff04ff040b020000000400 +070004ff04ff040b020000000400070004ff04ff040b0200000004000700040201ff01ff +010504020200000004000700040201ff01ff010504020200000004000700040201ff01d1 +070e0000070e00000101070e0000010104020200000004000700040201ff01d10700040c +020000000700040c0200000001010700040c020000000101040202000000040007000402 +0103060401060600010a0701011407010104070101ff01950700040c0200000007000401 +000804010200000001010700040c02000000010104020200000004000700040201040604 +01040600010b0701011407010104070101ff01950700040c020000000700040100080401 +020000000101070004020001040300010401020000000101040202000000040007000402 +0105060401020600010c0700010007010100070101020703010207030101070101010701 +010007010100070101020703010107010101070101ff01830700040c0200000007000401 +000004060000040102000000010107000403000104010001040202000000010104020200 +00000400070004020106060401000600010c070101000702010007010100070101010701 +010007010101070101000701010007010101070201000701010007010101070101000701 +0101070101ff01830700040c020000000700040100000406000004010200000001010700 +0404000304030200000001010402020000000400070004020107060201000600010d0701 +010007010101070101040701010007010104070301020701010107010100070101010701 +0101070301ff01840700040c020000000700040100000406000004010200000001010700 +0405000104040200000001010402020000000400070004020108060001000602010c0700 +010107010101070101010704010007010104070301020701010107010100070101010701 +0102070101ff01850700040c020000000700040100000406000004010200000001010700 +0404000304030200000001010402020000000400070004020107060001000604010b0700 +010107010101070101000701010107010100070101040701010007010101070101010701 +01000701010107010101070301ff01840700040c02000000070004010000040600000401 +020000000101070004030001040100010402020000000101040202000000040007000402 +010606000102060401060701010007010101070201000701010007010101070101000701 +010107010100070101010701010007020100070101000701010107010100070101010701 +01ff01830700040200050403020000000700040100000406000004010200000001010700 +040200010403000104010200000001010402020000000400070004020105060001040604 +010507010100070101010701010007010102070201000701010007030101070101020703 +0100070101020703010107010101070101ff018307000402000504030200000007000401 +000804010200000001010700040c02000000010104020200000004000700040201040600 +01060604010b070101ff01b10700040c020000000700040c0200000001010700040c0200 +00000101040202000000040007000402011d070101ff01b10700020d00000700020d0000 +01010700020d00000101040202000000040007000402011d070101ff01b1001f0101000f +010104020200000004000700040201ff01ff010504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +050504020200000004000700040205ff05ff050504020200000004000700040205ff05ff +05050402020000000400070004020511000005010000050b000005050000053600000500 +000505040000050400000506000305020005050a00020501000005ff056b040202000000 +0400070004020511000005010000050b0000050500000535000005010000050800000500 +000005030000050500000503000005010000050e0000050200000501000005ff056a0402 +02000000040007000402050b000105000000050000020500000005010000050800000500 +000105020000050000010503000205010000050300000507000005000001050300020501 +000005020000050200000505000005010000050800000500000005030000050500000506 +0000050e0000050200000501000005ff056a040202000000040007000402050a00000501 +000105010000050100000500000005090001050100000501000105010000050100000502 +000005010000050100000508000105010000050100000502000005000000050200000502 +000005040000050200000507000005020000050200000506000105040000050e00000502 +0000050200000501000005ff0566040202000000040007000402050a0000050200000501 +000005010001050a00000502000005010000050200000501000005020000050200010509 +000005020000050100000502000005010000050100000501000005050000050200040503 +00000502000005020000050800010502000505090000050200000502000005ff05690402 +02000000040007000402050a0000050200000501000005010001050a0000050200000501 +000005020000050100000502000005020001050900000502000005010004050100000501 +00000501000005050000050200000507000405020000050a000005010000050e00000502 +00000502000005ff0569040202000000040007000402050a000005020000050100000501 +000005000000050900000502000005010000050200000501000005020000050100000501 +000005080000050200000501000005050000050000000500000005000000050500000502 +0000050600000504000005010000050500000503000005010000050e0000050200000502 +000005ff0569040202000000040007000402050a00000501000105010000050100000501 +000005080000050200000501000105010000050100000502000005000000050300000507 +000005020000050100000502000005020000050200000506000005020000050600000504 +000005010000050500000503000005010000050e0000050200000502000005ff05690402 +02000000040007000402050b000105000000050100010500000005020000050700000502 +000005010000050000010503000205010000050300000507000005020000050200020503 +000005020000050600000502000005060000050400000501000405020003050200050502 +000005060002050300000501000005ff0566040202000000040007000402050e0000054f +0000052a0000050c00000502000005ff0566040202000000040007000402050a00000502 +000005090006051a0006051c000005290000050d00000501000005ff0567040202000000 +040007000402050b0002055100000536000005ff056b04020200000004000700040205ff +05ff050504020200000004000700040205090751000007200000072a0000073000000730 +00000712000005e204020200000004000700040205090700055000000700051f00000700 +052900000700052f00000700052f000007000511000005e2040202000000040007000402 +05090700054f030000000700051e0300000007000528030000000700052e030000000700 +052e03000000070005100300000005e204020200000004000700040205090700054f0300 +00000700051e0300000007000528030000000700052e030000000700052e030000000700 +05100300000005e204020200000004000700040205090700054f030000000700051e0300 +000007000528030000000700052e030000000700052e03000000070005100300000005e2 +04020200000004000700040205090700054f030000000700051e03000000070005280300 +00000700052e030000000700052e03000000070005100300000005e20402020000000400 +07000402050907000509000005010000050b0000052e0000050403000000070005040000 +05000000051603000000070005020000050c000005010000051303000000070005020005 +050400000504000005060003050200050505030000000700050200050504000005040000 +05060003050200050505030000000700050300020501000005060300000005e204020200 +0000040007000402050907000509000005010000050b0000052e00000504030000000700 +0503000005010000051603000000070005020000050c0000050100000513030000000700 +05020000050800000500000005030000050500000503000005010000050a030000000700 +05020000050800000500000005030000050500000503000005010000050a030000000700 +05020000050200000501000005050300000005e204020200000004000700040205090700 +050300010500000005000002050000000501000005080000050000010503000205010000 +050300000507000005000001050300020503000205020000050100000501030000000700 +050300000501000005000001050300020501000005030000050403000000070005020000 +050000010502000005020000050000050501000205020000050000010506030000000700 +050200000508000005000000050300000505000005060000050a03000000070005020000 +0508000005000000050300000505000005060000050a0300000007000502000005020000 +0501000005050300000005e2040202000000040007000402050907000502000005010001 +050100000501000005000000050900010501000005010000050200000501000005010000 +050800010501000005010000050200000501000005020000050100000500000005020300 +000007000502000005020001050100000501000005020000050100000501000005050300 +000007000502000105010000050100000502000005010000050100000501000005020000 +050100010501000005050300000007000502000005070000050200000502000005060001 +05040000050a030000000700050200000507000005020000050200000506000105040000 +050a0300000007000502000005020000050200000501000005010300000005e204020200 +00000400070004020509070005020000050200000501000005010001050a000005020000 +050100000502000005020001050900000502000005050000050100000505000105030300 +000007000502000005020000050200000501000005020000050200010506030000000700 +050200000502000005010000050200000501000005010000050100000502000005010000 +050200000505030000000700050200040503000005020000050200000508000105020005 +050503000000070005020004050300000502000005020000050800010502000505050300 +0000070005020000050200000502000005040300000005e2040202000000040007000402 +0509070005020000050200000501000005010001050a0000050200000501000005020000 +050200010509000005020000050200030501000005050001050303000000070005020000 +050200000502000005010000050200000502000105060300000007000502000005020000 +050100000502000005010000050100000501000005020000050100000502000005050300 +00000700050200000507000405020000050a000005010000050a03000000070005020000 +0507000405020000050a000005010000050a030000000700050200000502000005020000 +05040300000005e204020200000004000700040205090700050200000502000005010000 +050100000500000005090000050200000501000005020000050100000501000005080000 +050200000501000005020000050100000505000005000000050203000000070005020000 +050200000502000005010000050200000501000005010000050503000000070005020000 +050200000501000005020000050100000501000005010000050200000501000005020000 +050503000000070005020000050600000504000005010000050500000503000005010000 +050a03000000070005020000050600000504000005010000050500000503000005010000 +050a03000000070005020000050200000502000005040300000005e20402020000000400 +070004020509070005020000050100010501000005010000050100000508000105010000 +050100000502000005000000050300000507000105010000050100000502000005010000 +050200000501000005010000050103000000070005020000050200010501000005010000 +050200000500000005030000050403000000070005020001050100000501000005010001 +050100000501000005010000050200000501000005020000050503000000070005020000 +050600000504000005010000050500000503000005010000050a03000000070005020000 +050600000504000005010000050500000503000005010000050a03000000070005020000 +050200000502000005040300000005e20402020000000400070004020509070005030001 +050000000501000105000000050200000507000005000001050300020501000005030000 +050700000500000105030002050000000501000205020000050200000500030000000700 +050200000502000005000001050300020501000005030000050100000501030000000700 +050200000500000105030001050000000501000105000001050100020502000005020000 +050200000501030000000700050200000506000005040000050100040502000305020005 +050200000501030000000700050200000506000005040000050100040502000305020005 +05020000050103000000070005030002050300000501000005010300000005e204020200 +00000400070004020509070005060000052c000005190300000007000503000005160000 +0501030000000700052500000501030000000700052b00000501030000000700052b0000 +0501030000000700050900000502000005010300000005e2040202000000040007000402 +050907000502000005020000050900060513000605000000051903000000070005030000 +051500000502030000000700052400000502030000000700052a00000502030000000700 +052a00000502030000000700050900000501000005020300000005e20402020000000400 +070004020509070005030002052d00000519030000000700050400000518030000000700 +0528030000000700052e030000000700052e0300000007000508000005060300000005e2 +04020200000004000700040205090700054f030000000700051e03000000070005280300 +00000700052e030000000700052e03000000070005100300000005e20402020000000400 +0700040205090700054f030000000700051e0300000007000528030000000700052e0300 +00000700052e03000000070005100300000005e204020200000004000700040205090700 +0500034f000007000500031e0000070005000328000007000500032e000007000500032e +0000070005000310000005e2040202000000040007000402050900ff001805e204020200 +0000040007000402051b075100000524072000000524072a000005240727000005240730 +0000052607120000051e040202000000040007000402051b07000550000005240700051f +00000524070005290000052407000526000005240700052f00000526070005110000051e +040202000000040007000402051b0700054f0300000005240700051e0300000005240700 +0528030000000524070005250300000005240700052e0300000005260700051003000000 +051e040202000000040007000402051b0700054f0300000005240700051e030000000524 +07000528030000000524070005250300000005240700052e030000000526070005100300 +0000051e040202000000040007000402051b0700054f0300000005240700051e03000000 +052407000528030000000524070005250300000005240700052e03000000052607000510 +03000000051e040202000000040007000402051b0700054f0300000005240700051e0300 +0000052407000528030000000524070005250300000005240700052e0300000005260700 +051003000000051e040202000000040007000402051b07000509000005010000050b0000 +052e00000504030000000524070005040000050000000516030000000524070005020000 +050c00000501000005130300000005240700050100060500000405020000050300000501 +000505050300000005240700050200050504000005040000050600030502000505050300 +0000052607000503000205010000050603000000051e040202000000040007000402051b +07000509000005010000050b0000052e0000050403000000052407000503000005010000 +0516030000000524070005020000050c0000050100000513030000000524070005040000 +0503000005030000050100000503000005010000050a0300000005240700050200000508 +00000500000005030000050500000503000005010000050a030000000526070005020000 +0502000005010000050503000000051e040202000000040007000402051b070005030001 +050000000500000205000000050100000508000005000001050300020501000005030000 +050700000500000105030002050300020502000005010000050103000000052407000503 +000005010000050000010503000205010000050300000504030000000524070005020000 +050000010502000005020000050000050501000205020000050000010506030000000524 +0700050400000503000005030000050100000503000005010000050a0300000005240700 +050200000508000005000000050300000505000005060000050a03000000052607000502 +00000502000005010000050503000000051e040202000000040007000402051b07000502 +000005010001050100000501000005000000050900010501000005010000050200000501 +000005010000050800010501000005010000050200000501000005020000050100000500 +000005020300000005240700050200000502000105010000050100000502000005010000 +050100000505030000000524070005020001050100000501000005020000050100000501 +000005010000050200000501000105010000050503000000052407000504000005030000 +05030000050100000503000005010000050a030000000524070005020000050700000502 +0000050200000506000105040000050a0300000005260700050200000502000005020000 +05010000050103000000051e040202000000040007000402051b07000502000005020000 +0501000005010001050a0000050200000501000005020000050200010509000005020000 +050500000501000005050001050303000000052407000502000005020000050200000501 +000005020000050200010506030000000524070005020000050200000501000005020000 +050100000501000005010000050200000501000005020000050503000000052407000504 +000005030004050200000503000005010005050503000000052407000502000405030000 +050200000502000005080001050200050505030000000526070005020000050200000502 +0000050403000000051e040202000000040007000402051b070005020000050200000501 +000005010001050a00000502000005010000050200000502000105090000050200000502 +000305010000050500010503030000000524070005020000050200000502000005010000 +050200000502000105060300000005240700050200000502000005010000050200000501 +000005010000050100000502000005010000050200000505030000000524070005040000 +0503000005020000050200000503000005010000050a0300000005240700050200000507 +000405020000050a000005010000050a0300000005260700050200000502000005020000 +050403000000051e040202000000040007000402051b0700050200000502000005010000 +050100000500000005090000050200000501000005020000050100000501000005080000 +050200000501000005020000050100000505000005000000050203000000052407000502 +000005020000050200000501000005020000050100000501000005050300000005240700 +050200000502000005010000050200000501000005010000050100000502000005010000 +050200000505030000000524070005040000050300000503000005010000050300000501 +0000050a0300000005240700050200000506000005040000050100000505000005030000 +05010000050a0300000005260700050200000502000005020000050403000000051e0402 +02000000040007000402051b070005020000050100010501000005010000050100000508 +000105010000050100000502000005000000050300000507000105010000050100000502 +000005010000050200000501000005010000050103000000052407000502000005020001 +050100000501000005020000050000000503000005040300000005240700050200010501 +000005010000050100010501000005010000050100000502000005010000050200000505 +0300000005240700050400000503000005030000050100000503000005010000050a0300 +00000524070005020000050600000504000005010000050500000503000005010000050a +0300000005260700050200000502000005020000050403000000051e0402020000000400 +07000402051b070005030001050000000501000105000000050200000507000005000001 +050300020501000005030000050700000500000105030002050000000501000205020000 +050200000500030000000524070005020000050200000500000105030002050100000503 +000005010000050103000000052407000502000005000001050300010500000005010001 +050000010501000205020000050200000502000005010300000005240700050400000503 +000005030000050200030502000505020000050103000000052407000502000005060000 +050400000501000405020003050200050502000005010300000005260700050300020503 +000005010000050103000000051e040202000000040007000402051b070005060000052c +000005190300000005240700050300000516000005010300000005240700052500000501 +03000000052407000522000005010300000005240700052b000005010300000005260700 +0509000005020000050103000000051e040202000000040007000402051b070005020000 +050200000509000605130006050000000519030000000524070005030000051500000502 +030000000524070005240000050203000000052407000521000005020300000005240700 +052a0000050203000000052607000509000005010000050203000000051e040202000000 +040007000402051b070005030002052d0000051903000000052407000504000005180300 +0000052407000528030000000524070005250300000005240700052e0300000005260700 +05080000050603000000051e040202000000040007000402051b0700054f030000000524 +0700051e03000000052407000528030000000524070005250300000005240700052e0300 +000005260700051003000000051e040202000000040007000402051b0700054f03000000 +05240700051e03000000052407000528030000000524070005250300000005240700052e +0300000005260700051003000000051e040202000000040007000402051b07000500034f +0000052407000500031e0000052407000500032800000524070005000325000005240700 +0500032e000005260700050003100000051e040202000000040007000402051b00520524 +00210524002b052400280524003105260013051e04020200000004000700040205090778 +00000747000007510000074e0000074e0000073a00000509040202000000040007000402 +05090700057700000700054600000700055000000700054d00000700054d000007000539 +000005090402020000000400070004020509070005760300000007000545030000000700 +054f030000000700054c030000000700054c030000000700053803000000050904020200 +00000400070004020509070005760300000007000545030000000700054f030000000700 +054c030000000700054c0300000007000538030000000509040202000000040007000402 +0509070005760300000007000545030000000700054f030000000700054c030000000700 +054c03000000070005380300000005090402020000000400070004020509070005760300 +000007000545030000000700054f030000000700054c030000000700054c030000000700 +053803000000050904020200000004000700040205090700051d000005010000050b0000 +052e000005170300000007000518000005000000052903000000070005160000050c0000 +050100000526030000000700051500060500000405020000050300000501000505180300 +000007000515000605000004050200000503000005010005051803000000070005170002 +05010000051a03000000050904020200000004000700040205090700051d000005010000 +050b0000052e000005170300000007000517000005010000052903000000070005160000 +050c00000501000005260300000007000518000005030000050300000501000005030000 +05010000051d030000000700051800000503000005030000050100000503000005010000 +051d03000000070005160000050200000501000005190300000005090402020000000400 +070004020509070005170001050000000500000205000000050100000508000005000001 +050300020501000005030000050700000500000105030002050300020502000005010000 +051403000000070005170000050100000500000105030002050100000503000005170300 +000007000516000005000001050200000502000005000005050100020502000005000001 +0519030000000700051800000503000005030000050100000503000005010000051d0300 +00000700051800000503000005030000050100000503000005010000051d030000000700 +051600000502000005010000051903000000050904020200000004000700040205090700 +051600000501000105010000050100000500000005090001050100000501000005020000 +050100000501000005080001050100000501000005020000050100000502000005010000 +050000000515030000000700051600000502000105010000050100000502000005010000 +050100000518030000000700051600010501000005010000050200000501000005010000 +050100000502000005010001050100000518030000000700051800000503000005030000 +050100000503000005010000051d03000000070005180000050300000503000005010000 +0503000005010000051d0300000007000516000005020000050200000501000005150300 +000005090402020000000400070004020509070005160000050200000501000005010001 +050a00000502000005010000050200000502000105090000050200000505000005010000 +050500010516030000000700051600000502000005020000050100000502000005020001 +051903000000070005160000050200000501000005020000050100000501000005010000 +050200000501000005020000051803000000070005180000050300040502000005030000 +050100050518030000000700051800000503000405020000050300000501000505180300 +000007000516000005020000050200000518030000000509040202000000040007000402 +0509070005160000050200000501000005010001050a0000050200000501000005020000 +050200010509000005020000050200030501000005050001051603000000070005160000 +050200000502000005010000050200000502000105190300000007000516000005020000 +050100000502000005010000050100000501000005020000050100000502000005180300 +00000700051800000503000005020000050200000503000005010000051d030000000700 +051800000503000005020000050200000503000005010000051d03000000070005160000 +050200000502000005180300000005090402020000000400070004020509070005160000 +050200000501000005010000050000000509000005020000050100000502000005010000 +050100000508000005020000050100000502000005010000050500000500000005150300 +000007000516000005020000050200000501000005020000050100000501000005180300 +000007000516000005020000050100000502000005010000050100000501000005020000 +050100000502000005180300000007000518000005030000050300000501000005030000 +05010000051d030000000700051800000503000005030000050100000503000005010000 +051d03000000070005160000050200000502000005180300000005090402020000000400 +070004020509070005160000050100010501000005010000050100000508000105010000 +050100000502000005000000050300000507000105010000050100000502000005010000 +050200000501000005010000051403000000070005160000050200010501000005010000 +050200000500000005030000051703000000070005160001050100000501000005010001 +050100000501000005010000050200000501000005020000051803000000070005180000 +0503000005030000050100000503000005010000051d0300000007000518000005030000 +05030000050100000503000005010000051d030000000700051600000502000005020000 +051803000000050904020200000004000700040205090700051700010500000005010001 +050000000502000005070000050000010503000205010000050300000507000005000001 +050300020500000005010002050200000502000005130300000007000516000005020000 +050000010503000205010000050300000501000005140300000007000516000005000001 +050300010500000005010001050000010501000205020000050200000502000005140300 +000007000518000005030000050300000502000305020005050200000514030000000700 +051800000503000005030000050200030502000505020000051403000000070005170002 +0503000005010000051503000000050904020200000004000700040205090700051a0000 +052c0000052c030000000700051700000516000005140300000007000539000005140300 +00000700053600000514030000000700053600000514030000000700051d000005020000 +051503000000050904020200000004000700040205090700051600000502000005090006 +0513000605000000052c0300000007000517000005150000051503000000070005380000 +0515030000000700053500000515030000000700053500000515030000000700051d0000 +0501000005160300000005090402020000000400070004020509070005170002052d0000 +052c03000000070005180000052b030000000700054f030000000700054c030000000700 +054c030000000700051c0000051a03000000050904020200000004000700040205090700 +05760300000007000545030000000700054f030000000700054c030000000700054c0300 +000007000538030000000509040202000000040007000402050907000576030000000700 +0545030000000700054f030000000700054c030000000700054c03000000070005380300 +000005090402020000000400070004020509070005000376000007000500034500000700 +0500034f000007000500034c000007000500034c00000700050003380000050904020200 +0000040007000402050900ff00f1050904020200000004000700040205ff05ff05050402 +0200000004000700040205ff05ff050504020200000004000700040205ff05ff05050402 +0200000004000700040205ff05ff050504020200000004000700040205ff05ff05050402 +02000000040007000402050903ff03f107000508040202000000040007000402050907ff +07f2050804020200000004000700040205ff05ff050504020200000004000700040205ff +05ff050504020200000004000700040205ff05ff050504020200000004000700040205ff +05ff050504020200000004000700040205ff05ff050504020200000004000700040205ff +05ff050504020200000004000700040205ff05ff050504020200000004000700040205ff +05ff05050402020000000400070004020511000005010000050b00000505000005360007 +05000004050200000503000005010005050a00020501000005ff05740402020000000400 +070004020511000005010000050b00000505000005350000050300000503000005030000 +050100000503000005010000050e0000050200000501000005ff05730402020000000400 +07000402050b000105000000050000020500000005010000050800000500000105020000 +050000010503000205010000050300000507000005000001050300020501000005020000 +0502000005050000050300000503000005030000050100000503000005010000050e0000 +050200000501000005ff0573040202000000040007000402050a00000501000105010000 +050100000500000005090001050100000501000105010000050100000502000005010000 +050100000508000105010000050100000502000005000000050200000502000005040000 +050400000503000005030000050100000503000005010000050e00000502000005020000 +0501000005ff056f040202000000040007000402050a0000050200000501000005010001 +050a00000502000005010000050200000501000005020000050200010509000005020000 +050100000502000005010000050100000501000005050000050400000503000405020000 +050300000501000505090000050200000502000005ff0572040202000000040007000402 +050a0000050200000501000005010001050a000005020000050100000502000005010000 +050200000502000105090000050200000501000405010000050100000501000005050000 +050400000503000005020000050200000503000005010000050e00000502000005020000 +05ff0572040202000000040007000402050a000005020000050100000501000005000000 +050900000502000005010000050200000501000005020000050100000501000005080000 +050200000501000005050000050000000500000005000000050500000504000005030000 +05030000050100000503000005010000050e0000050200000502000005ff057204020200 +0000040007000402050a0000050100010501000005010000050100000508000005020000 +050100010501000005010000050200000500000005030000050700000502000005010000 +050200000502000005020000050600000504000005030000050300000501000005030000 +05010000050e0000050200000502000005ff0572040202000000040007000402050b0001 +050000000501000105000000050200000507000005020000050100000500000105030002 +050100000503000005070000050200000502000205030000050200000506000005040000 +050300000503000005020003050200050502000005060002050300000501000005ff056f +040202000000040007000402050e0000054f000005210000050c00000502000005ff056f +040202000000040007000402050a00000502000005090006051a0006051c000005200000 +050d00000501000005ff0570040202000000040007000402050b000205510000052d0000 +05ff057404020200000004000700040205ff05ff05050402020000000400070004020509 +07510000051707200000052b072a0000052807270000052407300000052f071200000529 +040202000000040007000402050907000550000005170700051f0000052b070005290000 +052807000526000005240700052f0000052f070005110000052904020200000004000700 +040205090700054f0300000005170700051e03000000052b070005280300000005280700 +05250300000005240700052e03000000052f070005100300000005290402020000000400 +0700040205090700054f0300000005170700051e03000000052b07000528030000000528 +070005250300000005240700052e03000000052f07000510030000000529040202000000 +04000700040205090700054f0300000005170700051e03000000052b0700052803000000 +0528070005250300000005240700052e03000000052f0700051003000000052904020200 +000004000700040205090700054f0300000005170700051e03000000052b070005280300 +00000528070005250300000005240700052e03000000052f070005100300000005290402 +02000000040007000402050907000509000005010000050b0000052e0000050403000000 +051707000504000005000000051603000000052b070005020000050c0000050100000513 +030000000528070005010006050000040502000005030000050100050505030000000524 +07000502000505040000050400000506000305020005050503000000052f070005030002 +050100000506030000000529040202000000040007000402050907000509000005010000 +050b0000052e0000050403000000051707000503000005010000051603000000052b0700 +05020000050c000005010000051303000000052807000504000005030000050300000501 +00000503000005010000050a030000000524070005020000050800000500000005030000 +050500000503000005010000050a03000000052f07000502000005020000050100000505 +030000000529040202000000040007000402050907000503000105000000050000020500 +000005010000050800000500000105030002050100000503000005070000050000010503 +000205030002050200000501000005010300000005170700050300000501000005000001 +050300020501000005030000050403000000052b07000502000005000001050200000502 +000005000005050100020502000005000001050603000000052807000504000005030000 +05030000050100000503000005010000050a030000000524070005020000050800000500 +0000050300000505000005060000050a03000000052f0700050200000502000005010000 +050503000000052904020200000004000700040205090700050200000501000105010000 +050100000500000005090001050100000501000005020000050100000501000005080001 +050100000501000005020000050100000502000005010000050000000502030000000517 +070005020000050200010501000005010000050200000501000005010000050503000000 +052b07000502000105010000050100000502000005010000050100000501000005020000 +050100010501000005050300000005280700050400000503000005030000050100000503 +000005010000050a03000000052407000502000005070000050200000502000005060001 +05040000050a03000000052f070005020000050200000502000005010000050103000000 +05290402020000000400070004020509070005020000050200000501000005010001050a +000005020000050100000502000005020001050900000502000005050000050100000505 +000105030300000005170700050200000502000005020000050100000502000005020001 +050603000000052b07000502000005020000050100000502000005010000050100000501 +000005020000050100000502000005050300000005280700050400000503000405020000 +050300000501000505050300000005240700050200040503000005020000050200000508 +000105020005050503000000052f07000502000005020000050200000504030000000529 +0402020000000400070004020509070005020000050200000501000005010001050a0000 +050200000501000005020000050200010509000005020000050200030501000005050001 +050303000000051707000502000005020000050200000501000005020000050200010506 +03000000052b070005020000050200000501000005020000050100000501000005010000 +050200000501000005020000050503000000052807000504000005030000050200000502 +00000503000005010000050a0300000005240700050200000507000405020000050a0000 +05010000050a03000000052f070005020000050200000502000005040300000005290402 +020000000400070004020509070005020000050200000501000005010000050000000509 +000005020000050100000502000005010000050100000508000005020000050100000502 +000005010000050500000500000005020300000005170700050200000502000005020000 +05010000050200000501000005010000050503000000052b070005020000050200000501 +000005020000050100000501000005010000050200000501000005020000050503000000 +05280700050400000503000005030000050100000503000005010000050a030000000524 +070005020000050600000504000005010000050500000503000005010000050a03000000 +052f07000502000005020000050200000504030000000529040202000000040007000402 +050907000502000005010001050100000501000005010000050800010501000005010000 +050200000500000005030000050700010501000005010000050200000501000005020000 +050100000501000005010300000005170700050200000502000105010000050100000502 +00000500000005030000050403000000052b070005020001050100000501000005010001 +050100000501000005010000050200000501000005020000050503000000052807000504 +00000503000005030000050100000503000005010000050a030000000524070005020000 +050600000504000005010000050500000503000005010000050a03000000052f07000502 +000005020000050200000504030000000529040202000000040007000402050907000503 +000105000000050100010500000005020000050700000500000105030002050100000503 +000005070000050000010503000205000000050100020502000005020000050003000000 +051707000502000005020000050000010503000205010000050300000501000005010300 +0000052b0700050200000500000105030001050000000501000105000001050100020502 +000005020000050200000501030000000528070005040000050300000503000005020003 +050200050502000005010300000005240700050200000506000005040000050100040502 +00030502000505020000050103000000052f070005030002050300000501000005010300 +000005290402020000000400070004020509070005060000052c00000519030000000517 +07000503000005160000050103000000052b070005250000050103000000052807000522 +000005010300000005240700052b0000050103000000052f070005090000050200000501 +030000000529040202000000040007000402050907000502000005020000050900060513 +000605000000051903000000051707000503000005150000050203000000052b07000524 +0000050203000000052807000521000005020300000005240700052a0000050203000000 +052f07000509000005010000050203000000052904020200000004000700040205090700 +05030002052d00000519030000000517070005040000051803000000052b070005280300 +00000528070005250300000005240700052e03000000052f070005080000050603000000 +052904020200000004000700040205090700054f0300000005170700051e03000000052b +07000528030000000528070005250300000005240700052e03000000052f070005100300 +0000052904020200000004000700040205090700054f0300000005170700051e03000000 +052b07000528030000000528070005250300000005240700052e03000000052f07000510 +030000000529040202000000040007000402050907000500034f0000051707000500031e +0000052b070005000328000005280700050003250000052407000500032e0000052f0700 +05000310000005290402020000000400070004020509005205170021052b002b05280028 +05240031052f001305290402020000000400070004020509075100000751000007510000 +075100000751000007510000050904020200000004000700040205090700055000000700 +055000000700055000000700055000000700055000000700055000000509040202000000 +04000700040205090700054f030000000700054f030000000700054f030000000700054f +030000000700054f030000000700054f0300000005090402020000000400070004020509 +0700054f030000000700054f030000000700054f030000000700054f030000000700054f +030000000700054f03000000050904020200000004000700040205090700054f03000000 +0700054f030000000700054f030000000700054f030000000700054f030000000700054f +03000000050904020200000004000700040205090700054f030000000700054f03000000 +0700054f030000000700054f030000000700054f030000000700054f0300000005090402 +02000000040007000402050907000509000005010000050b0000052e0000050403000000 +0700051d000005000000052e03000000070005160000050c000005010000052603000000 +07000516000605000004050200000503000005010005051a030000000700051600060500 +0004050200000503000005010005051a0300000007000523000205010000052503000000 +0509040202000000040007000402050907000509000005010000050b0000052e00000504 +030000000700051c000005010000052e03000000070005160000050c0000050100000526 +030000000700051900000503000005030000050100000503000005010000051f03000000 +0700051900000503000005030000050100000503000005010000051f0300000007000522 +000005020000050100000524030000000509040202000000040007000402050907000503 +000105000000050000020500000005010000050800000500000105030002050100000503 +00000507000005000001050300020503000205020000050100000501030000000700051c +00000501000005000001050300020501000005030000051c030000000700051600000500 +000105020000050200000500000505010002050200000500000105190300000007000519 +00000503000005030000050100000503000005010000051f030000000700051900000503 +000005030000050100000503000005010000051f03000000070005220000050200000501 +000005240300000005090402020000000400070004020509070005020000050100010501 +000005010000050000000509000105010000050100000502000005010000050100000508 +000105010000050100000502000005010000050200000501000005000000050203000000 +0700051b0000050200010501000005010000050200000501000005010000051d03000000 +070005160001050100000501000005020000050100000501000005010000050200000501 +000105010000051803000000070005190000050300000503000005010000050300000501 +0000051f030000000700051900000503000005030000050100000503000005010000051f +030000000700052200000502000005020000050100000520030000000509040202000000 +0400070004020509070005020000050200000501000005010001050a0000050200000501 +000005020000050200010509000005020000050500000501000005050001050303000000 +0700051b00000502000005020000050100000502000005020001051e0300000007000516 +000005020000050100000502000005010000050100000501000005020000050100000502 +000005180300000007000519000005030004050200000503000005010005051a03000000 +07000519000005030004050200000503000005010005051a030000000700052200000502 +000005020000052303000000050904020200000004000700040205090700050200000502 +00000501000005010001050a000005020000050100000502000005020001050900000502 +00000502000305010000050500010503030000000700051b000005020000050200000501 +00000502000005020001051e030000000700051600000502000005010000050200000501 +000005010000050100000502000005010000050200000518030000000700051900000503 +000005020000050200000503000005010000051f03000000070005190000050300000502 +0000050200000503000005010000051f0300000007000522000005020000050200000523 +030000000509040202000000040007000402050907000502000005020000050100000501 +000005000000050900000502000005010000050200000501000005010000050800000502 +000005010000050200000501000005050000050000000502030000000700051b00000502 +00000502000005010000050200000501000005010000051d030000000700051600000502 +000005010000050200000501000005010000050100000502000005010000050200000518 +030000000700051900000503000005030000050100000503000005010000051f03000000 +0700051900000503000005030000050100000503000005010000051f0300000007000522 +000005020000050200000523030000000509040202000000040007000402050907000502 +000005010001050100000501000005010000050800010501000005010000050200000500 +000005030000050700010501000005010000050200000501000005020000050100000501 +00000501030000000700051b000005020001050100000501000005020000050000000503 +0000051c0300000007000516000105010000050100000501000105010000050100000501 +000005020000050100000502000005180300000007000519000005030000050300000501 +00000503000005010000051f030000000700051900000503000005030000050100000503 +000005010000051f03000000070005220000050200000502000005230300000005090402 +020000000400070004020509070005030001050000000501000105000000050200000507 +000005000001050300020501000005030000050700000500000105030002050000000501 +000205020000050200000500030000000700051b00000502000005000001050300020501 +000005030000050100000519030000000700051600000500000105030001050000000501 +000105000001050100020502000005020000050200000514030000000700051900000503 +000005030000050200030502000505020000051603000000070005190000050300000503 +000005020003050200050502000005160300000007000523000205030000050100000520 +0300000005090402020000000400070004020509070005060000052c0000051903000000 +0700051c0000051600000519030000000700053900000514030000000700053700000516 +030000000700053700000516030000000700052900000502000005200300000005090402 +020000000400070004020509070005020000050200000509000605130006050000000519 +030000000700051c000005150000051a0300000007000538000005150300000007000536 +000005170300000007000536000005170300000007000529000005010000052103000000 +05090402020000000400070004020509070005030002052d00000519030000000700051d +00000530030000000700054f030000000700054f030000000700054f0300000007000528 +0000052503000000050904020200000004000700040205090700054f030000000700054f +030000000700054f030000000700054f030000000700054f030000000700054f03000000 +050904020200000004000700040205090700054f030000000700054f030000000700054f +030000000700054f030000000700054f030000000700054f030000000509040202000000 +040007000402050907000500034f000007000500034f000007000500034f000007000500 +034f000007000500034f000007000500034f000005090402020000000400070004020509 +00ff00f1050904020200000004000700040205ff05ff0505040202000000040007000402 +05ff05ff050504020200000004000700040205ff05ff0505040202000000040007000402 +05ff05ff050504020200000004000700040205ff05ff0505040202000000040007000402 +050903ff03f107000508040202000000040007000402050907ff07f20508040202000000 +04000700040205ff05ff050504020200000004000700040205ff05ff0505040202000000 +04000700040205ff05ff050504020200000004000700040205ff05ff0505040202000000 +04000700040205ff05ff050504020200000004000700040205f3071b000005f404020200 +000004000700040205f30700051a000005f404020200000004000700040205f307000519 +0300000005f404020200000004000700040205f3070005190300000005f4040202000000 +04000700040205f3070005190300000005f404020200000004000700040205f307000519 +0300000005f404020200000004000700040205f3070005040003050a0000050100000501 +0300000005f404020200000004000700040205f307000503000005030000050c00000501 +0300000005f404020200000004000700040205f307000502000005050000050100000502 +0000050100000500000205000300000005f404020200000004000700040205f307000502 +0000050500000501000005020000050100000501000005010300000005f4040202000000 +04000700040205f307000502000005050000050100000502000005010000050100000501 +0300000005f404020200000004000700040205f307000502000005020000050100000501 +000005020000050100000501000005010300000005f404020200000004000700040205f3 +070005020000050300000500000005010000050200000501000005010000050103000000 +05f404020200000004000700040205f30700050300000503000005020000050100010501 +00000501000005010300000005f404020200000004000700040205f30700050400030500 +00000502000105000000050100000501000105000300000005f404020200000004000700 +040205f3070005190300000005f404020200000004000700040205f30700051903000000 +05f404020200000004000700040205f3070005190300000005f404020200000004000700 +040205f3070005190300000005f404020200000004000700040205f30700051903000000 +05f404020200000004000700040205f3070005000319000005f404020200000004000700 +040205f3001c05f404020200000004000700040205ff05ff050504020200000004000700 +040205ff05ff050504020200000004000700040205ff05ff050504020200000004000700 +040205ff05ff050504020200000004000700040205ff05ff050504020200000004000700 +040205ff05ff050504020200000004000700040205ff05ff050504020200000004000700 +040205ff05ff050504020200000004000700040205ff05ff050504020200000004000700 +040205ff05ff05050402020000000400070004ff04ff040b020000000400070004ff04ff +040b020000000400070004ff04ff040b02000000040002ff02ff020d00ff00ff0010 +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 358 159 +%%EOF diff --git a/docs/tutorial/gtk_tut_packbox1.jpg b/docs/tutorial/gtk_tut_packbox1.jpg Binary files differnew file mode 100644 index 0000000000..b7b4ce383a --- /dev/null +++ b/docs/tutorial/gtk_tut_packbox1.jpg diff --git a/docs/tutorial/gtk_tut_packbox2.eps b/docs/tutorial/gtk_tut_packbox2.eps new file mode 100644 index 0000000000..c98df71f37 --- /dev/null +++ b/docs/tutorial/gtk_tut_packbox2.eps @@ -0,0 +1,1042 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (gtk_tut_packbox2.eps) +%%CreationDate: (Mon Jul 17 17:01:37 2000) +%%BoundingBox: 0 0 344.736 144 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 0 +%%EndComments + +%%BeginDefaults +%%PageOrientation: Portrait +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/buffer 512 string def +/byte 1 string def +/color_packet 3 string def +/pixels 768 string def + +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-RunlengthEncodedCompression or 1-NoCompression. + % hex color packets. + % + gsave + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 346 145 +userdict begin +%%BeginData: +DisplayImage +0 0 +345.736 144.679 +12 +509 213 +1 +0 +0 +256 +000000 +000080 +707470 +909490 +c0c0c0 +d0d4d0 +f81440 +f8fcf8 +086100 +307000 +106800 +082f00 +306c00 +3e6500 +107600 +086900 +e46500 +366e00 +102e00 +086300 +506f00 +376d00 +092f00 +506700 +da6900 +e66d00 +017000 +502f00 +507000 +016100 +006300 +006b00 +586204 +376f00 +107800 +083200 +302e08 +3e6730 +106910 +086608 +e02704 +f53f00 +ff0000 +bf0800 +b11b08 +0db630 +030010 +500008 +56045c +3700f4 +1000ff +0800bf +c804a9 +3300d9 +080001 +080050 +0208fc +003036 +001010 +000808 +a904dc +c000f3 +0d00ff +5000bf +c80804 +363000 +141000 +500800 +740450 +590037 +0c0009 +730808 +593030 +0c1010 +0c0808 +2c0408 +f60030 +ff0010 +bf0008 +700844 +37303e +101010 +080808 +58041b +3700b6 +100000 +080000 +500804 +373000 +091000 +fc8808 +f5f530 +ffff10 +bfbf08 +38a98c +a6d9f4 +0401ff +5050bf +03f004 +003600 +001000 +000800 +280808 +36f530 +10ff10 +08bf08 +4c0498 +0200f4 +0000ff +0000bf +5050a9 +3737d9 +090901 +505050 +180828 +f63037 +ff1010 +bf0808 +580818 +b030f4 +0410ff +5008bf +b84404 +353e00 +101000 +080800 +281b50 +36b637 +100009 +4c0408 +020030 +000010 +000008 +500808 +373030 +091010 +28b844 +36f53e +64a900 +f6d900 +ff0100 +bf5000 +ad2400 +f93700 +031000 +cc3800 +41f500 +08ff00 +08bf00 +000404 +d85008 +f63730 +ff0910 +bf5008 +0808d0 +d030f4 +1e10ff +d40850 +ff1009 +bf0850 +d8444c +f63ef4 +ff10ff +bf08bf +080038 +d000a6 +1e0004 +500050 +940003 +f60000 +bf0000 +900028 +2c0036 +080008 +d00008 +1e0000 +500000 +0000c8 +000036 +000014 +000050 +fd0050 +010037 +000009 +d50028 +00002c +000003 +000004 +000094 +0100f4 +dc0000 +d80000 +940000 +cc0050 +2c0037 +030009 +080020 +d00000 +45004f +030076 +000065 +000072 +b00077 +ce0072 +000069 +000074 +a45065 +813720 +010965 +005078 +0d9469 +1df573 +64ff74 +00bf69 +00a06e +00f567 +00ff20 +00bf66 +e0cb69 +17dc6c +000165 +005020 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +000000 +04ff04fb0000040007ff07f9020000000400070004ff04f8020000000400070004ff04f8 +020000000400070004ff04f80200000004000700040201ff01f204020200000004000700 +040201ff01f204020200000004000700040201ff01be070e0000070e00000101070e0000 +010104020200000004000700040201ff01be0700040c020000000700040c020000000101 +0700040c0200000001010402020000000400070004020103060401060600010a07010114 +07010104070101ff01820700040c0200000007000401000804010200000001010700040c +0200000001010402020000000400070004020104060401040600010b0701011407010104 +070101ff01820700040c0200000007000401000804010200000001010700040200010403 +000104010200000001010402020000000400070004020105060401020600010c07000100 +070101000701010207030102070301010701010107010100070101000701010207030101 +07010101070101ff01700700040c02000000070004010000040600000401020000000101 +070004030001040100010402020000000101040202000000040007000402010606040100 +0600010c0701010007020100070101000701010107010100070101010701010007010100 +070101010702010007010100070101010701010007010101070101ff01700700040c0200 +000007000401000004060000040102000000010107000404000304030200000001010402 +020000000400070004020107060201000600010d07010100070101010701010407010100 +070101040703010207010101070101000701010107010101070301ff01710700040c0200 +000007000401000004060000040102000000010107000405000104040200000001010402 +020000000400070004020108060001000602010c07000101070101010701010107040100 +070101040703010207010101070101000701010107010102070101ff01720700040c0200 +000007000401000004060000040102000000010107000404000304030200000001010402 +020000000400070004020107060001000604010b07000101070101010701010007010101 +0701010007010104070101000701010107010101070101000701010107010101070301ff +01710700040c020000000700040100000406000004010200000001010700040300010401 +000104020200000001010402020000000400070004020106060001020604010607010100 +070101010702010007010100070101010701010007010101070101000701010107010100 +0702010007010100070101010701010007010101070101ff017007000402000504030200 +000007000401000004060000040102000000010107000402000104030001040102000000 +010104020200000004000700040201050600010406040105070101000701010107010100 +070101020702010007010100070301010701010207030100070101020703010107010101 +070101ff017007000402000504030200000007000401000804010200000001010700040c +0200000001010402020000000400070004020104060001060604010b070101ff019e0700 +040c020000000700040c0200000001010700040c02000000010104020200000004000700 +0402011d070101ff019e0700020d00000700020d000001010700020d0000010104020200 +0000040007000402011d070101ff019e001f0101000f0101040202000000040007000402 +01ff01f204020200000004000700040205ff05f204020200000004000700040205ff05f2 +04020200000004000700040205ff05f204020200000004000700040205ff05f204020200 +000004000700040205ff05f204020200000004000700040205ff05f20402020000000400 +0700040205ff05f204020200000004000700040205ff05f2040202000000040007000402 +05ff05f204020200000004000700040205ff05f204020200000004000700040205ff05f2 +04020200000004000700040205ff05f204020200000004000700040205ff05f204020200 +00000400070004020511000005010000050b000005050000053600000500000505040000 +050400000506000305020005050b0000050400020501000005ff05510402020000000400 +070004020511000005010000050b00000505000005350000050100000508000005000000 +05030000050500000503000005010000050e000205030000050200000501000005ff0550 +040202000000040007000402050b00010500000005000002050000000501000005080000 +050000010502000005000001050300020501000005030000050700000500000105030002 +050100000502000005020000050500000501000005080000050000000503000005050000 +050600000510000005030000050200000501000005ff0550040202000000040007000402 +050a00000501000105010000050100000500000005090001050100000501000105010000 +050100000502000005010000050100000508000105010000050100000502000005000000 +050200000502000005040000050200000507000005020000050200000506000105040000 +051000000503000005020000050200000501000005ff054c040202000000040007000402 +050a0000050200000501000005010001050a000005020000050100000502000005010000 +050200000502000105090000050200000501000005020000050100000501000005010000 +05050000050200040503000005020000050200000508000105020005050b000005030000 +050200000502000005ff054f040202000000040007000402050a00000502000005010000 +05010001050a000005020000050100000502000005010000050200000502000105090000 +050200000501000405010000050100000501000005050000050200000507000405020000 +050a0000050100000510000005030000050200000502000005ff054f0402020000000400 +07000402050a000005020000050100000501000005000000050900000502000005010000 +050200000501000005020000050100000501000005080000050200000501000005050000 +050000000500000005000000050500000502000005060000050400000501000005050000 +05030000050100000510000005030000050200000502000005ff054f0402020000000400 +07000402050a000005010001050100000501000005010000050800000502000005010001 +050100000501000005020000050000000503000005070000050200000501000005020000 +050200000502000005060000050200000506000005040000050100000505000005030000 +050100000510000005030000050200000502000005ff054f040202000000040007000402 +050b00010500000005010001050000000502000005070000050200000501000005000001 +050300020501000005030000050700000502000005020002050300000502000005060000 +050200000506000005040000050100040502000305020005050200000507000005040002 +050300000501000005ff054c040202000000040007000402050e0000054f0000052a0000 +051300000502000005ff054c040202000000040007000402050a00000502000005090006 +051a0006051c000005290000051400000501000005ff054d040202000000040007000402 +050b000205510000053d000005ff055104020200000004000700040205ff05f204020200 +00000400070004020516075100000523072000000523072a000005230727000005230730 +00000523071200000517040202000000040007000402051607000550000005230700051f +00000523070005290000052307000526000005230700052f000005230700051100000517 +04020200000004000700040205160700054f0300000005230700051e0300000005230700 +0528030000000523070005250300000005230700052e0300000005230700051003000000 +051704020200000004000700040205160700054f0300000005230700051e030000000523 +07000528030000000523070005250300000005230700052e030000000523070005100300 +0000051704020200000004000700040205160700054f0300000005230700051e03000000 +052307000528030000000523070005250300000005230700052e03000000052307000510 +03000000051704020200000004000700040205160700054f0300000005230700051e0300 +0000052307000528030000000523070005250300000005230700052e0300000005230700 +0510030000000517040202000000040007000402051607000509000005010000050b0000 +052e00000504030000000523070005040000050000000516030000000523070005020000 +050c00000501000005130300000005230700050100060500000405020000050300000501 +000505050300000005230700050200050504000005040000050600030502000505050300 +000005230700050300020501000005060300000005170402020000000400070004020516 +07000509000005010000050b0000052e0000050403000000052307000503000005010000 +0516030000000523070005020000050c0000050100000513030000000523070005040000 +0503000005030000050100000503000005010000050a0300000005230700050200000508 +00000500000005030000050500000503000005010000050a030000000523070005020000 +050200000501000005050300000005170402020000000400070004020516070005030001 +050000000500000205000000050100000508000005000001050300020501000005030000 +050700000500000105030002050300020502000005010000050103000000052307000503 +000005010000050000010503000205010000050300000504030000000523070005020000 +050000010502000005020000050000050501000205020000050000010506030000000523 +0700050400000503000005030000050100000503000005010000050a0300000005230700 +050200000508000005000000050300000505000005060000050a03000000052307000502 +000005020000050100000505030000000517040202000000040007000402051607000502 +000005010001050100000501000005000000050900010501000005010000050200000501 +000005010000050800010501000005010000050200000501000005020000050100000500 +000005020300000005230700050200000502000105010000050100000502000005010000 +050100000505030000000523070005020001050100000501000005020000050100000501 +000005010000050200000501000105010000050503000000052307000504000005030000 +05030000050100000503000005010000050a030000000523070005020000050700000502 +0000050200000506000105040000050a0300000005230700050200000502000005020000 +050100000501030000000517040202000000040007000402051607000502000005020000 +0501000005010001050a0000050200000501000005020000050200010509000005020000 +050500000501000005050001050303000000052307000502000005020000050200000501 +000005020000050200010506030000000523070005020000050200000501000005020000 +050100000501000005010000050200000501000005020000050503000000052307000504 +000005030004050200000503000005010005050503000000052307000502000405030000 +050200000502000005080001050200050505030000000523070005020000050200000502 +000005040300000005170402020000000400070004020516070005020000050200000501 +000005010001050a00000502000005010000050200000502000105090000050200000502 +000305010000050500010503030000000523070005020000050200000502000005010000 +050200000502000105060300000005230700050200000502000005010000050200000501 +000005010000050100000502000005010000050200000505030000000523070005040000 +0503000005020000050200000503000005010000050a0300000005230700050200000507 +000405020000050a000005010000050a0300000005230700050200000502000005020000 +050403000000051704020200000004000700040205160700050200000502000005010000 +050100000500000005090000050200000501000005020000050100000501000005080000 +050200000501000005020000050100000505000005000000050203000000052307000502 +000005020000050200000501000005020000050100000501000005050300000005230700 +050200000502000005010000050200000501000005010000050100000502000005010000 +050200000505030000000523070005040000050300000503000005010000050300000501 +0000050a0300000005230700050200000506000005040000050100000505000005030000 +05010000050a030000000523070005020000050200000502000005040300000005170402 +020000000400070004020516070005020000050100010501000005010000050100000508 +000105010000050100000502000005000000050300000507000105010000050100000502 +000005010000050200000501000005010000050103000000052307000502000005020001 +050100000501000005020000050000000503000005040300000005230700050200010501 +000005010000050100010501000005010000050100000502000005010000050200000505 +0300000005230700050400000503000005030000050100000503000005010000050a0300 +00000523070005020000050600000504000005010000050500000503000005010000050a +030000000523070005020000050200000502000005040300000005170402020000000400 +070004020516070005030001050000000501000105000000050200000507000005000001 +050300020501000005030000050700000500000105030002050000000501000205020000 +050200000500030000000523070005020000050200000500000105030002050100000503 +000005010000050103000000052307000502000005000001050300010500000005010001 +050000010501000205020000050200000502000005010300000005230700050400000503 +000005030000050200030502000505020000050103000000052307000502000005060000 +050400000501000405020003050200050502000005010300000005230700050300020503 +00000501000005010300000005170402020000000400070004020516070005060000052c +000005190300000005230700050300000516000005010300000005230700052500000501 +03000000052307000522000005010300000005230700052b000005010300000005230700 +050900000502000005010300000005170402020000000400070004020516070005020000 +050200000509000605130006050000000519030000000523070005030000051500000502 +030000000523070005240000050203000000052307000521000005020300000005230700 +052a00000502030000000523070005090000050100000502030000000517040202000000 +0400070004020516070005030002052d0000051903000000052307000504000005180300 +0000052307000528030000000523070005250300000005230700052e0300000005230700 +05080000050603000000051704020200000004000700040205160700054f030000000523 +0700051e03000000052307000528030000000523070005250300000005230700052e0300 +000005230700051003000000051704020200000004000700040205160700054f03000000 +05230700051e03000000052307000528030000000523070005250300000005230700052e +03000000052307000510030000000517040202000000040007000402051607000500034f +0000052307000500031e0000052307000500032800000523070005000325000005230700 +0500032e0000052307000500031000000517040202000000040007000402051600520523 +00210523002b05230028052300310523001305170402020000000400070004020509076c +00000509073b000005090745000005090742000005090742000005090731000005090402 +0200000004000700040205090700056b000005090700053a000005090700054400000509 +070005410000050907000541000005090700053000000509040202000000040007000402 +05090700056a030000000509070005390300000005090700054303000000050907000540 +030000000509070005400300000005090700052f03000000050904020200000004000700 +040205090700056a03000000050907000539030000000509070005430300000005090700 +0540030000000509070005400300000005090700052f0300000005090402020000000400 +0700040205090700056a0300000005090700053903000000050907000543030000000509 +07000540030000000509070005400300000005090700052f030000000509040202000000 +04000700040205090700056a030000000509070005390300000005090700054303000000 +050907000540030000000509070005400300000005090700052f03000000050904020200 +0000040007000402050907000517000005010000050b0000052e00000511030000000509 +070005120000050000000523030000000509070005100000050c00000501000005200300 +000005090700050f00060500000405020000050300000501000505120300000005090700 +050f00060500000405020000050300000501000505120300000005090700051300020501 +00000515030000000509040202000000040007000402050907000517000005010000050b +0000052e0000051103000000050907000511000005010000052303000000050907000510 +0000050c0000050100000520030000000509070005120000050300000503000005010000 +050300000501000005170300000005090700051200000503000005030000050100000503 +000005010000051703000000050907000512000005020000050100000514030000000509 +040202000000040007000402050907000511000105000000050000020500000005010000 +050800000500000105030002050100000503000005070000050000010503000205030002 +0502000005010000050e0300000005090700051100000501000005000001050300020501 +000005030000051103000000050907000510000005000001050200000502000005000005 +050100020502000005000001051303000000050907000512000005030000050300000501 +000005030000050100000517030000000509070005120000050300000503000005010000 +050300000501000005170300000005090700051200000502000005010000051403000000 +050904020200000004000700040205090700051000000501000105010000050100000500 +000005090001050100000501000005020000050100000501000005080001050100000501 +00000502000005010000050200000501000005000000050f030000000509070005100000 +050200010501000005010000050200000501000005010000051203000000050907000510 +000105010000050100000502000005010000050100000501000005020000050100010501 +000005120300000005090700051200000503000005030000050100000503000005010000 +051703000000050907000512000005030000050300000501000005030000050100000517 +030000000509070005120000050200000502000005010000051003000000050904020200 +00000400070004020509070005100000050200000501000005010001050a000005020000 +050100000502000005020001050900000502000005050000050100000505000105100300 +000005090700051000000502000005020000050100000502000005020001051303000000 +050907000510000005020000050100000502000005010000050100000501000005020000 +050100000502000005120300000005090700051200000503000405020000050300000501 +000505120300000005090700051200000503000405020000050300000501000505120300 +000005090700051200000502000005020000051303000000050904020200000004000700 +04020509070005100000050200000501000005010001050a000005020000050100000502 +000005020001050900000502000005020003050100000505000105100300000005090700 +051000000502000005020000050100000502000005020001051303000000050907000510 +000005020000050100000502000005010000050100000501000005020000050100000502 +000005120300000005090700051200000503000005020000050200000503000005010000 +051703000000050907000512000005030000050200000502000005030000050100000517 +030000000509070005120000050200000502000005130300000005090402020000000400 +070004020509070005100000050200000501000005010000050000000509000005020000 +050100000502000005010000050100000508000005020000050100000502000005010000 +0505000005000000050f0300000005090700051000000502000005020000050100000502 +000005010000050100000512030000000509070005100000050200000501000005020000 +050100000501000005010000050200000501000005020000051203000000050907000512 +000005030000050300000501000005030000050100000517030000000509070005120000 +050300000503000005010000050300000501000005170300000005090700051200000502 +000005020000051303000000050904020200000004000700040205090700051000000501 +000105010000050100000501000005080001050100000501000005020000050000000503 +00000507000105010000050100000502000005010000050200000501000005010000050e +030000000509070005100000050200010501000005010000050200000500000005030000 +051103000000050907000510000105010000050100000501000105010000050100000501 +000005020000050100000502000005120300000005090700051200000503000005030000 +050100000503000005010000051703000000050907000512000005030000050300000501 +000005030000050100000517030000000509070005120000050200000502000005130300 +000005090402020000000400070004020509070005110001050000000501000105000000 +050200000507000005000001050300020501000005030000050700000500000105030002 +05000000050100020502000005020000050d030000000509070005100000050200000500 +000105030002050100000503000005010000050e03000000050907000510000005000001 +0503000105000000050100010500000105010002050200000502000005020000050e0300 +000005090700051200000503000005030000050200030502000505020000050e03000000 +05090700051200000503000005030000050200030502000505020000050e030000000509 +070005130002050300000501000005100300000005090402020000000400070004020509 +070005140000052c0000052603000000050907000511000005160000050e030000000509 +070005330000050e030000000509070005300000050e030000000509070005300000050e +030000000509070005190000050200000510030000000509040202000000040007000402 +050907000510000005020000050900060513000605000000052603000000050907000511 +000005150000050f030000000509070005320000050f0300000005090700052f0000050f +0300000005090700052f0000050f03000000050907000519000005010000051103000000 +05090402020000000400070004020509070005110002052d000005260300000005090700 +051200000525030000000509070005430300000005090700054003000000050907000540 +030000000509070005180000051503000000050904020200000004000700040205090700 +056a03000000050907000539030000000509070005430300000005090700054003000000 +0509070005400300000005090700052f0300000005090402020000000400070004020509 +0700056a0300000005090700053903000000050907000543030000000509070005400300 +00000509070005400300000005090700052f030000000509040202000000040007000402 +050907000500036a00000509070005000339000005090700050003430000050907000500 +0340000005090700050003400000050907000500032f0000050904020200000004000700 +04020509006d0509003c0509004605090043050900430509003205090402020000000400 +0700040205ff05f204020200000004000700040205ff05f2040202000000040007000402 +05ff05f204020200000004000700040205ff05f204020200000004000700040205ff05f2 +040202000000040007000402050903ff03de070005080402020000000400070004020509 +07ff07df050804020200000004000700040205ff05f204020200000004000700040205ff +05f204020200000004000700040205ff05f204020200000004000700040205ff05f20402 +0200000004000700040205ff05f204020200000004000700040205ff05f2040202000000 +04000700040205ff05f204020200000004000700040205ff05f204020200000004000700 +04020511000005010000050b000005050000053600000500000505040000050400000506 +000305020005050a00020501000005ff0558040202000000040007000402051100000501 +0000050b0000050500000535000005010000050800000500000005030000050500000503 +000005010000050e0000050200000501000005ff0557040202000000040007000402050b +000105000000050000020500000005010000050800000500000105020000050000010503 +000205010000050300000507000005000001050300020501000005020000050200000505 +0000050100000508000005000000050300000505000005060000050e0000050200000501 +000005ff0557040202000000040007000402050a00000501000105010000050100000500 +000005090001050100000501000105010000050100000502000005010000050100000508 +000105010000050100000502000005000000050200000502000005040000050200000507 +000005020000050200000506000105040000050e000005020000050200000501000005ff +0553040202000000040007000402050a0000050200000501000005010001050a00000502 +000005010000050200000501000005020000050200010509000005020000050100000502 +000005010000050100000501000005050000050200040503000005020000050200000508 +00010502000505090000050200000502000005ff0556040202000000040007000402050a +0000050200000501000005010001050a0000050200000501000005020000050100000502 +000005020001050900000502000005010004050100000501000005010000050500000502 +00000507000405020000050a000005010000050e0000050200000502000005ff05560402 +02000000040007000402050a000005020000050100000501000005000000050900000502 +000005010000050200000501000005020000050100000501000005080000050200000501 +000005050000050000000500000005000000050500000502000005060000050400000501 +0000050500000503000005010000050e0000050200000502000005ff0556040202000000 +040007000402050a00000501000105010000050100000501000005080000050200000501 +000105010000050100000502000005000000050300000507000005020000050100000502 +000005020000050200000506000005020000050600000504000005010000050500000503 +000005010000050e0000050200000502000005ff0556040202000000040007000402050b +000105000000050100010500000005020000050700000502000005010000050000010503 +000205010000050300000507000005020000050200020503000005020000050600000502 +000005060000050400000501000405020003050200050502000005060002050300000501 +000005ff0553040202000000040007000402050e0000054f0000052a0000050c00000502 +000005ff0553040202000000040007000402050a00000502000005090006051a0006051c +000005290000050d00000501000005ff0554040202000000040007000402050b00020551 +00000536000005ff055804020200000004000700040205ff05f204020200000004000700 +04020519075100000520072000000520072a000005200727000005200730000005210719 +0000051b040202000000040007000402051907000550000005200700051f000005200700 +05290000052007000526000005200700052f00000521070005180000051b040202000000 +04000700040205190700054f0300000005200700051e0300000005200700052803000000 +0520070005250300000005200700052e0300000005210700051703000000051b04020200 +000004000700040205190700054f0300000005200700051e030000000520070005280300 +00000520070005250300000005200700052e0300000005210700051703000000051b0402 +0200000004000700040205190700054f0300000005200700051e03000000052007000528 +030000000520070005250300000005200700052e0300000005210700051703000000051b +04020200000004000700040205190700054f0300000005200700051e0300000005200700 +0528030000000520070005250300000005200700052e0300000005210700051703000000 +051b040202000000040007000402051907000509000005010000050b0000052e00000504 +030000000520070005040000050000000516030000000520070005020000050c00000501 +000005130300000005200700050100060500000405020000050300000501000505050300 +000005200700050200050504000005040000050600030502000505050300000005210700 +050400000504000205010000050603000000051b04020200000004000700040205190700 +0509000005010000050b0000052e00000504030000000520070005030000050100000516 +030000000520070005020000050c00000501000005130300000005200700050400000503 +000005030000050100000503000005010000050a03000000052007000502000005080000 +0500000005030000050500000503000005010000050a0300000005210700050200020503 +00000502000005010000050503000000051b040202000000040007000402051907000503 +000105000000050000020500000005010000050800000500000105030002050100000503 +000005070000050000010503000205030002050200000501000005010300000005200700 +050300000501000005000001050300020501000005030000050403000000052007000502 +000005000001050200000502000005000005050100020502000005000001050603000000 +05200700050400000503000005030000050100000503000005010000050a030000000520 +0700050200000508000005000000050300000505000005060000050a0300000005210700 +05040000050300000502000005010000050503000000051b040202000000040007000402 +051907000502000005010001050100000501000005000000050900010501000005010000 +050200000501000005010000050800010501000005010000050200000501000005020000 +050100000500000005020300000005200700050200000502000105010000050100000502 +000005010000050100000505030000000520070005020001050100000501000005020000 +050100000501000005010000050200000501000105010000050503000000052007000504 +00000503000005030000050100000503000005010000050a030000000520070005020000 +0507000005020000050200000506000105040000050a0300000005210700050400000503 +0000050200000502000005010000050103000000051b0402020000000400070004020519 +070005020000050200000501000005010001050a00000502000005010000050200000502 +000105090000050200000505000005010000050500010503030000000520070005020000 +050200000502000005010000050200000502000105060300000005200700050200000502 +000005010000050200000501000005010000050100000502000005010000050200000505 +030000000520070005040000050300040502000005030000050100050505030000000520 +070005020004050300000502000005020000050800010502000505050300000005210700 +05040000050300000502000005020000050403000000051b040202000000040007000402 +0519070005020000050200000501000005010001050a0000050200000501000005020000 +050200010509000005020000050200030501000005050001050303000000052007000502 +000005020000050200000501000005020000050200010506030000000520070005020000 +050200000501000005020000050100000501000005010000050200000501000005020000 +05050300000005200700050400000503000005020000050200000503000005010000050a +0300000005200700050200000507000405020000050a000005010000050a030000000521 +070005040000050300000502000005020000050403000000051b04020200000004000700 +040205190700050200000502000005010000050100000500000005090000050200000501 +000005020000050100000501000005080000050200000501000005020000050100000505 +000005000000050203000000052007000502000005020000050200000501000005020000 +050100000501000005050300000005200700050200000502000005010000050200000501 +000005010000050100000502000005010000050200000505030000000520070005040000 +0503000005030000050100000503000005010000050a0300000005200700050200000506 +00000504000005010000050500000503000005010000050a030000000521070005040000 +050300000502000005020000050403000000051b04020200000004000700040205190700 +050200000501000105010000050100000501000005080001050100000501000005020000 +050000000503000005070001050100000501000005020000050100000502000005010000 +050100000501030000000520070005020000050200010501000005010000050200000500 +000005030000050403000000052007000502000105010000050100000501000105010000 +050100000501000005020000050100000502000005050300000005200700050400000503 +000005030000050100000503000005010000050a03000000052007000502000005060000 +0504000005010000050500000503000005010000050a0300000005210700050400000503 +00000502000005020000050403000000051b040202000000040007000402051907000503 +000105000000050100010500000005020000050700000500000105030002050100000503 +000005070000050000010503000205000000050100020502000005020000050003000000 +052007000502000005020000050000010503000205010000050300000501000005010300 +000005200700050200000500000105030001050000000501000105000001050100020502 +000005020000050200000501030000000520070005040000050300000503000005020003 +050200050502000005010300000005200700050200000506000005040000050100040502 +000305020005050200000501030000000521070005040000050400020503000005010000 +050103000000051b0402020000000400070004020519070005060000052c000005190300 +000005200700050300000516000005010300000005200700052500000501030000000520 +07000522000005010300000005200700052b000005010300000005210700051000000502 +0000050103000000051b0402020000000400070004020519070005020000050200000509 +000605130006050000000519030000000520070005030000051500000502030000000520 +070005240000050203000000052007000521000005020300000005200700052a00000502 +03000000052107000510000005010000050203000000051b040202000000040007000402 +0519070005030002052d0000051903000000052007000504000005180300000005200700 +0528030000000520070005250300000005200700052e0300000005210700050f00000506 +03000000051b04020200000004000700040205190700054f0300000005200700051e0300 +0000052007000528030000000520070005250300000005200700052e0300000005210700 +051703000000051b04020200000004000700040205190700054f0300000005200700051e +03000000052007000528030000000520070005250300000005200700052e030000000521 +0700051703000000051b040202000000040007000402051907000500034f000005200700 +0500031e00000520070005000328000005200700050003250000052007000500032e0000 +05210700050003170000051b04020200000004000700040205190052052000210520002b +05200028052000310521001a051b0402020000000400070004020513075f00000513072e +00000513073800000513073500000513073500000513072c000005130402020000000400 +0700040205130700055e000005130700052d000005130700053700000513070005340000 +051307000534000005130700052b0000051304020200000004000700040205130700055d +0300000005130700052c0300000005130700053603000000051307000533030000000513 +070005330300000005130700052a03000000051304020200000004000700040205130700 +055d0300000005130700052c030000000513070005360300000005130700053303000000 +0513070005330300000005130700052a0300000005130402020000000400070004020513 +0700055d0300000005130700052c03000000051307000536030000000513070005330300 +00000513070005330300000005130700052a030000000513040202000000040007000402 +05130700055d0300000005130700052c0300000005130700053603000000051307000533 +030000000513070005330300000005130700052a03000000051304020200000004000700 +0402051307000510000005010000050b0000052e0000050b0300000005130700050b0000 +05000000051d030000000513070005090000050c000005010000051a0300000005130700 +0508000605000004050200000503000005010005050c0300000005130700050800060500 +0004050200000503000005010005050c0300000005130700050e00000504000205010000 +050f030000000513040202000000040007000402051307000510000005010000050b0000 +052e0000050b0300000005130700050a000005010000051d030000000513070005090000 +050c000005010000051a0300000005130700050b00000503000005030000050100000503 +00000501000005110300000005130700050b000005030000050300000501000005030000 +0501000005110300000005130700050c0002050300000502000005010000050e03000000 +051304020200000004000700040205130700050a00010500000005000002050000000501 +000005080000050000010503000205010000050300000507000005000001050300020503 +0002050200000501000005080300000005130700050a0000050100000500000105030002 +0501000005030000050b0300000005130700050900000500000105020000050200000500 +0005050100020502000005000001050d0300000005130700050b00000503000005030000 +05010000050300000501000005110300000005130700050b000005030000050300000501 +0000050300000501000005110300000005130700050e0000050300000502000005010000 +050e03000000051304020200000004000700040205130700050900000501000105010000 +050100000500000005090001050100000501000005020000050100000501000005080001 +050100000501000005020000050100000502000005010000050000000509030000000513 +070005090000050200010501000005010000050200000501000005010000050c03000000 +051307000509000105010000050100000502000005010000050100000501000005020000 +0501000105010000050c0300000005130700050b00000503000005030000050100000503 +00000501000005110300000005130700050b000005030000050300000501000005030000 +0501000005110300000005130700050e000005030000050200000502000005010000050a +030000000513040202000000040007000402051307000509000005020000050100000501 +0001050a0000050200000501000005020000050200010509000005020000050500000501 +000005050001050a03000000051307000509000005020000050200000501000005020000 +05020001050d030000000513070005090000050200000501000005020000050100000501 +000005010000050200000501000005020000050c0300000005130700050b000005030004 +050200000503000005010005050c0300000005130700050b000005030004050200000503 +000005010005050c0300000005130700050e0000050300000502000005020000050d0300 +000005130402020000000400070004020513070005090000050200000501000005010001 +050a00000502000005010000050200000502000105090000050200000502000305010000 +05050001050a030000000513070005090000050200000502000005010000050200000502 +0001050d0300000005130700050900000502000005010000050200000501000005010000 +05010000050200000501000005020000050c0300000005130700050b0000050300000502 +000005020000050300000501000005110300000005130700050b00000503000005020000 +05020000050300000501000005110300000005130700050e000005030000050200000502 +0000050d0300000005130402020000000400070004020513070005090000050200000501 +000005010000050000000509000005020000050100000502000005010000050100000508 +000005020000050100000502000005010000050500000500000005090300000005130700 +05090000050200000502000005010000050200000501000005010000050c030000000513 +070005090000050200000501000005020000050100000501000005010000050200000501 +000005020000050c0300000005130700050b000005030000050300000501000005030000 +0501000005110300000005130700050b0000050300000503000005010000050300000501 +000005110300000005130700050e0000050300000502000005020000050d030000000513 +040202000000040007000402051307000509000005010001050100000501000005010000 +050800010501000005010000050200000500000005030000050700010501000005010000 +050200000501000005020000050100000501000005080300000005130700050900000502 +00010501000005010000050200000500000005030000050b030000000513070005090001 +050100000501000005010001050100000501000005010000050200000501000005020000 +050c0300000005130700050b000005030000050300000501000005030000050100000511 +0300000005130700050b0000050300000503000005010000050300000501000005110300 +000005130700050e0000050300000502000005020000050d030000000513040202000000 +04000700040205130700050a000105000000050100010500000005020000050700000500 +000105030002050100000503000005070000050000010503000205000000050100020502 +000005020000050703000000051307000509000005020000050000010503000205010000 +050300000501000005080300000005130700050900000500000105030001050000000501 +0001050000010501000205020000050200000502000005080300000005130700050b0000 +050300000503000005020003050200050502000005080300000005130700050b00000503 +00000503000005020003050200050502000005080300000005130700050e000005040002 +0503000005010000050a03000000051304020200000004000700040205130700050d0000 +052c000005200300000005130700050a00000516000005080300000005130700052c0000 +050803000000051307000529000005080300000005130700052900000508030000000513 +0700051a000005020000050a030000000513040202000000040007000402051307000509 +00000502000005090006051300060500000005200300000005130700050a000005150000 +05090300000005130700052b000005090300000005130700052800000509030000000513 +07000528000005090300000005130700051a000005010000050b03000000051304020200 +000004000700040205130700050a0002052d000005200300000005130700050b0000051f +030000000513070005360300000005130700053303000000051307000533030000000513 +070005190000050f03000000051304020200000004000700040205130700055d03000000 +05130700052c030000000513070005360300000005130700053303000000051307000533 +0300000005130700052a03000000051304020200000004000700040205130700055d0300 +000005130700052c03000000051307000536030000000513070005330300000005130700 +05330300000005130700052a030000000513040202000000040007000402051307000500 +035d0000051307000500032c000005130700050003360000051307000500033300000513 +0700050003330000051307000500032a0000051304020200000004000700040205130060 +0513002f0513003905130036051300360513002d051304020200000004000700040205ff +05f204020200000004000700040205ff05f204020200000004000700040205ff05f20402 +0200000004000700040205ff05f204020200000004000700040205ff05f2040202000000 +040007000402050903ff03de07000508040202000000040007000402050907ff07df0508 +04020200000004000700040205ff05f204020200000004000700040205ff05f204020200 +000004000700040205ff05f204020200000004000700040205ff05f20402020000000400 +0700040205ff05f204020200000004000700040205ea071b000005ea0402020000000400 +0700040205ea0700051a000005ea04020200000004000700040205ea0700051903000000 +05ea04020200000004000700040205ea070005190300000005ea04020200000004000700 +040205ea070005190300000005ea04020200000004000700040205ea0700051903000000 +05ea04020200000004000700040205ea070005040003050a000005010000050103000000 +05ea04020200000004000700040205ea07000503000005030000050c0000050103000000 +05ea04020200000004000700040205ea0700050200000505000005010000050200000501 +00000500000205000300000005ea04020200000004000700040205ea0700050200000505 +00000501000005020000050100000501000005010300000005ea04020200000004000700 +040205ea0700050200000505000005010000050200000501000005010000050103000000 +05ea04020200000004000700040205ea0700050200000502000005010000050100000502 +0000050100000501000005010300000005ea04020200000004000700040205ea07000502 +000005030000050000000501000005020000050100000501000005010300000005ea0402 +0200000004000700040205ea070005030000050300000502000005010001050100000501 +000005010300000005ea04020200000004000700040205ea070005040003050000000502 +000105000000050100000501000105000300000005ea04020200000004000700040205ea +070005190300000005ea04020200000004000700040205ea070005190300000005ea0402 +0200000004000700040205ea070005190300000005ea04020200000004000700040205ea +070005190300000005ea04020200000004000700040205ea070005190300000005ea0402 +0200000004000700040205ea070005000319000005ea04020200000004000700040205ea +001c05ea04020200000004000700040205ff05f204020200000004000700040205ff05f2 +04020200000004000700040205ff05f204020200000004000700040205ff05f204020200 +000004000700040205ff05f204020200000004000700040205ff05f20402020000000400 +0700040205ff05f204020200000004000700040205ff05f2040202000000040007000402 +05ff05f204020200000004000700040205ff05f20402020000000400070004ff04f80200 +00000400070004ff04f8020000000400070004ff04f802000000040002ff02fa00ff00fd + +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 345 144 +%%EOF diff --git a/docs/tutorial/gtk_tut_packbox2.jpg b/docs/tutorial/gtk_tut_packbox2.jpg Binary files differnew file mode 100644 index 0000000000..b514b40077 --- /dev/null +++ b/docs/tutorial/gtk_tut_packbox2.jpg diff --git a/docs/tutorial/gtk_tut_table.eps b/docs/tutorial/gtk_tut_table.eps new file mode 100644 index 0000000000..aff827dbd8 --- /dev/null +++ b/docs/tutorial/gtk_tut_table.eps @@ -0,0 +1,654 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (gtk_tut_table.eps) +%%CreationDate: (Thu Jul 20 15:31:49 2000) +%%BoundingBox: 0 0 121.264 81 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 0 +%%EndComments + +%%BeginDefaults +%%PageOrientation: Portrait +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/buffer 512 string def +/byte 1 string def +/color_packet 3 string def +/pixels 768 string def + +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 gt + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 gt + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-RunlengthEncodedCompression or 1-NoCompression. + % hex color packets. + % + gsave + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 122 82 +userdict begin +%%BeginData: +DisplayImage +0 0 +122.264 81.5094 +12 +180 120 +1 +0 +0 +256 +000000 +ffffff +c0c0c0 +c8c8c8 +0000c0 +0000ff +000080 +ffa85a +00ff00 +be5800 +ff8000 +ffdca8 +beffbe +ffffbe +008000 +ffffdc +827d7d +828282 +606060 +585858 +404000 +ff0000 +808080 +ffff00 +000040 +a0a0a4 +c0c000 +c00000 +008080 +beffff +004040 +400040 +bebeff +004000 +dcdcdc +a0a0a0 +aeffa6 +808000 +707070 +7f7f7f +00c0c0 +d4d400 +400000 +595959 +303030 +c3c3c3 +dfaa69 +4145e7 +960400 +000096 +e74541 +c78ac7 +411c20 +080808 +00c000 +800000 +ffbebe +fefefe +fe3f4b +3f3f3f +c6c6c8 +fe7f87 +fe0010 +e1dfe7 +545454 +fafaf8 +d8d7cf +fbfbfa +efefea +fcfcfb +cccbdb +c9c9d9 +000010 +f9f9f7 +d7d5e0 +cfcedc +e0dfd9 +f8f8f5 +d0cfc7 +fbfbf9 +e8e7e2 +f7f7f3 +e8e7ed +d6d5e0 +f1f0f4 +cdccdb +c4c4d0 +f9f9f6 +dcdbd4 +d1d0dd +dcdbe3 +fafaf9 +f5f3ec +e0dfe7 +d4d3cb +eae9ee +e4e3de +d2d1de +ebebe6 +fdfdfc +e4e3ea +e7e6ec +c8c7d3 +d0cfdc +efeee5 +f8f8f6 +f4f3f1 +dfdee6 +f1f1ee +f8f7f4 +f4f3f6 +f7f6f2 +cccbd6 +f7f7f4 +edeced +d3d2de +d9d8e2 +ecebf0 +eeeef2 +f7f7f5 +cfced8 +d4d3df +dad9d2 +faf9f7 +cecdc5 +cecddb +e6e5e0 +cbcada +d2d1c9 +f6f6f3 +edede8 +cbcbda +f2f2eb +cacada +f6f6f8 +f6f6f4 +eae9e4 +dbdae3 +e1e1db +fcfcfc +ddddd6 +f5f5f1 +cac9d5 +e3e2e9 +f1f0e8 +d6d6ce +dedce5 +d5d4df +e3e2dc +f7f6f3 +f8f8f9 +faf9f8 +f2f2f4 +f9f8f5 +f5f4ef +d8d7e1 +f1f0eb +f3f2f0 +f3f3ed +eeeeea +d2d0db +f1f1ed +d5d4cc +dedde5 +fafafb +cecddc +cfcec6 +fdfdfd +d3d2ca +d7d6e1 +e5e4df +f8f8f4 +e5e4eb +dad9e3 +e9e8e3 +fafaf7 +d9d8d0 +ebeae6 +e2e1e8 +c7c6d2 +d0cfd9 +f5f5f2 +dfded8 +f0efec +dad9e1 +dddce4 +f9f9fa +fbfaf9 +d4d3dd +d4d2de +cdccd7 +ecece6 +d1d0c8 +dcdbe4 +d6d5de +f0f0f3 +e7e6e1 +f9f8f6 +f6f6f1 +f8f7f3 +f7f7f8 +d3d1de +e1e0e8 +d2d1dd +f4f4f0 +d1d0c7 +f3f3ef +f8f7f5 +f2f2ef +edece8 +d7d6cf +dad9e2 +f3f3f4 +f5f4f2 +e3e3dd +d5d3df +f6f5f0 +f9f8f7 +e6e5eb +cccbda +d7d6df +efeee6 +ebebef +f9f9f8 +dbdad2 +f6f5f2 +efeff2 +d9d8e1 +cecdd8 +ccccdb +deded7 +fefefd +c9c9d4 +e1e0e7 +d5d4e0 +f2f1eb +e8e8ed +d9d8d1 +fcfcfa +d8d7e0 +d6d4df +f5f5f0 +e7e6eb +f3f2ed +dedde6 +d2d0dd +d1d0de +f6f6f2 +dbdae4 +e4e3e9 +dddce5 +dad8e2 +d7d6e0 +d2d1dc +f4f3f0 +d5d4de +22b20000220001b0120000002200010002af120000002200010002af1200000022000100 +022b214102411200000022000100022b214102411200000022000100022b214102411200 +000022000100022b21410219010a020a0100260002070100260002051200000022000100 +021d2601020426000205210416092109160121071601211c021901002609020a01002601 +02050100260102051200000022000100021d260001002600020226010205210416092109 +160121071601211c021901002600020601002600020b0100260102030100260102061200 +000022000100021d26000101260201002600020521081601210d160121071601211c0219 +01002600020601002600020c01002601020101002601020712000000220001000205010b +020501052600230001002300010023000100260002052108160121051604210216012100 +160221031601210316032114020a0102020b01002600020601002600020d010026010100 +260102081200000022000100020501000209260002052305260023000100230001002300 +01002600020521081601210416062101160621021601210216052113020a010002002600 +020b01002600020601002600020e010026020209120000002200010002050100260a0205 +260623012600230026002300260002052108160121041601210216012101160221011602 +2101160121011601210316012112020a01002601020b01002600020601002600020e0100 +260202091200000022000100021d26002300260502050e0816010e0816020e0116010e03 +16010e0116010e0116070e12021901002600020601002600020d01002601010026010208 +1200000022000100021d26020202260102050e0816010e0516050e0116010e0316010e01 +16010e0116070e12021901002600020601002600020c0100260102010100260102071200 +000022000100021d26010204260002050e0816010e0416020e0116010e0116010e031601 +0e0116010e0116010e1802190100260001072600020b0100260102030100260102061200 +000022000100022b0e0816010e0416010e0216010e0116020e0116020e0116010e011602 +0e0116020e12021901002609020a0100260102050100260102051200000022000100022b +0e0816010e0416060e0116060e0216010e0216050e13022f010026000207010026000205 +1200000022000100022b0e0816010e0516020e0016020e0016010e0016020e0316010e03 +16030e1402411200000022000100022b0e4102411200000022000100022b0e4102411200 +00002200010002af120000002200010002af1200000022000100020191ab020112000000 +22000100020191ab02011200000022000100020191ab02011200000022000100020191ab +02011200000022000100020191ab02011200000022000100020191ab0201120000002200 +0100020191ab02011200000022000100020191ab02011200000022000100020191ab0201 +1200000022000100020191ab02011200000022000100020191ab02011200000022000100 +020191ab02011200000022000100020191ab02011200000022000100020191ab02011200 +000022000100020191ab02011200000022000100020191ab020112000000220001000201 +91ab02011200000022000100020191ab02011200000022000100020191ab020112000000 +22000100020191ab02011200000022000100020191130140000001400000911302011200 +000022000100020191130100913f00000100913f00009113020112000000220001000201 +91130100913e230000000100913e23000000911302011200000022000100020191130100 +913e230000000100913e23000000911302011200000022000100020191130100913e2300 +00000100913e23000000911302011200000022000100020191130100913e230000000100 +913e23000000911302011200000022000100020191130100910200009135000091032300 +000001009102000091330002910323000000911302011200000022000100020191130100 +910200009111000091030000911d00009103230000000100910200009111000091030000 +911a00009102000091022300000091130201120000002200010002019113010091020000 +9111000091030000911c0001910323000000010091020000911100009103000091190000 +910400009101230000009113020112000000220001000201911301009102000091000002 +910300009104000091010003910000039102000291030000910000039109000091000000 +910323000000010091020000910000029103000091040000910100039100000391020002 +910300009100000391070000910400009101230000009113020112000000220001000201 +911301009102000191020000910200009104000091020000910300009103000091020000 +9102000191030000910a0000910323000000010091020001910200009102000091040000 +910200009103000091030000910200009102000191030000910c00009101230000009113 +020112000000220001000201911301009102000091040000910100009104000091020000 +9103000091020000910400009101000091040000910a0000910323000000010091020000 +910400009101000091040000910200009103000091020000910400009101000091040000 +910b00009102230000009113020112000000220001000201911301009102000091040000 +9101000091040000910200009103000091020000910400009101000091040000910a0000 +910323000000010091020000910400009101000091040000910200009103000091020000 +910400009101000091040000910a00009103230000009113020112000000220001000201 +911301009102000091040000910100009104000091020000910300009102000091040000 +9101000091040000910a0000910323000000010091020000910400009101000091040000 +910200009103000091020000910400009101000091040000910800019104230000009113 +020112000000220001000201911301009102000091040000910100009104000091020000 +9103000091020000910400009101000091040000910a0000910323000000010091020000 +910400009101000091040000910200009103000091020000910400009101000091040000 +910700009106230000009113020112000000220001000201911301009102000091040000 +9101000091040000910200009103000091020000910400009101000091040000910a0000 +910323000000010091020000910400009101000091040000910200009103000091020000 +910400009101000091040000910600009107230000009113020112000000220001000201 +911301009102000191020000910200009103000191020000910300009103000091020000 +9102000091040000910a0000910323000000010091020001910200009102000091030001 +910200009103000091030000910200009102000091040000910600009107230000009113 +020112000000220001000201911301009102000091000002910400039100000091030001 +91020001910200029103000091040000910a000091032300000001009102000091000002 +910400039100000091030001910200019102000291030000910400009106000691012300 +0000911302011200000022000100020191130100913e230000000100913e230000009113 +02011200000022000100020191130100913e230000000100913e23000000911302011200 +000022000100020191130100913e230000000100913e2300000091130201120000002200 +0100020191130100913e230000000100913e230000009113020112000000220001000201 +91130100913e230000000100913e23000000911302011200000022000100020191130100 +913e230000000100913e230000009113020112000000220001000201911301009100233e +000001009100233e00009113020112000000220001000201911300839113020112000000 +220001000201911301820000911302011200000022000100020191130100918100009113 +020112000000220001000201911301009180230000009113020112000000220001000201 +911301009180230000009113020112000000220001000201911301009180230000009113 +020112000000220001000201911301009180230000009113020112000000220001000201 +9113010091360002910e0000913623000000911302011200000022000100020191130100 +9134000191020001910c0000910200009132230000009113020112000000220001000201 +911301009133000091060000910f00009132230000009113020112000000220001000201 +911301009133000091060000910200009104000091010000910100039130230000009113 +020112000000220001000201911301009132000091080000910100009104000091010000 +910200009132230000009113020112000000220001000201911301009132000091080000 +910100009104000091010000910200009132230000009113020112000000220001000201 +911301009132000091080000910100009104000091010000910200009132230000009113 +020112000000220001000201911301009132000091080000910100009104000091010000 +910200009132230000009113020112000000220001000201911301009133000091060000 +910200009104000091010000910200009132230000009113020112000000220001000201 +911301009133000091030000910100009102000091040000910100009102000091322300 +000091130201120000002200010002019113010091340001910200019103000091030001 +910100009102000091322300000091130201120000002200010002019113010091360002 +910000009104000391000000910100009103000191302300000091130201120000002200 +0100020191130100913b0000914323000000911302011200000022000100020191130100 +918023000000911302011200000022000100020191130100918023000000911302011200 +000022000100020191130100918023000000911302011200000022000100020191130100 +918023000000911302011200000022000100020191130100918023000000911302011200 +000022000100020191130100910023800000911302011200000022000100020191130083 +911302011200000022000100020191ab02011200000022000100020191ab020112000000 +22000100020191ab02011200000022000100020191ab02011200000022000100020191ab +010322000100020191ab120322000100020191ab02010100120022000100020191ab0201 +0100120022000100020191ab02010100120022000100020191ab02010100120022000100 +020191ab02010100120022000100020191ab02010100120022000100020191ab02010100 +120022000100020191ab02010100120022000100020191ab020101001200220001000201 +91ab02010100120022000100020191ab02010100120022000100020191ab020101001200 +22000100020191ab02010100120022000100020191ab02010100120022000100029d0100 +1200020f0100120022000100029d01001200020f010012002200129e0100120001101200 +009f01001212 +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 121.264 81 +%%EOF diff --git a/docs/tutorial/gtk_tut_table.jpg b/docs/tutorial/gtk_tut_table.jpg Binary files differnew file mode 100644 index 0000000000..d769daab6e --- /dev/null +++ b/docs/tutorial/gtk_tut_table.jpg |