blob: bebadd03b6aeffb0c4390e5faddf55568f9f1b72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
//
// Copyright 2008 Johannes Hofmann <Johannes.Hofmann@gmx.de>
//
// This software may be used and distributed according to the terms
// of the GNU General Public License, incorporated herein by reference.
#ifndef CurveEditor_H
#define CurveEditor_H
#include <FL/Fl_Widget.H>
#include <gsl/gsl_spline.h>
class CurveEditor : public Fl_Widget {
private:
double *X, *Y;
int n;
int marked_point;
Fl_Callback *cb;
void *cb_data;
gsl_interp_accel *acc;
gsl_spline *spline;
public:
CurveEditor(int _x, int _y, int _w, int _h);
int add_point(double _x, double _y);
void init();
void clear();
void move_point(int i, double _x, double _y);
int get_n() {return n;};
void get_point(int i, double *_x, double *_y);
void remove_point(int i);
void draw();
int handle(int e);
void callback(Fl_Callback *_cb, void *d) {cb = _cb; cb_data = d;};
};
#endif
|