## GtkAlignment

GtkAlignment — A widget which controls the alignment and size of its child

## Synopsis

    #include <gtk/gtk.h>

    struct      GtkAlignment;
    GtkWidget*  gtk_alignment_new               (gfloat xalign,
                                                 gfloat yalign,
                                                 gfloat xscale,
                                                 gfloat yscale);
    void        gtk_alignment_set               (GtkAlignment *alignment,
                                                 gfloat xalign,
                                                 gfloat yalign,
                                                 gfloat xscale,
                                                 gfloat yscale);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkAlignment

## Implemented Interfaces

GtkAlignment implements AtkImplementorIface.

## Properties

      "xalign"               gfloat               : Read / Write
      "xscale"               gfloat               : Read / Write
      "yalign"               gfloat               : Read / Write
      "yscale"               gfloat               : Read / Write

## Description

The GtkAlignment widget controls the alignment and size of its child widget. It has four settings: xscale, yscale, xalign, and yalign.

The scale settings are used to specify how much the child widget should expand to fill the space allocated to the GtkAlignment. The values can range from 0 (meaning the child doesn't expand at all) to 1 (meaning the child expands to fill all of the available space).

The align settings are used to place the child widget within the available area. The values range from 0 (top or left) to 1 (bottom or right). Of course, if the scale settings are both set to 1, the alignment settings have no effect.

## Details

### struct GtkAlignment

    struct GtkAlignment;

The GtkAlignment-struct struct contains private data only, and should be accessed using the functions below.

### gtk_alignment_new ()

    GtkWidget*  gtk_alignment_new               (gfloat xalign,
                                                 gfloat yalign,
                                                 gfloat xscale,
                                                 gfloat yscale);

Creates a new GtkAlignment.

`xalign` : | the horizontal alignment of the child widget, from 0 (left) to 1 (right).
`yalign` : | the vertical alignment of the child widget, from 0 (top) to 1 (bottom).
`xscale` : | the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the GtkAlignment.
`yscale` : | the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to `xscale`.
Returns : | the new GtkAlignment.

### gtk_alignment_set ()

    void        gtk_alignment_set               (GtkAlignment *alignment,
                                                 gfloat xalign,
                                                 gfloat yalign,
                                                 gfloat xscale,
                                                 gfloat yscale);

Sets the GtkAlignment values.

`alignment` : | a GtkAlignment.
`xalign` : | the horizontal alignment of the child widget, from 0 (left) to 1 (right).
`yalign` : | the vertical alignment of the child widget, from 0 (top) to 1 (bottom).
`xscale` : | the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the GtkAlignment.
`yscale` : | the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to `xscale`.

## Properties

"`xalign`" (gfloat : Read / Write) | Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned.
"`xscale`" (gfloat : Read / Write) | If available horizontal space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all.
"`yalign`" (gfloat : Read / Write) | Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned.
"`yscale`" (gfloat : Read / Write) | If available vertical space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all.