## FoLengthRange FoLengthRange |

## Synopsis

    #define             FO_LENGTH_RANGE                     (object)
                        FoLengthRange;
                        FoLengthRangeClass;
    GType               fo_length_range_get_type            (void);
    FoDatatype*         fo_length_range_new_auto            (void);
    FoDatatype*         fo_length_range_new_with_value      (FoDatatype *datatype);
    FoDatatype*         fo_length_range_get_minimum         (FoDatatype *datatype);
    FoDatatype*         fo_length_range_get_optimum         (FoDatatype *datatype);
    FoDatatype*         fo_length_range_get_maximum         (FoDatatype *datatype);
    FoDatatype*         fo_length_range_resolve             (FoDatatype *shortform,
                                                             FoDatatype *minimum,
                                                             FoDatatype *optimum,
                                                             FoDatatype *maximum,
                                                             gfloat hundred_percent,
                                                             GError **error);
    FoDatatype*         fo_length_range_resolve_allow_auto  (FoDatatype *shortform,
                                                             FoDatatype *minimum,
                                                             FoDatatype *optimum,
                                                             FoDatatype *maximum,
                                                             gfloat hundred_percent,
                                                             GError **error);

    FoDatatype*         fo_length_range_get_length_range_hundred_percent
                                                            (void);

## Object Hierarchy

      GObject
       +----FoObject
             +----FoDatatype
                   +----FoLengthRange

## Properties

      "maximum"                  FoDatatype*           : Read / Write / Construct Only
      "minimum"                  FoDatatype*           : Read / Write / Construct Only
      "optimum"                  FoDatatype*           : Read / Write / Construct Only

## Description

## Details

### FO_LENGTH_RANGE()

    #define FO_LENGTH_RANGE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), FO_TYPE_LENGTH_RANGE, FoLengthRange))

`object` : |

### FoLengthRange

    typedef struct _FoLengthRange FoLengthRange;

### FoLengthRangeClass

    typedef struct _FoLengthRangeClass FoLengthRangeClass;

### fo_length_range_get_type ()

    GType               fo_length_range_get_type            (void);

Register the FoLengthRange object type.

Returns : | GType value of the FoLengthRange object type.

### fo_length_range_new_auto ()

    FoDatatype*         fo_length_range_new_auto            (void);

Creates a new FoLengthRange with all components initialized to "auto".

Returns : | the new FoLengthRange

### fo_length_range_new_with_value ()

    FoDatatype*         fo_length_range_new_with_value      (FoDatatype *datatype);

Creates a new FoLengthRange set to `value`.

`datatype` : | Value for .minimum, .optimum, and .maximum values of the new FoLengthRange.
Returns : | The new FoLengthRange.

### fo_length_range_get_minimum ()

    FoDatatype*         fo_length_range_get_minimum         (FoDatatype *datatype);

Gets the .minimum component value of `datatype`

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

### fo_length_range_get_optimum ()

    FoDatatype*         fo_length_range_get_optimum         (FoDatatype *datatype);

Gets the .optimum component value of `datatype`

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

### fo_length_range_get_maximum ()

    FoDatatype*         fo_length_range_get_maximum         (FoDatatype *datatype);

Gets the .maximum component value of `datatype`

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

### fo_length_range_resolve ()

    FoDatatype*         fo_length_range_resolve             (FoDatatype *shortform,
                                                             FoDatatype *minimum,
                                                             FoDatatype *optimum,
                                                             FoDatatype *maximum,
                                                             gfloat hundred_percent,
                                                             GError **error);

Resolve the shortform and components of the length-range 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 length-range, or NULL
`minimum` : | .minimum component of the length-range, or NULL
`optimum` : | .optimum component of the length-range, or NULL
`maximum` : | .maximum component of the length-range, or NULL
`hundred_percent` : | Length to use as 100% when components expressed as percentages
`error` : | GError used for reporting errors
Returns : | Compound length-range datatype, or NULL if an error occurred

### fo_length_range_resolve_allow_auto ()

    FoDatatype*         fo_length_range_resolve_allow_auto  (FoDatatype *shortform,
                                                             FoDatatype *minimum,
                                                             FoDatatype *optimum,
                                                             FoDatatype *maximum,
                                                             gfloat hundred_percent,
                                                             GError **error);

Resolve the shortform and components of the length-range in accordance with the definitions of block-progression-dimension and inline-progression-dimension in Section 7.14, Area Dimension Properties, of the XSL 1.0 Recommendation.

Use this when "auto" is an allowed value and percentages are computed into lengths.

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

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

### fo_length_range_get_length_range_hundred_percent ()

    FoDatatype*         fo_length_range_get_length_range_hundred_percent
                                                            (void);

Get an FoLengthRange with the well-known value of 100%.

Returns : | The FoLengthRange.

## Property Details

### The `"maximum"` property

      "maximum"                  FoDatatype*           : Read / Write / Construct Only

Length range maximum value.

### The `"minimum"` property

      "minimum"                  FoDatatype*           : Read / Write / Construct Only

Length range minimum value.

### The `"optimum"` property

      "optimum"                  FoDatatype*           : Read / Write / Construct Only

Length range optimum value.