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);


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 {
  GtkFrame frame;

  gfloat xalign;
  gfloat yalign;
  gfloat ratio;
  gboolean obey_child;

  GtkAllocation center_allocation;
} 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.