#ifndef __SP_RECT_CONTEXT_H__ #define __SP_RECT_CONTEXT_H__ /* * Rectangle drawing context * * Author: * Lauris Kaplinski * Jon A. Cruz * * Copyright (C) 2000 Lauris Kaplinski * Copyright (C) 2000-2001 Ximian, Inc. * Copyright (C) 2002 Lauris Kaplinski * * Released under GNU GPL */ #include #include #include <2geom/point.h> #include "ui/tools/tool-base.h" #include "sp-rect.h" namespace Inkscape { namespace UI { namespace Tools { class RectTool : public ToolBase { public: RectTool(); virtual ~RectTool(); static const std::string prefsPath; virtual void setup(); virtual void finish(); virtual void set(const Inkscape::Preferences::Entry& val); virtual bool root_handler(GdkEvent* event); virtual bool item_handler(SPItem* item, GdkEvent* event); virtual const std::string& getPrefsPath(); private: SPRect *rect; Geom::Point center; gdouble rx; /* roundness radius (x direction) */ gdouble ry; /* roundness radius (y direction) */ sigc::connection sel_changed_connection; void drag(Geom::Point const pt, guint state); void finishItem(); void cancel(); void selection_changed(Inkscape::Selection* selection); }; } } } #endif