## GtkMisc

GtkMisc — Base class for widgets with alignments and padding

## Synopsis

    #include <gtk/gtk.h>

    struct              GtkMisc;
    void                gtk_misc_set_alignment              (GtkMisc *misc,
                                                             gfloat xalign,
                                                             gfloat yalign);
    void                gtk_misc_set_padding                (GtkMisc *misc,
                                                             gint xpad,
                                                             gint ypad);
    void                gtk_misc_get_alignment              (GtkMisc *misc,
                                                             gfloat *xalign,
                                                             gfloat *yalign);
    void                gtk_misc_get_padding                (GtkMisc *misc,
                                                             gint *xpad,
                                                             gint *ypad);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkMisc
                         +----GtkLabel
                         +----GtkArrow
                         +----GtkImage

## Implemented Interfaces

GtkMisc implements AtkImplementorIface and GtkBuildable.

## Properties

      "xalign"                   gfloat                : Read / Write
      "xpad"                     gint                  : Read / Write
      "yalign"                   gfloat                : Read / Write
      "ypad"                     gint                  : Read / Write

## Description

The GtkMisc widget is an abstract widget which is not useful itself, but is used to derive subclasses which have alignment and padding attributes.

The horizontal and vertical padding attributes allows extra space to be added around the widget.

The horizontal and vertical alignment attributes enable the widget to be positioned within its allocated area. Note that if the widget is added to a container in such a way that it expands automatically to fill its allocated area, the alignment settings will not alter the widgets position.

### Note

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

## Details

### struct GtkMisc

    struct GtkMisc;

The GtkMisc struct contains the following fields. (These fields should be considered read-only. They should never be set by an application.)

gfloat `xalign`; | the horizontal alignment, from 0 (left) to 1 (right).
gfloat `yalign`; | the vertical alignment, from 0 (top) to 1 (bottom).
guint16 `xpad`; | the amount of space to add on the left and right of the widget, in pixels.
guint16 `ypad`; | the amount of space to add on the top and bottom of the widget, in pixels.

### gtk_misc_set_alignment ()

    void                gtk_misc_set_alignment              (GtkMisc *misc,
                                                             gfloat xalign,
                                                             gfloat yalign);

Sets the alignment of the widget.

`misc` : | a GtkMisc.
`xalign` : | the horizontal alignment, from 0 (left) to 1 (right).
`yalign` : | the vertical alignment, from 0 (top) to 1 (bottom).

### gtk_misc_set_padding ()

    void                gtk_misc_set_padding                (GtkMisc *misc,
                                                             gint xpad,
                                                             gint ypad);

Sets the amount of space to add around the widget.

`misc` : | a GtkMisc.
`xpad` : | the amount of space to add on the left and right of the widget, in pixels.
`ypad` : | the amount of space to add on the top and bottom of the widget, in pixels.

### gtk_misc_get_alignment ()

    void                gtk_misc_get_alignment              (GtkMisc *misc,
                                                             gfloat *xalign,
                                                             gfloat *yalign);

Gets the X and Y alignment of the widget within its allocation. See `gtk_misc_set_alignment()`.

`misc` : | a GtkMisc
`xalign` : | location to store X alignment of `misc`, or `NULL`. [out][allow-none]
`yalign` : | location to store Y alignment of `misc`, or `NULL`. [out][allow-none]

### gtk_misc_get_padding ()

    void                gtk_misc_get_padding                (GtkMisc *misc,
                                                             gint *xpad,
                                                             gint *ypad);

Gets the padding in the X and Y directions of the widget. See `gtk_misc_set_padding()`.

`misc` : | a GtkMisc
`xpad` : | location to store padding in the X direction, or `NULL`. [out][allow-none]
`ypad` : | location to store padding in the Y direction, or `NULL`. [out][allow-none]

## Property Details

### The `"xalign"` property

      "xalign"                   gfloat                : Read / Write

The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.

Allowed values: [0,1]

Default value: 0.5

### The `"xpad"` property

      "xpad"                     gint                  : Read / Write

The amount of space to add on the left and right of the widget, in pixels.

Allowed values: >= 0

Default value: 0

### The `"yalign"` property

      "yalign"                   gfloat                : Read / Write

The vertical alignment, from 0 (top) to 1 (bottom).

Allowed values: [0,1]

Default value: 0.5

### The `"ypad"` property

      "ypad"                     gint                  : Read / Write

The amount of space to add on the top and bottom of the widget, in pixels.

Allowed values: >= 0

Default value: 0