<?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="GtkConstraint">
<refmeta>
<refentrytitle role="top_of_page" id="GtkConstraint.top_of_page">GtkConstraint</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkConstraint</refname>
<refpurpose>The description of a constraint</refpurpose>
</refnamediv>

<refsect1 id="GtkConstraint.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="GtkConstraint"><returnvalue>GtkConstraint</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-constraint-new">gtk_constraint_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraint"><returnvalue>GtkConstraint</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-constraint-new-constant">gtk_constraint_new_constant</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraintTarget"><returnvalue>GtkConstraintTarget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-constraint-get-target">gtk_constraint_get_target</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraintAttribute"><returnvalue>GtkConstraintAttribute</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-target-attribute">gtk_constraint_get_target_attribute</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraintRelation"><returnvalue>GtkConstraintRelation</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-relation">gtk_constraint_get_relation</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraintTarget"><returnvalue>GtkConstraintTarget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-constraint-get-source">gtk_constraint_get_source</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkConstraintAttribute"><returnvalue>GtkConstraintAttribute</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-source-attribute">gtk_constraint_get_source_attribute</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-multiplier">gtk_constraint_get_multiplier</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-constant">gtk_constraint_get_constant</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-constraint-get-strength">gtk_constraint_get_strength</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-constraint-is-required">gtk_constraint_is_required</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-constraint-is-attached">gtk_constraint_is_attached</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-constraint-is-constant">gtk_constraint_is_constant</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkConstraint.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="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--constant">constant</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="gdouble"><type>gdouble</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--multiplier">multiplier</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkConstraintRelation"><type>GtkConstraintRelation</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--relation">relation</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkConstraint--source">source</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--source-attribute">source-attribute</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--strength">strength</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkConstraint--target">target</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link></entry><entry role="property_name"><link linkend="GtkConstraint--target-attribute">target-attribute</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="GtkConstraintTarget"/><refsect1 id="GtkConstraint.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="GtkConstraint-struct">GtkConstraint</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkConstraintTarget-struct">GtkConstraintTarget</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkConstraintAttribute">GtkConstraintAttribute</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkConstraintRelation">GtkConstraintRelation</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkConstraintStrength">GtkConstraintStrength</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkConstraint.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> GtkConstraintTarget
    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkConstraint
</screen>
</refsect1>
<refsect1 id="GtkConstraint.prerequisites" role="prerequisites">
<title role="prerequisites.title">Prerequisites</title>
<para>
GtkConstraintTarget requires
 <link linkend="GObject">GObject</link>.</para>

</refsect1>
<refsect1 id="GtkConstraint.implementations" role="implementations">
<title role="implementations.title">Known Implementations</title>
<para>
GtkConstraintTarget is implemented by
 <link linkend="GtkAboutDialog">GtkAboutDialog</link>,  <link linkend="GtkAccelLabel">GtkAccelLabel</link>,  <link linkend="GtkActionBar">GtkActionBar</link>,  <link linkend="GtkAppChooserButton">GtkAppChooserButton</link>,  <link linkend="GtkAppChooserDialog">GtkAppChooserDialog</link>,  <link linkend="GtkAppChooserWidget">GtkAppChooserWidget</link>,  <link linkend="GtkApplicationWindow">GtkApplicationWindow</link>,  <link linkend="GtkAspectFrame">GtkAspectFrame</link>,  <link linkend="GtkAssistant">GtkAssistant</link>,  <link linkend="GtkBox">GtkBox</link>,  <link linkend="GtkButton">GtkButton</link>,  <link linkend="GtkCalendar">GtkCalendar</link>,  <link linkend="GtkCellView">GtkCellView</link>,  <link linkend="GtkCheckButton">GtkCheckButton</link>,  <link linkend="GtkColorButton">GtkColorButton</link>,  <link linkend="GtkColorChooserDialog">GtkColorChooserDialog</link>,  <link linkend="GtkColorChooserWidget">GtkColorChooserWidget</link>,  <link linkend="GtkComboBox">GtkComboBox</link>,  <link linkend="GtkComboBoxText">GtkComboBoxText</link>,  <link linkend="GtkConstraintGuide">GtkConstraintGuide</link>,  <link linkend="GtkDialog">GtkDialog</link>,  <link linkend="GtkDragIcon">GtkDragIcon</link>,  <link linkend="GtkDrawingArea">GtkDrawingArea</link>,  <link linkend="GtkEmojiChooser">GtkEmojiChooser</link>,  <link linkend="GtkEntry">GtkEntry</link>,  <link linkend="GtkExpander">GtkExpander</link>,  <link linkend="GtkFileChooserButton">GtkFileChooserButton</link>,  <link linkend="GtkFileChooserDialog">GtkFileChooserDialog</link>,  <link linkend="GtkFileChooserWidget">GtkFileChooserWidget</link>,  <link linkend="GtkFixed">GtkFixed</link>,  <link linkend="GtkFlowBox">GtkFlowBox</link>,  <link linkend="GtkFlowBoxChild">GtkFlowBoxChild</link>,  <link linkend="GtkFontButton">GtkFontButton</link>,  <link linkend="GtkFontChooserDialog">GtkFontChooserDialog</link>,  <link linkend="GtkFontChooserWidget">GtkFontChooserWidget</link>,  <link linkend="GtkFrame">GtkFrame</link>,  <link linkend="GtkGLArea">GtkGLArea</link>,  <link linkend="GtkGrid">GtkGrid</link>,  <link linkend="GtkHeaderBar">GtkHeaderBar</link>,  <link linkend="GtkIconView">GtkIconView</link>,  <link linkend="GtkImage">GtkImage</link>,  <link linkend="GtkInfoBar">GtkInfoBar</link>,  <link linkend="GtkLabel">GtkLabel</link>,  <link linkend="GtkLevelBar">GtkLevelBar</link>,  <link linkend="GtkLinkButton">GtkLinkButton</link>,  <link linkend="GtkListBox">GtkListBox</link>,  <link linkend="GtkListBoxRow">GtkListBoxRow</link>,  <link linkend="GtkLockButton">GtkLockButton</link>,  <link linkend="GtkMediaControls">GtkMediaControls</link>,  <link linkend="GtkMenuButton">GtkMenuButton</link>,  <link linkend="GtkMessageDialog">GtkMessageDialog</link>,  <link linkend="GtkNotebook">GtkNotebook</link>,  <link linkend="GtkOverlay">GtkOverlay</link>,  <link linkend="GtkPageSetupUnixDialog">GtkPageSetupUnixDialog</link>,  <link linkend="GtkPaned">GtkPaned</link>,  <link linkend="GtkPasswordEntry">GtkPasswordEntry</link>,  <link linkend="GtkPicture">GtkPicture</link>,  <link linkend="GtkPopover">GtkPopover</link>,  <link linkend="GtkPopoverMenu">GtkPopoverMenu</link>,  <link linkend="GtkPopoverMenuBar">GtkPopoverMenuBar</link>,  <link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link>,  <link linkend="GtkProgressBar">GtkProgressBar</link>,  <link linkend="GtkRadioButton">GtkRadioButton</link>,  <link linkend="GtkRange">GtkRange</link>,  <link linkend="GtkRevealer">GtkRevealer</link>,  <link linkend="GtkScale">GtkScale</link>,  <link linkend="GtkScaleButton">GtkScaleButton</link>,  <link linkend="GtkScrollbar">GtkScrollbar</link>,  <link linkend="GtkScrolledWindow">GtkScrolledWindow</link>,  <link linkend="GtkSearchBar">GtkSearchBar</link>,  <link linkend="GtkSearchEntry">GtkSearchEntry</link>,  <link linkend="GtkSeparator">GtkSeparator</link>,  <link linkend="GtkShortcutLabel">GtkShortcutLabel</link>,  <link linkend="GtkShortcutsGroup">GtkShortcutsGroup</link>,  <link linkend="GtkShortcutsSection">GtkShortcutsSection</link>,  <link linkend="GtkShortcutsShortcut">GtkShortcutsShortcut</link>,  <link linkend="GtkShortcutsWindow">GtkShortcutsWindow</link>,  <link linkend="GtkSpinButton">GtkSpinButton</link>,  <link linkend="GtkSpinner">GtkSpinner</link>,  <link linkend="GtkStack">GtkStack</link>,  <link linkend="GtkStackSidebar">GtkStackSidebar</link>,  <link linkend="GtkStackSwitcher">GtkStackSwitcher</link>,  <link linkend="GtkStatusbar">GtkStatusbar</link>,  <link linkend="GtkSwitch">GtkSwitch</link>,  <link linkend="GtkText">GtkText</link>,  <link linkend="GtkTextView">GtkTextView</link>,  <link linkend="GtkToggleButton">GtkToggleButton</link>,  <link linkend="GtkTreeView">GtkTreeView</link>,  <link linkend="GtkVideo">GtkVideo</link>,  <link linkend="GtkViewport">GtkViewport</link>,  <link linkend="GtkVolumeButton">GtkVolumeButton</link>,  <link linkend="GtkWidget">GtkWidget</link>,  <link linkend="GtkWindow">GtkWindow</link>,  <link linkend="GtkWindowControls">GtkWindowControls</link> and  <link linkend="GtkWindowHandle">GtkWindowHandle</link>.</para>

</refsect1>

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

<refsect1 id="GtkConstraint.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkConstraint"><type>GtkConstraint</type></link> describes a constraint between an attribute on a widget
and another attribute on another widget, expressed as a linear equation
like:</para>
<informalexample><programlisting role="example"><![CDATA[
  target.attr1 = source.attr2 × multiplier + constant
]]></programlisting></informalexample>
<para></para>
<para>Each <link linkend="GtkConstraint"><type>GtkConstraint</type></link> is part of a system that will be solved by a
<link linkend="GtkConstraintLayout"><type>GtkConstraintLayout</type></link> in order to allocate and position each child widget.</para>
<para>The source and target widgets, as well as their attributes, of a
<link linkend="GtkConstraint"><type>GtkConstraint</type></link> instance are immutable after creation.</para>

</refsect1>
<refsect1 id="GtkConstraint.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-constraint-new" role="function">
<title>gtk_constraint_new&#160;()</title>
<indexterm zone="gtk-constraint-new"><primary>gtk_constraint_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraint"><returnvalue>GtkConstraint</returnvalue></link>&#160;*
gtk_constraint_new (<parameter><link linkend="gpointer"><type>gpointer</type></link> target</parameter>,
                    <parameter><link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link> target_attribute</parameter>,
                    <parameter><link linkend="GtkConstraintRelation"><type>GtkConstraintRelation</type></link> relation</parameter>,
                    <parameter><link linkend="gpointer"><type>gpointer</type></link> source</parameter>,
                    <parameter><link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link> source_attribute</parameter>,
                    <parameter><link linkend="double"><type>double</type></link> multiplier</parameter>,
                    <parameter><link linkend="double"><type>double</type></link> constant</parameter>,
                    <parameter><link linkend="int"><type>int</type></link> strength</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkConstraint"><type>GtkConstraint</type></link> representing a relation between a layout
attribute on a source and a layout attribute on a target.</para>
<refsect3 id="gtk-constraint-new.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>target</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>type</acronym> GtkConstraintTarget]</emphasis></entry></row>
<row><entry role="parameter_name"><para>target_attribute</para></entry>
<entry role="parameter_description"><para>the attribute of <parameter>target</parameter>
to be set</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>relation</para></entry>
<entry role="parameter_description"><para>the relation equivalence between <parameter>target_attribute</parameter>
and <parameter>source_attribute</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>source</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>type</acronym> GtkConstraintTarget]</emphasis></entry></row>
<row><entry role="parameter_name"><para>source_attribute</para></entry>
<entry role="parameter_description"><para>the attribute of <parameter>source</parameter>
to be read</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>multiplier</para></entry>
<entry role="parameter_description"><para>a multiplication factor to be applied to <parameter>source_attribute</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>constant</para></entry>
<entry role="parameter_description"><para>a constant factor to be added to <parameter>source_attribute</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>strength</para></entry>
<entry role="parameter_description"><para>the strength of the constraint</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-new.returns" role="returns">
<title>Returns</title>
<para> the newly created <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-new-constant" role="function">
<title>gtk_constraint_new_constant&#160;()</title>
<indexterm zone="gtk-constraint-new-constant"><primary>gtk_constraint_new_constant</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraint"><returnvalue>GtkConstraint</returnvalue></link>&#160;*
gtk_constraint_new_constant (<parameter><link linkend="gpointer"><type>gpointer</type></link> target</parameter>,
                             <parameter><link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link> target_attribute</parameter>,
                             <parameter><link linkend="GtkConstraintRelation"><type>GtkConstraintRelation</type></link> relation</parameter>,
                             <parameter><link linkend="double"><type>double</type></link> constant</parameter>,
                             <parameter><link linkend="int"><type>int</type></link> strength</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkConstraint"><type>GtkConstraint</type></link> representing a relation between a layout
attribute on a target and a constant value.</para>
<refsect3 id="gtk-constraint-new-constant.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>target</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>type</acronym> GtkConstraintTarget]</emphasis></entry></row>
<row><entry role="parameter_name"><para>target_attribute</para></entry>
<entry role="parameter_description"><para>the attribute of <parameter>target</parameter>
to be set</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>relation</para></entry>
<entry role="parameter_description"><para>the relation equivalence between <parameter>target_attribute</parameter>
and <parameter>constant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>constant</para></entry>
<entry role="parameter_description"><para>a constant factor to be set on <parameter>target_attribute</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>strength</para></entry>
<entry role="parameter_description"><para>the strength of the constraint</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-new-constant.returns" role="returns">
<title>Returns</title>
<para> the newly created <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-target" role="function">
<title>gtk_constraint_get_target&#160;()</title>
<indexterm zone="gtk-constraint-get-target"><primary>gtk_constraint_get_target</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraintTarget"><returnvalue>GtkConstraintTarget</returnvalue></link>&#160;*
gtk_constraint_get_target (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link> used as the target for <parameter>constraint</parameter>
.</para>
<para>If the <link linkend="GtkConstraint--target"><type>“target”</type></link> property is set to <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the <parameter>constraint</parameter>

will use the <link linkend="GtkConstraintLayout"><type>GtkConstraintLayout</type></link>'s widget.</para>
<refsect3 id="gtk-constraint-get-target.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-target.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-target-attribute" role="function">
<title>gtk_constraint_get_target_attribute&#160;()</title>
<indexterm zone="gtk-constraint-get-target-attribute"><primary>gtk_constraint_get_target_attribute</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraintAttribute"><returnvalue>GtkConstraintAttribute</returnvalue></link>
gtk_constraint_get_target_attribute (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the attribute of the target to be set by the <parameter>constraint</parameter>
.</para>
<refsect3 id="gtk-constraint-get-target-attribute.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-target-attribute.returns" role="returns">
<title>Returns</title>
<para> the target's attribute</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-relation" role="function">
<title>gtk_constraint_get_relation&#160;()</title>
<indexterm zone="gtk-constraint-get-relation"><primary>gtk_constraint_get_relation</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraintRelation"><returnvalue>GtkConstraintRelation</returnvalue></link>
gtk_constraint_get_relation (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>The order relation between the terms of the <parameter>constraint</parameter>
.</para>
<refsect3 id="gtk-constraint-get-relation.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-relation.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="GtkConstraintRelation"><type>GtkConstraintRelation</type></link> value</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-source" role="function">
<title>gtk_constraint_get_source&#160;()</title>
<indexterm zone="gtk-constraint-get-source"><primary>gtk_constraint_get_source</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraintTarget"><returnvalue>GtkConstraintTarget</returnvalue></link>&#160;*
gtk_constraint_get_source (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link> used as the source for <parameter>constraint</parameter>
.</para>
<para>If the <link linkend="GtkConstraint--source"><type>“source”</type></link> property is set to <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the <parameter>constraint</parameter>

will use the <link linkend="GtkConstraintLayout"><type>GtkConstraintLayout</type></link>'s widget.</para>
<refsect3 id="gtk-constraint-get-source.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-source.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-source-attribute" role="function">
<title>gtk_constraint_get_source_attribute&#160;()</title>
<indexterm zone="gtk-constraint-get-source-attribute"><primary>gtk_constraint_get_source_attribute</primary></indexterm>
<programlisting language="C"><link linkend="GtkConstraintAttribute"><returnvalue>GtkConstraintAttribute</returnvalue></link>
gtk_constraint_get_source_attribute (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the attribute of the source to be read by the <parameter>constraint</parameter>
.</para>
<refsect3 id="gtk-constraint-get-source-attribute.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-source-attribute.returns" role="returns">
<title>Returns</title>
<para> the target's attribute</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-multiplier" role="function">
<title>gtk_constraint_get_multiplier&#160;()</title>
<indexterm zone="gtk-constraint-get-multiplier"><primary>gtk_constraint_get_multiplier</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
gtk_constraint_get_multiplier (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the multiplication factor applied to the source
attribute's value.</para>
<refsect3 id="gtk-constraint-get-multiplier.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-multiplier.returns" role="returns">
<title>Returns</title>
<para> a multiplication factor</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-constant" role="function">
<title>gtk_constraint_get_constant&#160;()</title>
<indexterm zone="gtk-constraint-get-constant"><primary>gtk_constraint_get_constant</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
gtk_constraint_get_constant (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the constant factor added to the source attributes' value.</para>
<refsect3 id="gtk-constraint-get-constant.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-constant.returns" role="returns">
<title>Returns</title>
<para> a constant factor</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-get-strength" role="function">
<title>gtk_constraint_get_strength&#160;()</title>
<indexterm zone="gtk-constraint-get-strength"><primary>gtk_constraint_get_strength</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_constraint_get_strength (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Retrieves the strength of the constraint.</para>
<refsect3 id="gtk-constraint-get-strength.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-get-strength.returns" role="returns">
<title>Returns</title>
<para> the strength of the constraint</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-is-required" role="function">
<title>gtk_constraint_is_required&#160;()</title>
<indexterm zone="gtk-constraint-is-required"><primary>gtk_constraint_is_required</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_constraint_is_required (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Checks whether the <parameter>constraint</parameter>
 is a required relation for solving the
constraint layout.</para>
<refsect3 id="gtk-constraint-is-required.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-is-required.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the constraint is required</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-is-attached" role="function">
<title>gtk_constraint_is_attached&#160;()</title>
<indexterm zone="gtk-constraint-is-attached"><primary>gtk_constraint_is_attached</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_constraint_is_attached (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Checks whether the <parameter>constraint</parameter>
 is attached to a <link linkend="GtkConstraintLayout"><type>GtkConstraintLayout</type></link>,
and it is contributing to the layout.</para>
<refsect3 id="gtk-constraint-is-attached.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-is-attached.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the constraint is attached</para>
</refsect3></refsect2>
<refsect2 id="gtk-constraint-is-constant" role="function">
<title>gtk_constraint_is_constant&#160;()</title>
<indexterm zone="gtk-constraint-is-constant"><primary>gtk_constraint_is_constant</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_constraint_is_constant (<parameter><link linkend="GtkConstraint"><type>GtkConstraint</type></link> *constraint</parameter>);</programlisting>
<para>Checks whether the <parameter>constraint</parameter>
 describes a relation between an attribute
on the <link linkend="GtkConstraint--target"><type>“target”</type></link> and a constant value.</para>
<refsect3 id="gtk-constraint-is-constant.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>constraint</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkConstraint"><type>GtkConstraint</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-constraint-is-constant.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the constraint is a constant relation</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkConstraint.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkConstraint-struct" role="struct">
<title>GtkConstraint</title>
<indexterm zone="GtkConstraint-struct"><primary>GtkConstraint</primary></indexterm>
<programlisting language="C">typedef struct _GtkConstraint GtkConstraint;</programlisting>
<para>An object describing the relation between two widget attributes.</para>
<para>All relations are in the form:</para>
<informalexample><programlisting role="example"><![CDATA[
  target.attr_name = source.attr_name × multiplier + constant
]]></programlisting></informalexample>
<para></para>
<para>A <link linkend="GtkConstraint"><type>GtkConstraint</type></link> is immutable once it's created.</para>
</refsect2>
<refsect2 id="GtkConstraintTarget-struct" role="struct">
<title>GtkConstraintTarget</title>
<indexterm zone="GtkConstraintTarget-struct"><primary>GtkConstraintTarget</primary></indexterm>
<programlisting language="C">typedef struct _GtkConstraintTarget GtkConstraintTarget;</programlisting>
<para>The GtkConstraintTarget interface is implemented by objects that
can be used as source or target in <link linkend="GtkConstraints"><type>GtkConstraints</type></link>. Besides
<link linkend="GtkWidget"><type>GtkWidget</type></link>, it is also implemented by <link linkend="GtkConstraintGuide"><type>GtkConstraintGuide</type></link>.</para>
</refsect2>
<refsect2 id="GtkConstraintAttribute" role="enum">
<title>enum GtkConstraintAttribute</title>
<indexterm zone="GtkConstraintAttribute"><primary>GtkConstraintAttribute</primary></indexterm>
<para>The widget attributes that can be used when creating a <link linkend="GtkConstraint"><type>GtkConstraint</type></link>.</para>
<refsect3 id="GtkConstraintAttribute.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-CONSTRAINT-ATTRIBUTE-NONE:CAPS">GTK_CONSTRAINT_ATTRIBUTE_NONE</para></entry>
<entry role="enum_member_description"><para>No attribute, used for constant
relations</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-LEFT:CAPS">GTK_CONSTRAINT_ATTRIBUTE_LEFT</para></entry>
<entry role="enum_member_description"><para>The left edge of a widget, regardless of
text direction</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-RIGHT:CAPS">GTK_CONSTRAINT_ATTRIBUTE_RIGHT</para></entry>
<entry role="enum_member_description"><para>The right edge of a widget, regardless
of text direction</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-TOP:CAPS">GTK_CONSTRAINT_ATTRIBUTE_TOP</para></entry>
<entry role="enum_member_description"><para>The top edge of a widget</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-BOTTOM:CAPS">GTK_CONSTRAINT_ATTRIBUTE_BOTTOM</para></entry>
<entry role="enum_member_description"><para>The bottom edge of a widget</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-START:CAPS">GTK_CONSTRAINT_ATTRIBUTE_START</para></entry>
<entry role="enum_member_description"><para>The leading edge of a widget, depending
on text direction; equivalent to <link linkend="GTK-CONSTRAINT-ATTRIBUTE-LEFT:CAPS"><literal>GTK_CONSTRAINT_ATTRIBUTE_LEFT</literal></link> for LTR
languages, and <link linkend="GTK-CONSTRAINT-ATTRIBUTE-RIGHT:CAPS"><literal>GTK_CONSTRAINT_ATTRIBUTE_RIGHT</literal></link> for RTL ones</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-END:CAPS">GTK_CONSTRAINT_ATTRIBUTE_END</para></entry>
<entry role="enum_member_description"><para>The trailing edge of a widget, depending
on text direction; equivalent to <link linkend="GTK-CONSTRAINT-ATTRIBUTE-RIGHT:CAPS"><literal>GTK_CONSTRAINT_ATTRIBUTE_RIGHT</literal></link> for LTR
languages, and <link linkend="GTK-CONSTRAINT-ATTRIBUTE-LEFT:CAPS"><literal>GTK_CONSTRAINT_ATTRIBUTE_LEFT</literal></link> for RTL ones</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-WIDTH:CAPS">GTK_CONSTRAINT_ATTRIBUTE_WIDTH</para></entry>
<entry role="enum_member_description"><para>The width of a widget</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-HEIGHT:CAPS">GTK_CONSTRAINT_ATTRIBUTE_HEIGHT</para></entry>
<entry role="enum_member_description"><para>The height of a widget</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-CENTER-X:CAPS">GTK_CONSTRAINT_ATTRIBUTE_CENTER_X</para></entry>
<entry role="enum_member_description"><para>The center of a widget, on the
horizontal axis</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-CENTER-Y:CAPS">GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y</para></entry>
<entry role="enum_member_description"><para>The center of a widget, on the
vertical axis</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-ATTRIBUTE-BASELINE:CAPS">GTK_CONSTRAINT_ATTRIBUTE_BASELINE</para></entry>
<entry role="enum_member_description"><para>The baseline of a widget</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkConstraintRelation" role="enum">
<title>enum GtkConstraintRelation</title>
<indexterm zone="GtkConstraintRelation"><primary>GtkConstraintRelation</primary></indexterm>
<para>The relation between two terms of a constraint.</para>
<refsect3 id="GtkConstraintRelation.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-CONSTRAINT-RELATION-LE:CAPS">GTK_CONSTRAINT_RELATION_LE</para></entry>
<entry role="enum_member_description"><para>Less than, or equal</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-RELATION-EQ:CAPS">GTK_CONSTRAINT_RELATION_EQ</para></entry>
<entry role="enum_member_description"><para>Equal</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-RELATION-GE:CAPS">GTK_CONSTRAINT_RELATION_GE</para></entry>
<entry role="enum_member_description"><para>Greater than, or equal</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkConstraintStrength" role="enum">
<title>enum GtkConstraintStrength</title>
<indexterm zone="GtkConstraintStrength"><primary>GtkConstraintStrength</primary></indexterm>
<para>The strength of a constraint, expressed as a symbolic constant.</para>
<para>The strength of a <link linkend="GtkConstraint"><type>GtkConstraint</type></link> can be expressed with any positive
integer; the values of this enumeration can be used for readability.</para>
<refsect3 id="GtkConstraintStrength.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-CONSTRAINT-STRENGTH-REQUIRED:CAPS">GTK_CONSTRAINT_STRENGTH_REQUIRED</para></entry>
<entry role="enum_member_description"><para>The constraint is required towards solving the layout</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-STRENGTH-STRONG:CAPS">GTK_CONSTRAINT_STRENGTH_STRONG</para></entry>
<entry role="enum_member_description"><para>A strong constraint</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-STRENGTH-MEDIUM:CAPS">GTK_CONSTRAINT_STRENGTH_MEDIUM</para></entry>
<entry role="enum_member_description"><para>A medium constraint</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-CONSTRAINT-STRENGTH-WEAK:CAPS">GTK_CONSTRAINT_STRENGTH_WEAK</para></entry>
<entry role="enum_member_description"><para>A weak constraint</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkConstraint.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkConstraint--constant" role="property"><title>The <literal>“constant”</literal> property</title>
<indexterm zone="GtkConstraint--constant"><primary>GtkConstraint:constant</primary></indexterm>
<programlisting>  “constant”                 <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The constant value to be added to the <link linkend="GtkConstraint--source-attribute"><type>“source-attribute”</type></link>.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkConstraint--multiplier" role="property"><title>The <literal>“multiplier”</literal> property</title>
<indexterm zone="GtkConstraint--multiplier"><primary>GtkConstraint:multiplier</primary></indexterm>
<programlisting>  “multiplier”               <link linkend="gdouble"><type>gdouble</type></link></programlisting>
<para>The multiplication factor to be applied to the
<link linkend="GtkConstraint--source-attribute"><type>“source-attribute”</type></link>.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: 1</para>
</refsect2>
<refsect2 id="GtkConstraint--relation" role="property"><title>The <literal>“relation”</literal> property</title>
<indexterm zone="GtkConstraint--relation"><primary>GtkConstraint:relation</primary></indexterm>
<programlisting>  “relation”                 <link linkend="GtkConstraintRelation"><type>GtkConstraintRelation</type></link></programlisting>
<para>The order relation between the terms of the constraint.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: GTK_CONSTRAINT_RELATION_EQ</para>
</refsect2>
<refsect2 id="GtkConstraint--source" role="property"><title>The <literal>“source”</literal> property</title>
<indexterm zone="GtkConstraint--source"><primary>GtkConstraint:source</primary></indexterm>
<programlisting>  “source”                   <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>&#160;*</programlisting>
<para>The source of the constraint.</para>
<para>The constraint will set the <link linkend="GtkConstraint--target-attribute"><type>“target-attribute”</type></link> of the
target using the <link linkend="GtkConstraint--source-attribute"><type>“source-attribute”</type></link> of the source.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
</refsect2>
<refsect2 id="GtkConstraint--source-attribute" role="property"><title>The <literal>“source-attribute”</literal> property</title>
<indexterm zone="GtkConstraint--source-attribute"><primary>GtkConstraint:source-attribute</primary></indexterm>
<programlisting>  “source-attribute”         <link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link></programlisting>
<para>The attribute of the <link linkend="GtkConstraint--source"><type>“source”</type></link> read by the constraint.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE</para>
</refsect2>
<refsect2 id="GtkConstraint--strength" role="property"><title>The <literal>“strength”</literal> property</title>
<indexterm zone="GtkConstraint--strength"><primary>GtkConstraint:strength</primary></indexterm>
<programlisting>  “strength”                 <link linkend="gint"><type>gint</type></link></programlisting>
<para>The strength of the constraint.</para>
<para>The strength can be expressed either using one of the symbolic values
of the <link linkend="GtkConstraintStrength"><type>GtkConstraintStrength</type></link> enumeration, or any positive integer
value.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Allowed values: [0,1001001000]</para>
<para>Default value: 1001001000</para>
</refsect2>
<refsect2 id="GtkConstraint--target" role="property"><title>The <literal>“target”</literal> property</title>
<indexterm zone="GtkConstraint--target"><primary>GtkConstraint:target</primary></indexterm>
<programlisting>  “target”                   <link linkend="GtkConstraintTarget"><type>GtkConstraintTarget</type></link>&#160;*</programlisting>
<para>The target of the constraint.</para>
<para>The constraint will set the <link linkend="GtkConstraint--target-attribute"><type>“target-attribute”</type></link> of the
target using the <link linkend="GtkConstraint--source-attribute"><type>“source-attribute”</type></link> of the source
widget.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
</refsect2>
<refsect2 id="GtkConstraint--target-attribute" role="property"><title>The <literal>“target-attribute”</literal> property</title>
<indexterm zone="GtkConstraint--target-attribute"><primary>GtkConstraint:target-attribute</primary></indexterm>
<programlisting>  “target-attribute”         <link linkend="GtkConstraintAttribute"><type>GtkConstraintAttribute</type></link></programlisting>
<para>The attribute of the <link linkend="GtkConstraint--target"><type>“target”</type></link> set by the constraint.</para>
<para>Owner: GtkConstraint</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Default value: GTK_CONSTRAINT_ATTRIBUTE_NONE</para>
</refsect2>

</refsect1>

</refentry>
