X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Feraser-context.cpp;h=8ac765b9e6a87c9f87d344e687effc0a64f9fb13;hb=0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28;hp=9b00dcd036eaa13ed3ba3b1a7d4b22bc3ad217f1;hpb=7e6016713f10ec0d60fae8e925978eba3c647c2b;p=inkscape.git diff --git a/src/eraser-context.cpp b/src/eraser-context.cpp index 9b00dcd03..8ac765b9e 100644 --- a/src/eraser-context.cpp +++ b/src/eraser-context.cpp @@ -7,6 +7,7 @@ * bulia byak * MenTaLguY * Jon A. Cruz + * Abhishek Sharma * * The original dynadraw code: * Paul Haeberli @@ -33,6 +34,7 @@ #include #include "svg/svg.h" +#include "display/sp-canvas.h" #include "display/canvas-bpath.h" #include <2geom/bezier-utils.h> @@ -65,6 +67,8 @@ #include "eraser-context.h" +using Inkscape::DocumentUndo; + #define ERC_RED_RGBA 0xff0000ff #define TOLERANCE_ERASER 0.1 @@ -716,7 +720,7 @@ set_to_accumulated(SPEraserContext *dc) if (!dc->accumulated->is_empty()) { if (!dc->repr) { /* Create object */ - Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc()); + Inkscape::XML::Document *xml_doc = desktop->doc()->getReprDoc(); Inkscape::XML::Node *repr = xml_doc->createElement("svg:path"); /* Set style */ @@ -726,7 +730,7 @@ set_to_accumulated(SPEraserContext *dc) SPItem *item=SP_ITEM(desktop->currentLayer()->appendChildRepr(dc->repr)); Inkscape::GC::release(dc->repr); - item->transform = sp_item_i2doc_affine(SP_ITEM(desktop->currentLayer())).inverse(); + item->transform = SP_ITEM(desktop->currentLayer())->i2doc_affine().inverse(); item->updateRepr(); } Geom::PathVector pathv = dc->accumulated->get_pathvector() * desktop->dt2doc(); @@ -741,7 +745,7 @@ set_to_accumulated(SPEraserContext *dc) Inkscape::Preferences *prefs = Inkscape::Preferences::get(); gint eraserMode = prefs->getBool("/tools/eraser/mode") ? 1 : 0; - Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc()); + Inkscape::XML::Document *xml_doc = desktop->doc()->getReprDoc(); SPItem* acid = SP_ITEM(desktop->doc()->getObjectByRepr(dc->repr)); Geom::OptRect eraserBbox = acid->getBounds(Geom::identity()); @@ -750,10 +754,10 @@ set_to_accumulated(SPEraserContext *dc) GSList* toWorkOn = 0; if (selection->isEmpty()) { if ( eraserMode ) { - toWorkOn = sp_document_partial_items_in_box(sp_desktop_document(desktop), desktop->dkey, bounds); + toWorkOn = sp_desktop_document(desktop)->getItemsPartiallyInBox(desktop->dkey, bounds); } else { Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop); - toWorkOn = sp_document_items_at_points(sp_desktop_document(desktop), desktop->dkey, r->getPoints()); + toWorkOn = sp_desktop_document(desktop)->getItemsAtPoints(desktop->dkey, r->getPoints()); } toWorkOn = g_slist_remove( toWorkOn, acid ); } else { @@ -829,10 +833,10 @@ set_to_accumulated(SPEraserContext *dc) if ( workDone ) { - sp_document_done(sp_desktop_document(desktop), SP_VERB_CONTEXT_ERASER, - _("Draw eraser stroke")); + DocumentUndo::done(sp_desktop_document(desktop), SP_VERB_CONTEXT_ERASER, + _("Draw eraser stroke")); } else { - sp_document_cancel(sp_desktop_document(desktop)); + DocumentUndo::cancel(sp_desktop_document(desktop)); } }