Gwyddion – Free SPM (AFM, SNOM/NSOM, STM, MFM, …) data analysis software

GwyCurve

GwyCurve — Widget that displays editable curves

Functions

GtkWidget * gwy_curve_new ()
void gwy_curve_reset ()
void gwy_curve_set_range ()
void gwy_curve_set_curve_type ()
void gwy_curve_set_channels ()
void gwy_curve_set_control_points ()
void gwy_curve_get_control_points ()

Properties

GwyCurveType curve-type Read / Write
gfloat max-x Read / Write
gfloat max-y Read / Write
gfloat min-x Read / Write
gfloat min-y Read / Write
gboolean snap Read / Write

Signals

void curve-edited Run First
void curve-type-changed Run First

Types and Values

typedef GwyPoint
  GwyChannelData
struct GwyCurve
struct GwyCurveClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkObject
            ╰── GtkWidget
                ╰── GtkDrawingArea
                    ╰── GwyCurve

Implemented Interfaces

GwyCurve implements AtkImplementorIface and GtkBuildable.

Includes

#include <libgwydgets/gwydgets.h>

Description

GwyCurve is a widget that can display multiple curves. The user can edit these curves by clicking and dragging control points. New control points are created when a user clicks on a part of a curve where there are no control points. Control points can be deleted by dragging ontop of another control point.

Functions

gwy_curve_new ()

GtkWidget *
gwy_curve_new (void);

Creates GwyCurve widget. By default, the widget will have 3 curves.

Returns

new GwyCurve widget.

gwy_curve_reset ()

void
gwy_curve_reset (GwyCurve *curve);

Removes all control points, resetting the curves to their initial state.

Parameters

curve

a GwyCurve widget.

 

gwy_curve_set_range ()

void
gwy_curve_set_range (GwyCurve *curve,
                     gdouble min_x,
                     gdouble max_x,
                     gdouble min_y,
                     gdouble max_y);

gwy_curve_set_curve_type ()

void
gwy_curve_set_curve_type (GwyCurve *curve,
                          GwyCurveType type);

gwy_curve_set_channels ()

void
gwy_curve_set_channels (GwyCurve *curve,
                        gint num_channels,
                        GwyRGBA *colors);

gwy_curve_set_control_points ()

void
gwy_curve_set_control_points (GwyCurve *curve,
                              GwyChannelData *channel_data,
                              gboolean prune);

gwy_curve_get_control_points ()

void
gwy_curve_get_control_points (GwyCurve *curve,
                              GwyChannelData *channel_data,
                              gboolean triplets);

Types and Values

GwyPoint

typedef GwyXY GwyPoint;

GwyChannelData

typedef struct {
    /* curve points: */
    gint num_points;
    GwyPoint *points;

    /* control points: */
    gint num_ctlpoints;
    GwyPoint *ctlpoints;

    GwyRGBA color;
} GwyChannelData;

struct GwyCurve

struct GwyCurve;

struct GwyCurveClass

struct GwyCurveClass {
    GtkDrawingAreaClass parent_class;

    /* Signals */
    void (*curve_type_changed)(GwyCurve *curve);
    void (*curve_edited)(GwyCurve *curve);

    /* Padding for future expansion */
    void (*_gwy_reserved1) (void);
    void (*_gwy_reserved2) (void);
    void (*_gwy_reserved3) (void);
    void (*_gwy_reserved4) (void);
};

Property Details

The “curve-type” property

  “curve-type”               GwyCurveType

Is this curve linear, spline interpolated, or free-form.

Flags: Read / Write

Default value: GWY_CURVE_TYPE_LINEAR

The “max-x” property

  “max-x”                    gfloat

Maximum possible X value.

Flags: Read / Write

Default value: 1

The “max-y” property

  “max-y”                    gfloat

Maximum possible value for Y.

Flags: Read / Write

Default value: 1

The “min-x” property

  “min-x”                    gfloat

Minimum possible value for X.

Flags: Read / Write

Default value: 0

The “min-y” property

  “min-y”                    gfloat

Minimum possible value for Y.

Flags: Read / Write

Default value: 0

The “snap” property

  “snap”                     gboolean

Snap to control points mode.

Flags: Read / Write

Default value: TRUE

Signal Details

The “curve-edited” signal

void
user_function (GwyCurve *gwycurve,
               gpointer  user_data)

Flags: Run First

The “curve-type-changed” signal

void
user_function (GwyCurve *gwycurve,
               gpointer  user_data)

Flags: Run First

© David Nečas and Petr Klapetek

Home Download News Features Screenshots Documentation Communicate Participate Resources Publications Applications Site Map

Valid XHTML 1.0 Valid CSS