#pragma once
#include "select_tool.h"


class PointSet;

namespace Tl {


	class SelectVertexRectangleTool : public SelectTool
	{
	public:
		SelectVertexRectangleTool(PaintCanvas* canvas);

		virtual void reset() {}

		virtual void draw_with_names() const ;
		virtual int  needed_buffer_size() const ;

		virtual void refine_selection() {} // no need for point set

		// user's operation before selection (e.g. de-selection...)
		virtual void pre_selection_operation() {} // no need for point set
		virtual void pre_highlight_operation() ;

		// user's operation after selection (e.g. change selected object color...)
		virtual void post_selection_operation(bool b = true) ;   
		virtual void post_highlight_operation(bool b = true) {} // no need for point set

	protected:
		PointSet* point_set() const;
	};


}