Blame c++/vector/activearea.h

2fb9fd
#ifndef ACTIVEAREA_H
2fb9fd
#define ACTIVEAREA_H
2fb9fd
2fb9fd
2fb9fd
#include <list></list>
2fb9fd
2fb9fd
#include <gtkmm drawingarea.h=""></gtkmm>
2fb9fd
2fb9fd
#include "activepoint.h"
2fb9fd
#include "context.h"
2fb9fd
2fb9fd
2fb9fd
class ActiveArea: public Gtk::DrawingArea {
2fb9fd
public:
2fb9fd
	typedef std::list<activepoint::handle> PointList;</activepoint::handle>
2fb9fd
2fb9fd
private:
2fb9fd
	PointList points;
2fb9fd
	ActivePoint::Handle hover_point;
2fb9fd
	ActivePoint::Handle drag_point;
2fb9fd
	Vector drag_offset;
2fb9fd
2fb9fd
protected:
2fb9fd
	const PointList& get_points() const { return points; }
2fb9fd
	bool is_point_added(const ActivePoint::Handle &point) const;
2fb9fd
	void add_point(const ActivePoint::Handle &point);
2fb9fd
	void remove_point(const ActivePoint::Handle &point);
2fb9fd
	void bring_to_front(const ActivePoint::Handle &point);
2fb9fd
2fb9fd
	ActivePoint::Handle get_point_at(const Vector &position) const;
2fb9fd
2fb9fd
	virtual void on_point_move(const ActivePoint::Handle &point, const Vector &oldposition);
2fb9fd
	virtual void on_draw(const Context &context);
2fb9fd
	virtual void on_draw_content(const Context &context);
2fb9fd
2fb9fd
	bool on_draw(const Cairo::RefPtr<cairo::context> &context) override;</cairo::context>
2fb9fd
	bool on_button_press_event(GdkEventButton* event) override;
2fb9fd
	bool on_button_release_event(GdkEventButton* event) override;
2fb9fd
	bool on_motion_notify_event(GdkEventMotion* event) override;
2fb9fd
2fb9fd
public:
2fb9fd
	ActiveArea();
2fb9fd
};
2fb9fd
2fb9fd
2fb9fd
#endif