summaryrefslogtreecommitdiffstats
path: root/src/zoom-context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zoom-context.h')
-rw-r--r--src/zoom-context.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/zoom-context.h b/src/zoom-context.h
index c09b5a1b3..3e98915af 100644
--- a/src/zoom-context.h
+++ b/src/zoom-context.h
@@ -15,19 +15,25 @@
#include "event-context.h"
-#define SP_TYPE_ZOOM_CONTEXT (sp_zoom_context_get_type ())
-#define SP_ZOOM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ZOOM_CONTEXT, SPZoomContext))
-#define SP_IS_ZOOM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ZOOM_CONTEXT))
+#define SP_ZOOM_CONTEXT(obj) (dynamic_cast<SPZoomContext*>((SPEventContext*)obj))
+#define SP_IS_ZOOM_CONTEXT(obj) (dynamic_cast<const SPZoomContext*>((const SPEventContext*)obj) != NULL)
-struct SPZoomContext {
- SPEventContext event_context;
- SPCanvasItem *grabbed;
-};
+class SPZoomContext : public SPEventContext {
+public:
+ SPZoomContext();
+ virtual ~SPZoomContext();
-struct SPZoomContextClass {
- SPEventContextClass parent_class;
-};
+ static const std::string prefsPath;
+
+ virtual void setup();
+ virtual void finish();
+ virtual bool root_handler(GdkEvent* event);
-GType sp_zoom_context_get_type (void);
+ virtual const std::string& getPrefsPath();
+
+private:
+ SPCanvasItem *grabbed;
+ bool escaped;
+};
#endif