#define MEASURE_H_
#include <sigc++/sigc++.h>
+#include <msp/gl/renderable.h>
class Designer;
-class Measure
+class Measure: public Msp::GL::Renderable
{
private:
enum State
float perp_dist;
float adiff;
State state;
+ Msp::GL::Mesh mesh;
public:
Measure(Designer &);
float get_perpendicular_distance() const { return perp_dist; }
float get_angle_difference() const { return adiff; }
void start();
- void button_press(int, int, float, float, unsigned);
- void pointer_motion(int, int, float, float);
- void render();
+ void button_press(float, float, unsigned);
+ void pointer_motion(float, float);
+ virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;
private:
+ void update_mesh();
void snap_to_tracks(R2C2::Vector &, float &);
};