<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkScrollable">
<refmeta>
<refentrytitle role="top_of_page" id="GtkScrollable.top_of_page">GtkScrollable</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkScrollable</refname>
<refpurpose>An interface for scrollable widgets</refpurpose>
</refnamediv>

<refsect1 id="GtkScrollable.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkAdjustment"><returnvalue>GtkAdjustment</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-scrollable-get-hadjustment">gtk_scrollable_get_hadjustment</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-set-hadjustment">gtk_scrollable_set_hadjustment</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkAdjustment"><returnvalue>GtkAdjustment</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-scrollable-get-vadjustment">gtk_scrollable_get_vadjustment</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-set-vadjustment">gtk_scrollable_set_vadjustment</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkScrollablePolicy"><returnvalue>GtkScrollablePolicy</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-get-hscroll-policy">gtk_scrollable_get_hscroll_policy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-set-hscroll-policy">gtk_scrollable_set_hscroll_policy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkScrollablePolicy"><returnvalue>GtkScrollablePolicy</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-get-vscroll-policy">gtk_scrollable_get_vscroll_policy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-set-vscroll-policy">gtk_scrollable_set_vscroll_policy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-scrollable-get-border">gtk_scrollable_get_border</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkScrollable.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkScrollable--hadjustment">hadjustment</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></entry><entry role="property_name"><link linkend="GtkScrollable--hscroll-policy">hscroll-policy</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkScrollable--vadjustment">vadjustment</link></entry><entry role="property_flags">Read / Write / Construct</entry></row>
<row><entry role="property_type"><link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></entry><entry role="property_name"><link linkend="GtkScrollable--vscroll-policy">vscroll-policy</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkScrollable.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkScrollable-struct">GtkScrollable</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkScrollablePolicy">GtkScrollablePolicy</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkScrollable.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GInterface">GInterface</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkScrollable
</screen>
</refsect1>
<refsect1 id="GtkScrollable.prerequisites" role="prerequisites">
<title role="prerequisites.title">Prerequisites</title>
<para>
GtkScrollable requires
 <link linkend="GObject">GObject</link>.</para>

</refsect1>
<refsect1 id="GtkScrollable.implementations" role="implementations">
<title role="implementations.title">Known Implementations</title>
<para>
GtkScrollable is implemented by
 <link linkend="GtkColumnView">GtkColumnView</link>,  <link linkend="GtkGridView">GtkGridView</link>,  <link linkend="GtkIconView">GtkIconView</link>,  <link linkend="GtkListView">GtkListView</link>,  <link linkend="GtkTextView">GtkTextView</link>,  <link linkend="GtkTreeView">GtkTreeView</link> and  <link linkend="GtkViewport">GtkViewport</link>.</para>

</refsect1>

<refsect1 id="GtkScrollable.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkScrollable.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkScrollable"><type>GtkScrollable</type></link> is an interface that is implemented by widgets with native
scrolling ability.</para>
<para>To implement this interface you should override the
<link linkend="GtkScrollable--hadjustment"><type>“hadjustment”</type></link> and <link linkend="GtkScrollable--vadjustment"><type>“vadjustment”</type></link> properties.</para>
<refsect3><title>Creating a scrollable widget</title><para>All scrollable widgets should do the following.</para>
<itemizedlist>
<listitem>
<para>When a parent widget sets the scrollable child widget’s adjustments,
the widget should populate the adjustments’
<link linkend="GtkAdjustment--lower"><type>“lower”</type></link>, <link linkend="GtkAdjustment--upper"><type>“upper”</type></link>,
<link linkend="GtkAdjustment--step-increment"><type>“step-increment”</type></link>, <link linkend="GtkAdjustment--page-increment"><type>“page-increment”</type></link> and
<link linkend="GtkAdjustment--page-size"><type>“page-size”</type></link> properties and connect to the
<link linkend="GtkAdjustment-value-changed"><type>“value-changed”</type></link> signal.</para>
</listitem>
<listitem>
<para>Because its preferred size is the size for a fully expanded widget,
the scrollable widget must be able to cope with underallocations.
This means that it must accept any value passed to its
<link linkend="GtkWidgetClass.size-allocate"><function>GtkWidgetClass.size_allocate()</function></link> function.</para>
</listitem>
<listitem>
<para>When the parent allocates space to the scrollable child widget,
the widget should update the adjustments’ properties with new values.</para>
</listitem>
<listitem><para>When any of the adjustments emits the <link linkend="GtkAdjustment-value-changed"><type>“value-changed”</type></link> signal,
the scrollable widget should scroll its contents.</para></listitem>
</itemizedlist>
</refsect3>

</refsect1>
<refsect1 id="GtkScrollable.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-scrollable-get-hadjustment" role="function">
<title>gtk_scrollable_get_hadjustment&#160;()</title>
<indexterm zone="gtk-scrollable-get-hadjustment"><primary>gtk_scrollable_get_hadjustment</primary></indexterm>
<programlisting language="C"><link linkend="GtkAdjustment"><returnvalue>GtkAdjustment</returnvalue></link>&#160;*
gtk_scrollable_get_hadjustment (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>);</programlisting>
<para>Retrieves the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> used for horizontal scrolling.</para>
<refsect3 id="gtk-scrollable-get-hadjustment.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-scrollable-get-hadjustment.returns" role="returns">
<title>Returns</title>
<para>horizontal <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-set-hadjustment" role="function">
<title>gtk_scrollable_set_hadjustment&#160;()</title>
<indexterm zone="gtk-scrollable-set-hadjustment"><primary>gtk_scrollable_set_hadjustment</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_scrollable_set_hadjustment (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>,
                                <parameter><link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> *hadjustment</parameter>);</programlisting>
<para>Sets the horizontal adjustment of the <link linkend="GtkScrollable"><type>GtkScrollable</type></link>.</para>
<refsect3 id="gtk-scrollable-set-hadjustment.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>hadjustment</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-get-vadjustment" role="function">
<title>gtk_scrollable_get_vadjustment&#160;()</title>
<indexterm zone="gtk-scrollable-get-vadjustment"><primary>gtk_scrollable_get_vadjustment</primary></indexterm>
<programlisting language="C"><link linkend="GtkAdjustment"><returnvalue>GtkAdjustment</returnvalue></link>&#160;*
gtk_scrollable_get_vadjustment (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>);</programlisting>
<para>Retrieves the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> used for vertical scrolling.</para>
<refsect3 id="gtk-scrollable-get-vadjustment.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-scrollable-get-vadjustment.returns" role="returns">
<title>Returns</title>
<para>vertical <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-set-vadjustment" role="function">
<title>gtk_scrollable_set_vadjustment&#160;()</title>
<indexterm zone="gtk-scrollable-set-vadjustment"><primary>gtk_scrollable_set_vadjustment</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_scrollable_set_vadjustment (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>,
                                <parameter><link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> *vadjustment</parameter>);</programlisting>
<para>Sets the vertical adjustment of the <link linkend="GtkScrollable"><type>GtkScrollable</type></link>.</para>
<refsect3 id="gtk-scrollable-set-vadjustment.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>vadjustment</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-get-hscroll-policy" role="function">
<title>gtk_scrollable_get_hscroll_policy&#160;()</title>
<indexterm zone="gtk-scrollable-get-hscroll-policy"><primary>gtk_scrollable_get_hscroll_policy</primary></indexterm>
<programlisting language="C"><link linkend="GtkScrollablePolicy"><returnvalue>GtkScrollablePolicy</returnvalue></link>
gtk_scrollable_get_hscroll_policy (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>);</programlisting>
<para>Gets the horizontal <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link>.</para>
<refsect3 id="gtk-scrollable-get-hscroll-policy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-scrollable-get-hscroll-policy.returns" role="returns">
<title>Returns</title>
<para> The horizontal <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-set-hscroll-policy" role="function">
<title>gtk_scrollable_set_hscroll_policy&#160;()</title>
<indexterm zone="gtk-scrollable-set-hscroll-policy"><primary>gtk_scrollable_set_hscroll_policy</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_scrollable_set_hscroll_policy (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>,
                                   <parameter><link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link> policy</parameter>);</programlisting>
<para>Sets the <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link> to determine whether
horizontal scrolling should start below the minimum width or
below the natural width.</para>
<refsect3 id="gtk-scrollable-set-hscroll-policy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>policy</para></entry>
<entry role="parameter_description"><para>the horizontal <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-get-vscroll-policy" role="function">
<title>gtk_scrollable_get_vscroll_policy&#160;()</title>
<indexterm zone="gtk-scrollable-get-vscroll-policy"><primary>gtk_scrollable_get_vscroll_policy</primary></indexterm>
<programlisting language="C"><link linkend="GtkScrollablePolicy"><returnvalue>GtkScrollablePolicy</returnvalue></link>
gtk_scrollable_get_vscroll_policy (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>);</programlisting>
<para>Gets the vertical <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link>.</para>
<refsect3 id="gtk-scrollable-get-vscroll-policy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-scrollable-get-vscroll-policy.returns" role="returns">
<title>Returns</title>
<para> The vertical <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-set-vscroll-policy" role="function">
<title>gtk_scrollable_set_vscroll_policy&#160;()</title>
<indexterm zone="gtk-scrollable-set-vscroll-policy"><primary>gtk_scrollable_set_vscroll_policy</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_scrollable_set_vscroll_policy (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>,
                                   <parameter><link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link> policy</parameter>);</programlisting>
<para>Sets the <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link> to determine whether
vertical scrolling should start below the minimum height or
below the natural height.</para>
<refsect3 id="gtk-scrollable-set-vscroll-policy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>policy</para></entry>
<entry role="parameter_description"><para>the vertical <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-scrollable-get-border" role="function">
<title>gtk_scrollable_get_border&#160;()</title>
<indexterm zone="gtk-scrollable-get-border"><primary>gtk_scrollable_get_border</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_scrollable_get_border (<parameter><link linkend="GtkScrollable"><type>GtkScrollable</type></link> *scrollable</parameter>,
                           <parameter><link linkend="GtkBorder"><type>GtkBorder</type></link> *border</parameter>);</programlisting>
<para>Returns the size of a non-scrolling border around the
outside of the scrollable. An example for this would
be treeview headers. GTK can use this information to
display overlaid graphics, like the overshoot indication,
at the right position.</para>
<refsect3 id="gtk-scrollable-get-border.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>scrollable</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkScrollable"><type>GtkScrollable</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>border</para></entry>
<entry role="parameter_description"><para>return location for the results. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out caller-allocates</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-scrollable-get-border.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>border</parameter>
has been set</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkScrollable.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkScrollable-struct" role="struct">
<title>GtkScrollable</title>
<indexterm zone="GtkScrollable-struct"><primary>GtkScrollable</primary></indexterm>
<programlisting language="C">typedef struct _GtkScrollable GtkScrollable;</programlisting>
</refsect2>
<refsect2 id="GtkScrollablePolicy" role="enum">
<title>enum GtkScrollablePolicy</title>
<indexterm zone="GtkScrollablePolicy"><primary>GtkScrollablePolicy</primary></indexterm>
<para>Defines the policy to be used in a scrollable widget when updating
the scrolled window adjustments in a given orientation.</para>
<refsect3 id="GtkScrollablePolicy.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-SCROLL-MINIMUM:CAPS">GTK_SCROLL_MINIMUM</para></entry>
<entry role="enum_member_description"><para>Scrollable adjustments are based on the minimum size</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-SCROLL-NATURAL:CAPS">GTK_SCROLL_NATURAL</para></entry>
<entry role="enum_member_description"><para>Scrollable adjustments are based on the natural size</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkScrollable.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkScrollable--hadjustment" role="property"><title>The <literal>“hadjustment”</literal> property</title>
<indexterm zone="GtkScrollable--hadjustment"><primary>GtkScrollable:hadjustment</primary></indexterm>
<programlisting>  “hadjustment”              <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>&#160;*</programlisting>
<para>Horizontal <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> of the scrollable widget. This adjustment is
shared between the scrollable widget and its parent.</para>
<para>Owner: GtkScrollable</para>
<para>Flags: Read / Write / Construct</para>
</refsect2>
<refsect2 id="GtkScrollable--hscroll-policy" role="property"><title>The <literal>“hscroll-policy”</literal> property</title>
<indexterm zone="GtkScrollable--hscroll-policy"><primary>GtkScrollable:hscroll-policy</primary></indexterm>
<programlisting>  “hscroll-policy”           <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></programlisting>
<para>Determines whether horizontal scrolling should start once the scrollable
widget is allocated less than its minimum width or less than its natural width.</para>
<para>Owner: GtkScrollable</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_SCROLL_MINIMUM</para>
</refsect2>
<refsect2 id="GtkScrollable--vadjustment" role="property"><title>The <literal>“vadjustment”</literal> property</title>
<indexterm zone="GtkScrollable--vadjustment"><primary>GtkScrollable:vadjustment</primary></indexterm>
<programlisting>  “vadjustment”              <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>&#160;*</programlisting>
<para>Vertical <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> of the scrollable widget. This adjustment is shared
between the scrollable widget and its parent.</para>
<para>Owner: GtkScrollable</para>
<para>Flags: Read / Write / Construct</para>
</refsect2>
<refsect2 id="GtkScrollable--vscroll-policy" role="property"><title>The <literal>“vscroll-policy”</literal> property</title>
<indexterm zone="GtkScrollable--vscroll-policy"><primary>GtkScrollable:vscroll-policy</primary></indexterm>
<programlisting>  “vscroll-policy”           <link linkend="GtkScrollablePolicy"><type>GtkScrollablePolicy</type></link></programlisting>
<para>Determines whether vertical scrolling should start once the scrollable
widget is allocated less than its minimum height or less than its natural height.</para>
<para>Owner: GtkScrollable</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_SCROLL_MINIMUM</para>
</refsect2>

</refsect1>

</refentry>
