![]() |
![]() |
![]() |
Gwyddion Widgets Library Reference Manual | ![]() |
---|---|---|---|---|
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.
curve : |
a GwyCurve widget. |
void gwy_curve_set_range (GwyCurve *curve, gdouble min_x, gdouble max_x, gdouble min_y, gdouble 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 *curve, gint num_channels, GwyRGBA *colors);
curve : |
|
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
" property"curve-type" GwyCurveType : Read / Write
Is this curve linear, spline interpolated, or free-form.
Default value: GWY_CURVE_TYPE_LINEAR