## FoLayout

FoLayout —

## Synopsis

    struct      FoLayout;
    struct      FoLayoutClass;
    #define     FO_LAYOUT_ERROR
    GQuark      fo_layout_error_quark           (void);
    enum        FoLayoutError;
    struct      FoRectangle;
    FoLayout*   fo_layout_new                   (void);
    FoLayout*   fo_layout_new_from_fo_doc       (FoDoc *fo_doc);
    FoLayout*   fo_layout_copy                  (FoLayout *src);
    void        fo_layout_set_attributes        (FoLayout *fo_layout,
                                                 GList *attr_glist);
    void        fo_layout_set_text              (FoLayout *fo_layout,
                                                 GString *text);
    void        fo_layout_set_width             (FoLayout *fo_layout,
                                                 gfloat width);
    void        fo_layout_set_font_desc         (FoLayout *fo_layout,
                                                 const FoFontDesc *desc);
    void        fo_layout_set_alignment         (FoLayout *fo_layout,
                                                 FoEnumAreaDirection alignment);
    void        fo_layout_set_indent            (FoLayout *fo_layout,
                                                 gfloat indent);
    void        fo_layout_set_justify           (FoLayout *fo_layout,
                                                 gboolean justify);
    gint        fo_layout_get_line_count        (FoLayout *fo_layout);
    void        fo_layout_get_extents           (FoLayout *fo_layout,
                                                 FoRectangle *logical_rect);
    void        fo_layout_get_line_extents      (FoLayout *fo_layout,
                                                 gint line_index,
                                                 FoRectangle *logical_rect);
    void        fo_layout_set_line_height       (FoLayout *fo_layout,
                                                 gfloat line_height);
    void        fo_layout_set_line_stacking_strategy
                                                (FoLayout *fo_layout,
                                                 FoEnumEnum line_stacking_strategy);

## Description

## Details

### struct FoLayout

    struct FoLayout;

### struct FoLayoutClass

    struct FoLayoutClass;

### FO_LAYOUT_ERROR

    #define FO_LAYOUT_ERROR fo_layout_error_quark ()

### fo_layout_error_quark ()

    GQuark      fo_layout_error_quark           (void);

Get the error quark for FoLayout.

If the quark does not yet exist, create it.

Returns : | GQuark associated with FoLayout errors.

### enum FoLayoutError

    typedef enum
    {
      FO_LAYOUT_ERROR_FAILED
    } FoLayoutError;

### struct FoRectangle

    struct FoRectangle {

      int x;
      int y;
      int width;
      int height;
    };

### fo_layout_new ()

    FoLayout*   fo_layout_new                   (void);

Creates a new FoLayout.

Returns : | the newly created FoLayout.

### fo_layout_new_from_fo_doc ()

    FoLayout*   fo_layout_new_from_fo_doc       (FoDoc *fo_doc);

Creates a new FoLayout.

`fo_doc` : | FoDoc.
Returns : | the newly created FoLayout.

### fo_layout_copy ()

    FoLayout*   fo_layout_copy                  (FoLayout *src);

`src` : |
Returns : |

### fo_layout_set_attributes ()

    void        fo_layout_set_attributes        (FoLayout *fo_layout,
                                                 GList *attr_glist);

`fo_layout` : |
`attr_glist` : |

### fo_layout_set_text ()

    void        fo_layout_set_text              (FoLayout *fo_layout,
                                                 GString *text);

`fo_layout` : |
`text` : |

### fo_layout_set_width ()

    void        fo_layout_set_width             (FoLayout *fo_layout,
                                                 gfloat width);

`fo_layout` : |
`width` : |

### fo_layout_set_font_desc ()

    void        fo_layout_set_font_desc         (FoLayout *fo_layout,
                                                 const FoFontDesc *desc);

`fo_layout` : |
`desc` : |

### fo_layout_set_alignment ()

    void        fo_layout_set_alignment         (FoLayout *fo_layout,
                                                 FoEnumAreaDirection alignment);

Sets the alignment of `fo_layout`.

`fo_layout` : | FoLayout to have alignment set.
`alignment` : | FoEnumAreaDirection value indicating new alignment.

### fo_layout_set_indent ()

    void        fo_layout_set_indent            (FoLayout *fo_layout,
                                                 gfloat indent);

`fo_layout` : |
`indent` : |

### fo_layout_set_justify ()

    void        fo_layout_set_justify           (FoLayout *fo_layout,
                                                 gboolean justify);

`fo_layout` : |
`justify` : |

### fo_layout_get_line_count ()

    gint        fo_layout_get_line_count        (FoLayout *fo_layout);

`fo_layout` : |
Returns : |

### fo_layout_get_extents ()

    void        fo_layout_get_extents           (FoLayout *fo_layout,
                                                 FoRectangle *logical_rect);

`fo_layout` : |
`logical_rect` : |

### fo_layout_get_line_extents ()

    void        fo_layout_get_line_extents      (FoLayout *fo_layout,
                                                 gint line_index,
                                                 FoRectangle *logical_rect);

`fo_layout` : |
`line_index` : |
`logical_rect` : |

### fo_layout_set_line_height ()

    void        fo_layout_set_line_height       (FoLayout *fo_layout,
                                                 gfloat line_height);

Set the 'line-height' of `fo_layout` to `line_height`.

`fo_layout` : | FoLayout.
`line_height` : | 'line-height' in points.

### fo_layout_set_line_stacking_strategy ()

    void        fo_layout_set_line_stacking_strategy
                                                (FoLayout *fo_layout,
                                                 FoEnumEnum line_stacking_strategy);

Set the 'line-stacking-strategy' property of `fo_layout` to `line_stacking_strategy`.

`fo_layout` : | FoLayout.
`line_stacking_strategy` : | Line stacking strategy to use.