Blob Blame Raw
#ifndef CURVEAREA_H
#define CURVEAREA_H


#include "activearea.h"
#include "activecurve.h"


class CurveArea: public ActiveArea {
protected:
	ActivePoint::Handle hp0, hp1, ht0, ht1;
	ActivePoint::Handle bp0, bp1, bpp0, bpp1;
	ActivePoint::Handle cross;
	
	void put_rect(const Context &context, const Rect &rect);
	void put_hmark(const Context &context, const Vector &point);
	void put_vmark(const Context &context, const Vector &point);
	void put_hline(const Context &context, const Vector &point);
	void put_vline(const Context &context, const Vector &point);
	void put_cross(const Context &context, const Vector &point);

	void on_point_move(const ActivePoint::Handle &point, const Vector &oldposition, const Vector &newposition) override;
	void on_draw_content(const Context &context) override;
	
public:
	CurveArea();
};


#endif