## Line

Line

## Synopsis

                        GOLineDashSequence;
    #define             GO_ARROW_TYPE
    char const 		*      go_line_dash_as_label               (GOLineDashType type);
    char const 		*      go_line_dash_as_str                 (GOLineDashType type);
    GOLineDashType      go_line_dash_from_str               (char const *name);
    double              go_line_dash_get_length             (GOLineDashType type);
    GOLineDashSequence * go_line_dash_get_sequence          (GOLineDashType type,
                                                             double scale);
    void                go_line_dash_sequence_free          (GOLineDashSequence *sequence);
    char const 		*      go_line_interpolation_as_label      (GOLineInterpolation type);
    char const 		*      go_line_interpolation_as_str        (GOLineInterpolation type);
    gboolean            go_line_interpolation_auto_skip     (GOLineInterpolation type);
    GOLineInterpolation go_line_interpolation_from_str      (char const *name);
    gboolean            go_line_interpolation_supports_radial
                                                            (GOLineInterpolation type);

## Object Hierarchy

      GBoxed
       +----GOLineDashSequence

## Description

## Details

### GOLineDashSequence

    typedef struct {
    	double		 offset;
    	unsigned int	 n_dash;
    	double		*dash;
    } GOLineDashSequence;

double `offset`; | offset from start.
unsigned int `n_dash`; | number of values in dash fields
double *`dash`; | lengths of the dashes segments. See `cairo_set_dash()` for details.

### GO_ARROW_TYPE

    #define GO_ARROW_TYPE (go_arrow_get_type())

### go_line_dash_as_label ()

    char const 		*      go_line_dash_as_label               (GOLineDashType type);

`type` : | a GOLineDashType
Returns : | a pointer to the user readable name of the dash type, or the name of `GO_LINE_NONE` if type is invalid. The returned string should not be freed.

### go_line_dash_as_str ()

    char const 		*      go_line_dash_as_str                 (GOLineDashType type);

`type` : | a GOLineDashType
Returns : | a pointer to the nickname of the dash type, or "none" if type is invalid. The returning string should not be freed.

### go_line_dash_from_str ()

    GOLineDashType      go_line_dash_from_str               (char const *name);

`name` : | Name of the dash type
Returns : | a GOLineDashType corresponding to name, or `GO_LINE_NONE` if not found.

### go_line_dash_get_length ()

    double              go_line_dash_get_length             (GOLineDashType type);

`type` : | GOLineDashType
Returns : | the unscaled length of the dash sequence.

### go_line_dash_get_sequence ()

    GOLineDashSequence * go_line_dash_get_sequence          (GOLineDashType type,
                                                             double scale);

`type` : | a GOLineDashType
`scale` : | dash scale
Returns : | a struct containing the dash sequence corresponding to `type`, or `NULL` if type is invalid or equal to `GO_LINE_NONE`. The lengths are scaled according to `scale`.

### go_line_dash_sequence_free ()

    void                go_line_dash_sequence_free          (GOLineDashSequence *sequence);

Frees the dash sequence struct.

`sequence` : | a GOLineDashSequence

### go_line_interpolation_as_label ()

    char const 		*      go_line_interpolation_as_label      (GOLineInterpolation type);

`type` : | an interpolation type
Returns : | a pointer to the label of `type`, or the name of `GO_LINE_INTERPOLATION_LINEAR` if type is invalid. The returned string should not be freed.

### go_line_interpolation_as_str ()

    char const 		*      go_line_interpolation_as_str        (GOLineInterpolation type);

`type` : | an interpolation type
Returns : | a pointer to the nickname of `type`, or "linear" if type is invalid. The returned string should not be freed.

### go_line_interpolation_auto_skip ()

    gboolean            go_line_interpolation_auto_skip     (GOLineInterpolation type);

`type` : | an interpolation type
Returns : | TRUE if the line interpolation type forces skipping invalid data, FALSE if it is only optional.

### go_line_interpolation_from_str ()

    GOLineInterpolation go_line_interpolation_from_str      (char const *name);

`name` : | an interpolation type nickname
Returns : | a GOLineInterpolation corresponding to `name`, or `GO_LINE_INTERPOLATION_LINEAR` if not found.

### go_line_interpolation_supports_radial ()

    gboolean            go_line_interpolation_supports_radial
                                                            (GOLineInterpolation type);

`type` : | an interpolation type
Returns : | TRUE if the line interpolation type can be used with radial axes set, FALSE it it can't.