On this page
GtkAspectFrame
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
Functions
| GtkWidget * | gtk_aspect_frame_new () | 
| void | gtk_aspect_frame_set () | 
Properties
| gboolean | obey-child | Read / Write | 
| float | ratio | Read / Write | 
| float | xalign | Read / Write | 
| float | yalign | Read / Write | 
Types and Values
| struct | GtkAspectFrame | 
| struct | GtkAspectFrameClass | 
Object Hierarchy
    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkFrame
                        ╰── GtkAspectFrame
   Implemented Interfaces
GtkAspectFrame implements AtkImplementorIface and GtkBuildable.
Includes
#include <gtk/gtk.h>
   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.
CSS nodes
GtkAspectFrame uses a CSS node with name frame.
Functions
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.
Parameters
label  | 
           Label text.  | 
           [allow-none] | 
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 (top aligned) to 1.0 (bottom aligned)  | 
           |
ratio  | 
           The desired aspect ratio.  | 
           |
obey_child  | 
           If   | 
           
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.
Parameters
aspect_frame  | 
           ||
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 (top aligned) to 1.0 (bottom aligned)  | 
           |
ratio  | 
           The desired aspect ratio.  | 
           |
obey_child  | 
           If   | 
           
Types and Values
struct GtkAspectFrame
struct GtkAspectFrame;
    struct GtkAspectFrameClass
struct GtkAspectFrameClass {
  GtkFrameClass parent_class;
};
     Members
Property Details
The “obey-child” property
       “obey-child”               gboolean
     Force aspect ratio to match that of the frame's child.
Owner: GtkAspectFrame
Flags: Read / Write
Default value: TRUE
The “ratio” property
       “ratio”                    float
     Aspect ratio if obey_child is FALSE.
Owner: GtkAspectFrame
Flags: Read / Write
Allowed values: [0.0001,10000]
Default value: 1
The “xalign” property
       “xalign”                   float
     X alignment of the child.
Owner: GtkAspectFrame
Flags: Read / Write
Allowed values: [0,1]
Default value: 0.5
The “yalign” property
       “yalign”                   float
     Y alignment of the child.
Owner: GtkAspectFrame
Flags: Read / Write
Allowed values: [0,1]
Default value: 0.5
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
 https://developer.gnome.org/gtk3/3.24/GtkAspectFrame.html