## GtkAlignment

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

## Functions

GtkWidget * | gtk_alignment_new ()
void | gtk_alignment_set ()
void | gtk_alignment_get_padding ()
void | gtk_alignment_set_padding ()

## Properties

guint | bottom-padding | Read / Write
guint | left-padding | Read / Write
guint | right-padding | Read / Write
guint | top-padding | Read / Write
gfloat | xalign | Read / Write
gfloat | xscale | Read / Write
gfloat | yalign | Read / Write
gfloat | yscale | Read / Write

## Types and Values

struct | GtkAlignment

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GtkAlignment

## Implemented Interfaces

GtkAlignment implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <gtk/gtk.h>

## 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.

Note that the desired effect can in most cases be achieved by using the “halign”, “valign” and “margin” properties on the child widget, so GtkAlignment should not be used in new code.

## Functions

### gtk_alignment_new ()

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

Creates a new GtkAlignment.

#### Parameters

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.

#### Parameters

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` . |

### gtk_alignment_get_padding ()

    void
    gtk_alignment_get_padding (GtkAlignment *alignment,
                               guint *padding_top,
                               guint *padding_bottom,
                               guint *padding_left,
                               guint *padding_right);

Gets the padding on the different sides of the widget. See `gtk_alignment_set_padding()`.

#### Parameters

alignment | a GtkAlignment |
padding_top | location to store the padding for the top of the widget, or `NULL`. | [out][allow-none]
padding_bottom | location to store the padding for the bottom of the widget, or `NULL`. | [out][allow-none]
padding_left | location to store the padding for the left of the widget, or `NULL`. | [out][allow-none]
padding_right | location to store the padding for the right of the widget, or `NULL`. | [out][allow-none]

Since 2.4

### gtk_alignment_set_padding ()

    void
    gtk_alignment_set_padding (GtkAlignment *alignment,
                               guint padding_top,
                               guint padding_bottom,
                               guint padding_left,
                               guint padding_right);

Sets the padding on the different sides of the widget. The padding adds blank space to the sides of the widget. For instance, this can be used to indent the child widget towards the right by adding padding on the left.

#### Parameters

alignment | a GtkAlignment |
padding_top | the padding at the top of the widget |
padding_bottom | the padding at the bottom of the widget |
padding_left | the padding at the left of the widget |
padding_right | the padding at the right of the widget. |

Since 2.4

## Types and Values

### struct GtkAlignment

    struct GtkAlignment;

## Property Details

### The `“bottom-padding”` property

      “bottom-padding”           guint

The padding to insert at the bottom of the widget.

Flags: Read / Write

Allowed values: <= G_MAXLONG

Default value: 0

Since 2.4

### The `“left-padding”` property

      “left-padding”             guint

The padding to insert at the left of the widget.

Flags: Read / Write

Allowed values: <= G_MAXLONG

Default value: 0

Since 2.4

### The `“right-padding”` property

      “right-padding”            guint

The padding to insert at the right of the widget.

Flags: Read / Write

Allowed values: <= G_MAXLONG

Default value: 0

Since 2.4

### The `“top-padding”` property

      “top-padding”              guint

The padding to insert at the top of the widget.

Flags: Read / Write

Allowed values: <= G_MAXLONG

Default value: 0

Since 2.4

### The `“xalign”` property

      “xalign”                   gfloat

Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

### The `“xscale”` property

      “xscale”                   gfloat

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.

Flags: Read / Write

Allowed values: [0,1]

Default value: 1

### The `“yalign”` property

      “yalign”                   gfloat

Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.5

### The `“yscale”` property

      “yscale”                   gfloat

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.

Flags: Read / Write

Allowed values: [0,1]

Default value: 1