## fo-space

fo-space —

## Synopsis

    struct      FoSpace;
    struct      FoSpaceClass;
    FoDatatype* fo_space_new                    (void);
    FoDatatype* fo_space_new_from_length        (FoDatatype *length);
    void        fo_space_set_minimum            (FoDatatype *datatype,
                                                 gfloat new_minimum);
    gfloat      fo_space_get_minimum            (FoDatatype *datatype);
    void        fo_space_set_optimum            (FoDatatype *datatype,
                                                 gfloat new_optimum);
    gfloat      fo_space_get_optimum            (FoDatatype *datatype);
    void        fo_space_set_maximum            (FoDatatype *datatype,
                                                 gfloat new_maximum);
    gfloat      fo_space_get_maximum            (FoDatatype *datatype);
    void        fo_space_set_precedence         (FoDatatype *datatype,
                                                 gint new_precedence);
    gint        fo_space_get_precedence         (FoDatatype *datatype);
    void        fo_space_set_condity            (FoDatatype *datatype,
                                                 gboolean new_condity);
    gboolean    fo_space_get_condity            (FoDatatype *datatype);

    FoDatatype* fo_space_get_space_0pt          (void);

    FoDatatype* fo_space_resolve                (FoDatatype *shortform,
                                                 FoDatatype *minimum,
                                                 FoDatatype *optimum,
                                                 FoDatatype *maximum,
                                                 FoDatatype *precedence,
                                                 FoDatatype *condity,
                                                 gfloat hundred_percent,
                                                 GError **error);

## Object Hierarchy

      GObject
       +----FoObject
             +----FoDatatype
                   +----FoSpace

## Properties

      "conditionality"       gboolean             : Read / Write / Construct Only
      "maximum"              gfloat               : Read / Write / Construct Only
      "minimum"              gfloat               : Read / Write / Construct Only
      "optimum"              gfloat               : Read / Write / Construct Only
      "precedence"           gint                 : Read / Write / Construct Only

## Description

## Details

### struct FoSpace

    struct FoSpace;

### struct FoSpaceClass

    struct FoSpaceClass;

### fo_space_new ()

    FoDatatype* fo_space_new                    (void);

Creates a new FoSpace initialized to default value.

Returns : | the new FoSpace

### fo_space_new_from_length ()

    FoDatatype* fo_space_new_from_length        (FoDatatype *length);

Creates a new FoSpace with .minimum, .optimum, and .maximum components set to `length` and .conditionality and .precedence components set to default values.

`length` : | FoLength to use as initial value
Returns : | New FoSpace

### fo_space_set_minimum ()

    void        fo_space_set_minimum            (FoDatatype *datatype,
                                                 gfloat new_minimum);

Sets the .minimum component of `datatype`

`datatype` : | FoSpace
`new_minimum` : | New .minimum value

### fo_space_get_minimum ()

    gfloat      fo_space_get_minimum            (FoDatatype *datatype);

Gets the .minimum component value of `datatype`

`datatype` : | FoSpace
Returns : | The .minimum value of `datatype`

### fo_space_set_optimum ()

    void        fo_space_set_optimum            (FoDatatype *datatype,
                                                 gfloat new_optimum);

Sets the .optimum component of `datatype`

`datatype` : | FoSpace
`new_optimum` : | New .optimum value

### fo_space_get_optimum ()

    gfloat      fo_space_get_optimum            (FoDatatype *datatype);

Gets the .optimum component value of `datatype`

`datatype` : | FoSpace
Returns : | The .optimum value of `datatype`

### fo_space_set_maximum ()

    void        fo_space_set_maximum            (FoDatatype *datatype,
                                                 gfloat new_maximum);

Sets the .maximum component of `datatype`

`datatype` : | FoSpace
`new_maximum` : | New .maximum value

### fo_space_get_maximum ()

    gfloat      fo_space_get_maximum            (FoDatatype *datatype);

Gets the .maximum component value of `datatype`

`datatype` : | FoSpace
Returns : | The .maximum value of `datatype`

### fo_space_set_precedence ()

    void        fo_space_set_precedence         (FoDatatype *datatype,
                                                 gint new_precedence);

Sets the .precedence component of `datatype`

`datatype` : | FoSpace
`new_precedence` : | New .precedence value

### fo_space_get_precedence ()

    gint        fo_space_get_precedence         (FoDatatype *datatype);

Gets the .precedence component value of `datatype`

`datatype` : | FoSpace
Returns : | The .precedence value of `datatype`

### fo_space_set_condity ()

    void        fo_space_set_condity            (FoDatatype *datatype,
                                                 gboolean new_condity);

Sets the .conditionality component value of `datatype`

`datatype` : | FoSpace.
`new_condity` : | New .conditionality component value.

### fo_space_get_condity ()

    gboolean    fo_space_get_condity            (FoDatatype *datatype);

Gets the .conditionality component value of `datatype`

`datatype` : | FoSpace
Returns : | The .conditionality value of `datatype`

### fo_space_get_space_0pt ()

    FoDatatype* fo_space_get_space_0pt          (void);

Create and return an FoSpace with the well-known value 0pt.

This saves creation of multiple FoSpace objects that all have the value 0pt.

Returns : | FoSpace with value 0pt.

### fo_space_resolve ()

    FoDatatype* fo_space_resolve                (FoDatatype *shortform,
                                                 FoDatatype *minimum,
                                                 FoDatatype *optimum,
                                                 FoDatatype *maximum,
                                                 FoDatatype *precedence,
                                                 FoDatatype *condity,
                                                 gfloat hundred_percent,
                                                 GError **error);

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

`shortform` : | Single-value short form of the space, or NULL
`minimum` : | .minimum component of the space, or NULL
`optimum` : | .optimum component of the space, or NULL
`maximum` : | .maximum component of the space, or NULL
`precedence` : | .precedence component of the space, or NULL
`condity` : | .conditionality component of the space, or NULL
`hundred_percent` : | Length to use as 100% when components expressed as percentages
`error` : | GError used for reporting errors
Returns : | Compound space datatype, or NULL if an error occurred

## Properties

"`conditionality`" (gboolean : Read / Write / Construct Only) | Whether or not the space must always be retained.
"`maximum`" (gfloat : Read / Write / Construct Only) | Space range maximum value.
"`minimum`" (gfloat : Read / Write / Construct Only) | Space range minimum value.
"`optimum`" (gfloat : Read / Write / Construct Only) | Space range optimum value.
"`precedence`" (gint : Read / Write / Construct Only) | Precedence of this space compared to others.