## fo-keep

fo-keep —

## Synopsis

    enum        FoEnumKeep;
    #define     FO_KEEP                         (object)
    struct      FoKeep;
    struct      FoKeepClass;
    GType       fo_keep_get_type                (void);
    FoDatatype* fo_keep_new                     (void);
    FoDatatype* fo_keep_new_with_value          (FoDatatype *value);
    FoDatatype* fo_keep_get_keep_auto           (void);
    FoDatatype* fo_keep_get_keep_always         (void);
    FoDatatype* fo_keep_get_within_line         (FoDatatype *datatype);
    FoDatatype* fo_keep_get_within_column       (FoDatatype *datatype);
    FoDatatype* fo_keep_get_within_page         (FoDatatype *datatype);
    FoDatatype* fo_keep_resolve                 (FoDatatype *shortform,
                                                 FoDatatype *within_line,
                                                 FoDatatype *within_column,
                                                 FoDatatype *within_page,
                                                 GError **error);
    FoDatatype* fo_keep_get_enum_auto           (void);
    FoDatatype* fo_keep_get_enum_always         (void);

## Object Hierarchy

      GObject
       +----FoObject
             +----FoDatatype
                   +----FoKeep

## Properties

      "within-column"        FoDatatype           : Read / Write / Construct Only
      "within-line"          FoDatatype           : Read / Write / Construct Only
      "within-page"          FoDatatype           : Read / Write / Construct Only

## Description

## Details

### enum FoEnumKeep

    typedef enum {
      FO_ENUM_KEEP_AUTO,
      FO_ENUM_KEEP_ALWAYS
    } FoEnumKeep;

### FO_KEEP()

    #define FO_KEEP(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), FO_TYPE_KEEP, FoKeep))

`object` : |

### struct FoKeep

    struct FoKeep;

### struct FoKeepClass

    struct FoKeepClass;

### fo_keep_get_type ()

    GType       fo_keep_get_type                (void);

Register the FoKeep object type.

Returns : | GType value of the FoKeep object type.

### fo_keep_new ()

    FoDatatype* fo_keep_new                     (void);

Creates a new FoKeep initialized to default value.

Returns : | the new FoKeep

### fo_keep_new_with_value ()

    FoDatatype* fo_keep_new_with_value          (FoDatatype *value);

Creates a new FoKeep set to `value`

`value` : | Keep of the new FoKeep
Returns : | The new FoKeep

### fo_keep_get_keep_auto ()

    FoDatatype* fo_keep_get_keep_auto           (void);

Creates a new FoKeep set to .within-line="auto", .within-column="auto", and .within-page="auto".

Returns : | The new FoKeep

### fo_keep_get_keep_always ()

    FoDatatype* fo_keep_get_keep_always         (void);

Creates a new FoKeep set to .within-line="always", .within-column="always", and .within-page="always".

Returns : | The new FoKeep

### fo_keep_get_within_line ()

    FoDatatype* fo_keep_get_within_line         (FoDatatype *datatype);

Gets the .within-line component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-line value of `datatype`

### fo_keep_get_within_column ()

    FoDatatype* fo_keep_get_within_column       (FoDatatype *datatype);

Gets the .within-column component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-column value of `datatype`

### fo_keep_get_within_page ()

    FoDatatype* fo_keep_get_within_page         (FoDatatype *datatype);

Gets the .within-page component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-page value of `datatype`

### fo_keep_resolve ()

    FoDatatype* fo_keep_resolve                 (FoDatatype *shortform,
                                                 FoDatatype *within_line,
                                                 FoDatatype *within_column,
                                                 FoDatatype *within_page,
                                                 GError **error);

Resolve the shortform and components of the keep in accordance with Section 5.11, Datatypes, of the XSL 1.0 Recommendation.

Does not change the ref-count of any FoDatatype arguments.

`shortform` : | Single-value short form of the keep, or NULL
`within_line` : | .within-line component of the keep, or NULL
`within_column` : | .within-column component of the keep, or NULL
`within_page` : | .within-page component of the keep, or NULL
`error` : | GError used for reporting errors
Returns : | Compound keep datatype, or NULL if an error occurred

### fo_keep_get_enum_auto ()

    FoDatatype* fo_keep_get_enum_auto           (void);

Returns : | The FoDatatype for the well-known value 'auto'.

### fo_keep_get_enum_always ()

    FoDatatype* fo_keep_get_enum_always         (void);

Returns : | The FoDatatype for the well-known value 'always'.

## Properties

"`within-column`" (FoDatatype : Read / Write / Construct Only) | Keep within column value.
"`within-line`" (FoDatatype : Read / Write / Construct Only) | Keep within line value.
"`within-page`" (FoDatatype : Read / Write / Construct Only) | Keep within page value.