summaryrefslogtreecommitdiffstats
path: root/src/eraser-context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/eraser-context.h')
-rw-r--r--src/eraser-context.h34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/eraser-context.h b/src/eraser-context.h
index bc4268aef..7ff1cf712 100644
--- a/src/eraser-context.h
+++ b/src/eraser-context.h
@@ -21,14 +21,6 @@
#include "common-context.h"
-G_BEGIN_DECLS
-
-#define SP_TYPE_ERASER_CONTEXT (sp_eraser_context_get_type())
-#define SP_ERASER_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_ERASER_CONTEXT, SPEraserContext))
-#define SP_ERASER_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_ERASER_CONTEXT, SPEraserContextClass))
-#define SP_IS_ERASER_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_ERASER_CONTEXT))
-#define SP_IS_ERASER_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_ERASER_CONTEXT))
-
#define ERC_MIN_PRESSURE 0.0
#define ERC_MAX_PRESSURE 1.0
#define ERC_DEFAULT_PRESSURE 1.0
@@ -37,14 +29,30 @@ G_BEGIN_DECLS
#define ERC_MAX_TILT 1.0
#define ERC_DEFAULT_TILT 0.0
-struct SPEraserContext : public SPCommonContext {
-};
+class SPEraserContext : public SPCommonContext {
+public:
+ SPEraserContext();
+ virtual ~SPEraserContext();
-struct SPEraserContextClass : public SPEventContextClass{};
+ static const std::string prefsPath;
-GType sp_eraser_context_get_type(void);
+ virtual void setup();
+ virtual bool root_handler(GdkEvent* event);
-G_END_DECLS
+ virtual const std::string& getPrefsPath();
+
+private:
+ void reset(Geom::Point p);
+ void extinput(GdkEvent *event);
+ bool apply(Geom::Point p);
+ void brush();
+ void cancel();
+ void clear_current();
+ void set_to_accumulated();
+ void accumulate();
+ void fit_and_split(bool release);
+ void draw_temporary_box();
+};
#endif // SP_ERASER_CONTEXT_H_SEEN