Code

Translations. po files update; fix Ahmaric header.
[inkscape.git] / src / eraser-context.h
index bc862012d9d772650f1f4aa82ded083e4a2119f3..a581acd94289f95cfd061d4f060ee0ccd9606ed2 100644 (file)
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 
-#include "display/curve.h"
-#include "event-context.h"
-#include <display/display-forward.h>
-#include <libnr/nr-point.h>
+#include "common-context.h"
 
 #define SP_TYPE_ERASER_CONTEXT (sp_eraser_context_get_type())
 #define SP_ERASER_CONTEXT(o) (GTK_CHECK_CAST((o), SP_TYPE_ERASER_CONTEXT, SPEraserContext))
@@ -33,8 +30,6 @@
 class SPEraserContext;
 class SPEraserContextClass;
 
-#define SAMPLING_SIZE 8        /* fixme: ?? */
-
 #define ERC_MIN_PRESSURE      0.0
 #define ERC_MAX_PRESSURE      1.0
 #define ERC_DEFAULT_PRESSURE  1.0
@@ -43,75 +38,12 @@ class SPEraserContextClass;
 #define ERC_MAX_TILT          1.0
 #define ERC_DEFAULT_TILT      0.0
 
-struct SPEraserContext
-{
-    SPEventContext event_context;
-
-    /** accumulated shape which ultimately goes in svg:path */
-    SPCurve *accumulated;
-
-    /** canvas items for "comitted" segments */
-    GSList *segments;
-
-    /** canvas item for red "leading" segment */
-    SPCanvasItem *currentshape;
-    /** shape of red "leading" segment */
-    SPCurve *currentcurve;
-
-    /** left edge of the stroke; combined to get accumulated */
-    SPCurve *cal1;
-    /** right edge of the stroke; combined to get accumulated */
-    SPCurve *cal2;
-
-    /** left edge points for this segment */
-    NR::Point point1[SAMPLING_SIZE];
-    /** right edge points for this segment */
-    NR::Point point2[SAMPLING_SIZE];
-    /** number of edge points for this segment */
-    gint npoints;
-
-    /* repr */
-    Inkscape::XML::Node *repr;
-
-    /* Eraser */
-    NR::Point cur;
-    NR::Point vel;
-    double vel_max;
-    NR::Point acc;
-    NR::Point ang;
-    NR::Point last;
-    NR::Point del;
-    /* extended input data */
-    gdouble pressure;
-    gdouble xtilt;
-    gdouble ytilt;
-    /* attributes */
-    guint dragging : 1;           /* mouse state: mouse is dragging */
-    guint usepressure : 1;
-    guint usetilt : 1;
-    double mass, drag;
-    double angle;
-    double width;
-
-    double vel_thin;
-    double flatness;
-    double tremor;
-    double cap_rounding;
-
-    Inkscape::MessageContext *_message_context;
-
-    bool is_drawing;
-
-    /** uses absolute width independent of zoom */
-    bool abs_width;
+struct SPEraserContext : public SPCommonContext {
 };
 
-struct SPEraserContextClass
-{
-    SPEventContextClass parent_class;
-};
+struct SPEraserContextClass : public SPEventContextClass{};
 
-GtkType sp_eraser_context_get_type(void);
+GType sp_eraser_context_get_type(void);
 
 #endif // SP_ERASER_CONTEXT_H_SEEN
 
@@ -124,4 +56,4 @@ GtkType sp_eraser_context_get_type(void);
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :