| Gwyddion Widgets Library Reference Manual | ||||
|---|---|---|---|---|
#include <libgwydgets/gwydgets.h>
GwyPoint;
GwyChannelData;
GwyCurve;
GwyCurveClass;
GtkWidget* gwy_curve_new (void);
void gwy_curve_reset (GwyCurve *curve);
void gwy_curve_set_range (GwyCurve *curve,
gdouble min_x,
gdouble max_x,
gdouble min_y,
gdouble max_y);
void gwy_curve_set_curve_type (GwyCurve *curve,
GwyCurveType type);
void gwy_curve_set_channels (GwyCurve *curve,
gint num_channels,
GwyRGBA *colors);
void gwy_curve_set_control_points (GwyCurve *curve,
GwyChannelData *channel_data,
gboolean prune);
void gwy_curve_get_control_points (GwyCurve *curve,
GwyChannelData *channel_data,
gboolean triplets);
GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkDrawingArea
+----GwyCurve
"curve-type" GwyCurveType : Read / Write "max-x" gfloat : Read / Write "max-y" gfloat : Read / Write "min-x" gfloat : Read / Write "min-y" gfloat : Read / Write "snap" gboolean : Read / Write
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.
typedef struct {
/* curve points: */
gint num_points;
GwyPoint *points;
/* control points: */
gint num_ctlpoints;
GwyPoint *ctlpoints;
GwyRGBA color;
} GwyChannelData;
typedef struct {
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);
} GwyCurveClass;
GtkWidget* gwy_curve_new (void);
Creates GwyCurve widget. By default, the widget will have 3 curves.
Returns : |
new GwyCurve widget. |
void gwy_curve_reset (GwyCurve *curve);
Removes all control points, resetting the curves to their initial state.
|
a GwyCurve widget. |
void gwy_curve_set_range (GwyCurve *curve, gdouble min_x, gdouble max_x, gdouble min_y, gdouble max_y);
|
|
|
|
|
|
|
|
|
void gwy_curve_set_curve_type (GwyCurve *curve, GwyCurveType type);
|
|
|
void gwy_curve_set_channels (GwyCurve *curve, gint num_channels, GwyRGBA *colors);
|
|
|
|
|
void gwy_curve_set_control_points (GwyCurve *curve, GwyChannelData *channel_data, gboolean prune);
|
|
|
|
|
void gwy_curve_get_control_points (GwyCurve *curve, GwyChannelData *channel_data, gboolean triplets);
|
|
|
|
|
"curve-type" property"curve-type" GwyCurveType : Read / Write
Is this curve linear, spline interpolated, or free-form.
Default value: GWY_CURVE_TYPE_LINEAR
"curve-edited" signalvoid user_function (GwyCurve *gwycurve, gpointer user_data) : Run First
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
"curve-type-changed" signalvoid user_function (GwyCurve *gwycurve, gpointer user_data) : Run First
|
the object which received the signal. |
|
user data set when the signal handler was connected. |