| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#include <libgwydgets/gwydgets.h> struct GwyCurve; struct GwyCurveClass; GwyPoint; GwyChannelData; 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.
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);
};
typedef struct {
/* curve points: */
gint num_points;
GwyPoint *points;
/* control points: */
gint num_ctlpoints;
GwyPoint *ctlpoints;
GwyRGBA color;
} GwyChannelData;
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_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