## gwydgetenums

gwydgetenums — Common enumerations

## Synopsis

    #include <libgwydgets/gwydgets.h>

    enum                GwyAxisScaleFormat;
    enum                Gwy3DMovement;
    enum                Gwy3DProjection;
    enum                Gwy3DVisualization;
    enum                Gwy3DViewLabel;
    enum                GwyUnitsPlacement;
    enum                GwyHScaleStyle;
    enum                GwyGraphStatusType;
    enum                GwyGraphGridType;
    enum                GwyGraphPointType;
    enum                GwyGraphCurveType;
    enum                GwyGraphLabelPosition;
    enum                GwyGraphModelExportStyle;
    enum                GwyLayerBasicRangeType;
    enum                GwyCurveType;
    enum                GwyCurveChannel;
    const GwyEnum*      gwy_graph_curve_type_get_enum       (void);
    enum                GwyMarkerOperationType;
    enum                GwyDataViewLayerType;
    enum                GwyTicksStyle;

## Description

## Details

### enum GwyAxisScaleFormat

    typedef enum {
        GWY_AXIS_SCALE_FORMAT_AUTO,
        GWY_AXIS_SCALE_FORMAT_EXP,
        GWY_AXIS_SCALE_FORMAT_INT
    } GwyAxisScaleFormat;

Labeled axis tick mark format.

`GWY_AXIS_SCALE_FORMAT_AUTO` | Automatical format.
`GWY_AXIS_SCALE_FORMAT_EXP` | Exponential (`scienfitic') format.
`GWY_AXIS_SCALE_FORMAT_INT` | Integer format.

### enum Gwy3DMovement

    typedef enum { /*< lowercase_name=gwy_3d_movement >*/
        GWY_3D_MOVEMENT_NONE = 0,
        GWY_3D_MOVEMENT_ROTATION,
        GWY_3D_MOVEMENT_SCALE,
        GWY_3D_MOVEMENT_DEFORMATION,
        GWY_3D_MOVEMENT_LIGHT
    } Gwy3DMovement;

The type of 3D view change that happens when user drags it with mouse.

`GWY_3D_MOVEMENT_NONE` | View cannot be changed by user.
`GWY_3D_MOVEMENT_ROTATION` | View can be rotated.
`GWY_3D_MOVEMENT_SCALE` | View can be scaled.
`GWY_3D_MOVEMENT_DEFORMATION` | View can be scaled.
`GWY_3D_MOVEMENT_LIGHT` | Light position can be changed.

### enum Gwy3DProjection

    typedef enum { /*< lowercase_name=gwy_3d_projection >*/
        GWY_3D_PROJECTION_ORTHOGRAPHIC = 0,
        GWY_3D_PROJECTION_PERSPECTIVE
    } Gwy3DProjection;

3D View projection type.

`GWY_3D_PROJECTION_ORTHOGRAPHIC` | Otrhographic projection.
`GWY_3D_PROJECTION_PERSPECTIVE` | Perspective projection.

### enum Gwy3DVisualization

    typedef enum { /*< lowercase_name=gwy_3d_visualization >*/
        GWY_3D_VISUALIZATION_GRADIENT = 0,
        GWY_3D_VISUALIZATION_LIGHTING
    } Gwy3DVisualization;

3D View data visualization type.

`GWY_3D_VISUALIZATION_GRADIENT` | Data is displayed with color corresponding to 2D view.
`GWY_3D_VISUALIZATION_LIGHTING` | Data is displayed as an uniform material with some lighting.

### enum Gwy3DViewLabel

    typedef enum { /*< lowercase_name=gwy_3d_view_label >*/
        GWY_3D_VIEW_LABEL_X = 0,
        GWY_3D_VIEW_LABEL_Y,
        GWY_3D_VIEW_LABEL_MIN,
        GWY_3D_VIEW_LABEL_MAX,
        GWY_3D_VIEW_NLABELS
    } Gwy3DViewLabel;

3D View label type.

`GWY_3D_VIEW_LABEL_X` | X-axis label.
`GWY_3D_VIEW_LABEL_Y` | Y-axis label.
`GWY_3D_VIEW_LABEL_MIN` | Z-axis bottom label.
`GWY_3D_VIEW_LABEL_MAX` | Z-axis top label.
`GWY_3D_VIEW_NLABELS` | The number of labels.

### enum GwyUnitsPlacement

    typedef enum {
        GWY_UNITS_PLACEMENT_NONE,
        GWY_UNITS_PLACEMENT_AT_ZERO
    } GwyUnitsPlacement;

Units placement on a GwyRuler.

`GWY_UNITS_PLACEMENT_NONE` | Units are omitted.
`GWY_UNITS_PLACEMENT_AT_ZERO` | Units are placed to major tick at zero, or to the leftmost position of zero is not present.

### enum GwyHScaleStyle

    typedef enum {
        GWY_HSCALE_DEFAULT          = 0,
        GWY_HSCALE_LOG              = 1,
        GWY_HSCALE_SQRT             = 2,
        GWY_HSCALE_NO_SCALE         = 6,
        GWY_HSCALE_WIDGET           = 7,
        GWY_HSCALE_WIDGET_NO_EXPAND = 8,
        GWY_HSCALE_CHECK            = 1024
    } GwyHScaleStyle;

Options controlling `gwy_table_attach_hscale()` behaviour.

`GWY_HSCALE_DEFAULT` | Default label, hscale, spinbutton, and units widget row.
`GWY_HSCALE_LOG` | Hscale is logarithmic.
`GWY_HSCALE_SQRT` | Hscale is square root.
`GWY_HSCALE_NO_SCALE` | There is no hscale.
`GWY_HSCALE_WIDGET` | An user-specified widget is used in place of hscale and spinbutton.
`GWY_HSCALE_WIDGET_NO_EXPAND` | An user-specified widget is used in place of hscale and spinbutton, and it is left-aligned instead of taking all the alloted space.
`GWY_HSCALE_CHECK` | The label is actually a check button that controls sensitivity of the row.

### enum GwyGraphStatusType

    typedef enum {
        GWY_GRAPH_STATUS_PLAIN,
        GWY_GRAPH_STATUS_XSEL,
        GWY_GRAPH_STATUS_YSEL,
        GWY_GRAPH_STATUS_POINTS,
        GWY_GRAPH_STATUS_ZOOM,
        GWY_GRAPH_STATUS_XLINES,
        GWY_GRAPH_STATUS_YLINES
    } GwyGraphStatusType;

### enum GwyGraphGridType

    typedef enum {
        GWY_GRAPH_GRID_NONE,
        GWY_GRAPH_GRID_AUTO,
        GWY_GRAPH_GRID_USER
    } GwyGraphGridType;

### enum GwyGraphPointType

    typedef enum {
        GWY_GRAPH_POINT_SQUARE                = 0,
        GWY_GRAPH_POINT_CROSS                 = 1,
        GWY_GRAPH_POINT_CIRCLE                = 2,
        GWY_GRAPH_POINT_STAR                  = 3,
        GWY_GRAPH_POINT_TIMES                 = 4,
        GWY_GRAPH_POINT_TRIANGLE_UP           = 5,
        GWY_GRAPH_POINT_TRIANGLE_DOWN         = 6,
        GWY_GRAPH_POINT_DIAMOND               = 7,
        GWY_GRAPH_POINT_FILLED_SQUARE         = 8,
        GWY_GRAPH_POINT_DISC                  = 9,
        GWY_GRAPH_POINT_FILLED_CIRCLE         = GWY_GRAPH_POINT_DISC,
        GWY_GRAPH_POINT_FILLED_TRIANGLE_UP    = 10,
        GWY_GRAPH_POINT_FILLED_TRIANGLE_DOWN  = 11,
        GWY_GRAPH_POINT_FILLED_DIAMOND        = 12,
        GWY_GRAPH_POINT_TRIANGLE_LEFT         = 13,
        GWY_GRAPH_POINT_FILLED_TRIANGLE_LEFT  = 14,
        GWY_GRAPH_POINT_TRIANGLE_RIGHT        = 15,
        GWY_GRAPH_POINT_FILLED_TRIANGLE_RIGHT = 16,
        GWY_GRAPH_POINT_ASTERISK              = 17
    } GwyGraphPointType;

### enum GwyGraphCurveType

    typedef enum {
        GWY_GRAPH_CURVE_HIDDEN      = 0,
        GWY_GRAPH_CURVE_POINTS      = 1,
        GWY_GRAPH_CURVE_LINE        = 2,
        GWY_GRAPH_CURVE_LINE_POINTS = 3
    } GwyGraphCurveType;

Graph curve plotting type.

`GWY_GRAPH_CURVE_HIDDEN` | Curve is invisible.
`GWY_GRAPH_CURVE_POINTS` | Curve data is plotted with symbols.
`GWY_GRAPH_CURVE_LINE` | Curve data is plotted with a line.
`GWY_GRAPH_CURVE_LINE_POINTS` | Curve data is plotted with symbols and a line.

### enum GwyGraphLabelPosition

    typedef enum {
        GWY_GRAPH_LABEL_NORTHEAST = 0,
        GWY_GRAPH_LABEL_NORTHWEST = 1,
        GWY_GRAPH_LABEL_SOUTHEAST = 2,
        GWY_GRAPH_LABEL_SOUTHWEST = 3,
        GWY_GRAPH_LABEL_USER      = 4
    } GwyGraphLabelPosition;

### enum GwyGraphModelExportStyle

    typedef enum {
        GWY_GRAPH_MODEL_EXPORT_ASCII_PLAIN   = 0,
        GWY_GRAPH_MODEL_EXPORT_ASCII_GNUPLOT = 1,
        GWY_GRAPH_MODEL_EXPORT_ASCII_CSV     = 2,
        GWY_GRAPH_MODEL_EXPORT_ASCII_ORIGIN  = 3
    } GwyGraphModelExportStyle;

### enum GwyLayerBasicRangeType

    typedef enum {
        GWY_LAYER_BASIC_RANGE_FULL,
        GWY_LAYER_BASIC_RANGE_FIXED,
        GWY_LAYER_BASIC_RANGE_AUTO,
        GWY_LAYER_BASIC_RANGE_ADAPT
    } GwyLayerBasicRangeType;

Types of color gradient mapping in GwyLayerBasic.

`GWY_LAYER_BASIC_RANGE_FULL` | Color gradient is uniformly mapped to range from data minimum to maximum.
`GWY_LAYER_BASIC_RANGE_FIXED` | Color gradient is uniformly mapped to a fixed range, independent on data.
`GWY_LAYER_BASIC_RANGE_AUTO` | Color gradient is uniformly mapped to a range inside which most of data points lie, that is height distribution tails are cut off.
`GWY_LAYER_BASIC_RANGE_ADAPT` | Color range is mapped nonuniformly, see `gwy_pixbuf_draw_data_field_adaptive()`.

### enum GwyCurveType

    typedef enum {
        GWY_CURVE_TYPE_LINEAR,
        GWY_CURVE_TYPE_SPLINE,
        GWY_CURVE_TYPE_FREE
    } GwyCurveType;

Curve drawing type in GwyCurve.

`GWY_CURVE_TYPE_LINEAR` | Linear interpolation.
`GWY_CURVE_TYPE_SPLINE` | Spline interpolation.
`GWY_CURVE_TYPE_FREE` | Free form curve.

### enum GwyCurveChannel

    typedef enum {
        GWY_CURVE_CHANNEL_RED,
        GWY_CURVE_CHANNEL_GREEN,
        GWY_CURVE_CHANNEL_BLUE
    } GwyCurveChannel;

### gwy_graph_curve_type_get_enum ()

    const GwyEnum*      gwy_graph_curve_type_get_enum       (void);

Returns GwyEnum for GwyGraphCurveType enum type.

Returns : | `NULL`-terminated GwyEnum which must not be modified nor freed.

### enum GwyMarkerOperationType

    typedef enum {
        GWY_MARKER_OPERATION_MOVE,
        GWY_MARKER_OPERATION_ADD,
        GWY_MARKER_OPERATION_REMOVE
    } GwyMarkerOperationType;

GwyMarkerBox operation type (for validation).

`GWY_MARKER_OPERATION_MOVE` | Marker is being moved.
`GWY_MARKER_OPERATION_ADD` | Marker is being added.
`GWY_MARKER_OPERATION_REMOVE` | Marker is being removed.

### enum GwyDataViewLayerType

    typedef enum {
        GWY_DATA_VIEW_LAYER_BASE,
        GWY_DATA_VIEW_LAYER_ALPHA,
        GWY_DATA_VIEW_LAYER_TOP
    } GwyDataViewLayerType;

GwyDataView layer identification.

`GWY_DATA_VIEW_LAYER_BASE` | Base (bottom) layer.
`GWY_DATA_VIEW_LAYER_ALPHA` | Alpha (mask) layer.
`GWY_DATA_VIEW_LAYER_TOP` | Top (vector, interactive) layer.

### enum GwyTicksStyle

    typedef enum {
        GWY_TICKS_STYLE_NONE,
        GWY_TICKS_STYLE_CENTER,
        GWY_TICKS_STYLE_AUTO
    } GwyTicksStyle;

Axis ticks style (used in GwyColorAxis).

`GWY_TICKS_STYLE_NONE` | Ticks are not drawn.
`GWY_TICKS_STYLE_CENTER` | One tick is drawn at center.
`GWY_TICKS_STYLE_AUTO` | A number of automatically chosen ticks are drawn at `round' values.