GtkAspectFrame

GtkAspectFrame — A frame that constrains its child to a particular aspect ratio

Synopsis

#include <gtk/gtk.h>

                    GtkAspectFrame;
GtkWidget*          gtk_aspect_frame_new                (const gchar *label,
                                                         gfloat xalign,
                                                         gfloat yalign,
                                                         gfloat ratio,
                                                         gboolean obey_child);
void                gtk_aspect_frame_set                (GtkAspectFrame *aspect_frame,
                                                         gfloat xalign,
                                                         gfloat yalign,
                                                         gfloat ratio,
                                                         gboolean obey_child);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBin
                                 +----GtkFrame
                                       +----GtkAspectFrame

Implemented Interfaces

GtkAspectFrame implements AtkImplementorIface and GtkBuildable.

Properties

  "obey-child"               gboolean              : Read / Write
  "ratio"                    gfloat                : Read / Write
  "xalign"                   gfloat                : Read / Write
  "yalign"                   gfloat                : Read / Write

Description

The GtkAspectFrame is useful when you want pack a widget so that it can resize but always retains the same aspect ratio. For instance, one might be drawing a small preview of a larger image. GtkAspectFrame derives from GtkFrame, so it can draw a label and a frame around the child. The frame will be "shrink-wrapped" to the size of the child.

Details

GtkAspectFrame

typedef struct _GtkAspectFrame GtkAspectFrame;


gtk_aspect_frame_new ()

GtkWidget*          gtk_aspect_frame_new                (const gchar *label,
                                                         gfloat xalign,
                                                         gfloat yalign,
                                                         gfloat ratio,
                                                         gboolean obey_child);

Create a new GtkAspectFrame.

label :

Label text.

xalign :

Horizontal alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned)

yalign :

Vertical alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned)

ratio :

The desired aspect ratio.

obey_child :

If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child.

Returns :

the new GtkAspectFrame.

gtk_aspect_frame_set ()

void                gtk_aspect_frame_set                (GtkAspectFrame *aspect_frame,
                                                         gfloat xalign,
                                                         gfloat yalign,
                                                         gfloat ratio,
                                                         gboolean obey_child);

Set parameters for an existing GtkAspectFrame.

aspect_frame :

a GtkAspectFrame

xalign :

Horizontal alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned)

yalign :

Vertical alignment of the child within the allocation of the GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned)

ratio :

The desired aspect ratio.

obey_child :

If TRUE, ratio is ignored, and the aspect ratio is taken from the requistion of the child.

Property Details

The "obey-child" property

  "obey-child"               gboolean              : Read / Write

Force aspect ratio to match that of the frame's child.

Default value: TRUE


The "ratio" property

  "ratio"                    gfloat                : Read / Write

Aspect ratio if obey_child is FALSE.

Allowed values: [0.0001,10000]

Default value: 1


The "xalign" property

  "xalign"                   gfloat                : Read / Write

X alignment of the child.

Allowed values: [0,1]

Default value: 0.5


The "yalign" property

  "yalign"                   gfloat                : Read / Write

Y alignment of the child.

Allowed values: [0,1]

Default value: 0.5