![]() |
![]() |
![]() |
Gwyddion Widgets Library Reference Manual | ![]() |
---|
GwyCurveGwyCurve — Widget that displays editable curves |
GwyPoint; GwyChannelData; GwyCurve; GwyCurveClass; GtkWidget* gwy_curve_new (void); void gwy_curve_reset (GwyCurve *curve); void gwy_curve_set_range (GwyCurve *curve, gfloat min_x, gfloat max_x, gfloat min_y, gfloat max_y); void gwy_curve_set_curve_type (GwyCurve *curve, GwyCurveType type); void gwy_curve_set_channels (GwyCurve *c, 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" 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
"curve-edited" void user_function (GwyCurve *gwycurve, gpointer user_data); "curve-type-changed" void user_function (GwyCurve *gwycurve, gpointer user_data);
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.
curve : |
void gwy_curve_set_range (GwyCurve *curve, gfloat min_x, gfloat max_x, gfloat min_y, gfloat max_y);
curve : | |
min_x : | |
max_x : | |
min_y : | |
max_y : |
void gwy_curve_set_curve_type (GwyCurve *curve, GwyCurveType type);
curve : | |
type : |
void gwy_curve_set_channels (GwyCurve *c, gint num_channels, GwyRGBA *colors);
c : | |
num_channels : | |
colors : |
void gwy_curve_set_control_points (GwyCurve *curve, GwyChannelData *channel_data, gboolean prune);
curve : | |
channel_data : | |
prune : |
void gwy_curve_get_control_points (GwyCurve *curve, GwyChannelData *channel_data, gboolean triplets);
curve : | |
channel_data : | |
triplets : |
"curve-type" GwyCurveType : Read / Write
Is this curve linear, spline interpolated, or free-form.
Default value: GWY_CURVE_TYPE_LINEAR
<< GwyColorButton | GwyRuler >> |