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 GtkBuildable and AtkImplementorIface.

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: [1e-04,10000]

Default value: 0.5


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