GogAxisMap

GogAxisMap — 1D data to canvas coordinate conversion

Synopsis


#include <gog-axis.h>


                    GogAxisMap;
GogAxisMap*         gog_axis_map_new                    (GogAxis *axis,
                                                         double offset,
                                                         double length);
double              gog_axis_map                        (GogAxisMap *map,
                                                         double value);
double              gog_axis_map_to_view                (GogAxisMap *map,
                                                         double value);
double              gog_axis_map_from_view              (GogAxisMap *map,
                                                         double value);
gboolean            gog_axis_map_finite                 (GogAxisMap *map,
                                                         double value);
double              gog_axis_map_get_baseline           (GogAxisMap *map);
void                gog_axis_map_get_extents            (GogAxisMap *map,
                                                         double *start,
                                                         double *stop);
void                gog_axis_map_get_bounds             (GogAxisMap *map,
                                                         double *minimum,
                                                         double *maximum);
void                gog_axis_map_free                   (GogAxisMap *map);
gboolean            gog_axis_map_is_valid               (GogAxisMap *map);

Description

Details

GogAxisMap

typedef struct _GogAxisMap GogAxisMap;


gog_axis_map_new ()

GogAxisMap*         gog_axis_map_new                    (GogAxis *axis,
                                                         double offset,
                                                         double length);

Creates a GogAxisMap for data mapping to plot window. offset and length are optional parameters to be used with gog_axis_map_to_view in order to translates data coordinates into canvas space.

axis : a GogAxis
offset : start of plot area.
length : length of plot area.
Returns : a newly allocated GogAxisMap.

gog_axis_map ()

double              gog_axis_map                        (GogAxisMap *map,
                                                         double value);

Converts value to plot coordinates. A value in [0,1.0] range means a data within axis bounds.

map : a GogAxisMap value : value to map to plot space.
value :
Returns : mapped value.

gog_axis_map_to_view ()

double              gog_axis_map_to_view                (GogAxisMap *map,
                                                         double value);

Converts value from data space to canvas space, using offset and length parameters given to gog_axis_map_new.

map : a GogAxisMap
value : value to map to canvas space
Returns : a value in canvas coordinates

gog_axis_map_from_view ()

double              gog_axis_map_from_view              (GogAxisMap *map,
                                                         double value);

Converts value from canvas space to data space.

map : a GogAxisMap
value : value to unmap from canvas space.
Returns : value in data coordinates

gog_axis_map_finite ()

gboolean            gog_axis_map_finite                 (GogAxisMap *map,
                                                         double value);

Tests wether value is valid for the given map.

map : a GogAxisMap
value : value to test
Returns : TRUE if value means something

gog_axis_map_get_baseline ()

double              gog_axis_map_get_baseline           (GogAxisMap *map);

Gets the baseline for map, in view coordinates, clipped to offset and offset+length, where offset and length are the parameters of gog_axis_map_new.

map : a GogAxisMap
Returns :

gog_axis_map_get_extents ()

void                gog_axis_map_get_extents            (GogAxisMap *map,
                                                         double *start,
                                                         double *stop);

Gets start and stop for the given axis map in data coordinates. If axis is not inverted, start = minimum and stop = maximum. If axis is invalid, it'll return arbitrary bounds. For example, an non inverted invalid X axis will have start set to 0.0 and stop set to 1.0.

minimum or maximum can be NULL.

map : a GogAxisMap
start : start for this axis
stop : stop for this axis

gog_axis_map_get_bounds ()

void                gog_axis_map_get_bounds             (GogAxisMap *map,
                                                         double *minimum,
                                                         double *maximum);

Gets bounds for the given axis map in data coordinates. If axis is invalid, it'll return arbitrary bounds. For example, for an invalid x axis, minimum = 0.0 and maximum = 1.0.

minimum or maximum can be NULL.

map : a GogAxisMap
minimum : minimum for this axis
maximum : maximum for this axis

gog_axis_map_free ()

void                gog_axis_map_free                   (GogAxisMap *map);

Frees GogAxisMap object.

map : a GogAxisMap

gog_axis_map_is_valid ()

gboolean            gog_axis_map_is_valid               (GogAxisMap *map);

Tests if map was correctly initialized, i.e. if bounds are valid.

map : a GogAxisMap
Returns : TRUE if map is valid