X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Feraser-context.cpp;h=68c0989bc945b1a80c8ad3e5b6764ad2df468ecf;hb=373107863d679a9230cf6ebdc8c216ab16be6309;hp=fdb0813ce7d065f6df373eafa77fdc5db65093fe;hpb=5e1a030f60fc5f5753e30882711db9af56f763f5;p=inkscape.git diff --git a/src/eraser-context.cpp b/src/eraser-context.cpp index fdb0813ce..68c0989bc 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 @@ -65,6 +66,8 @@ #include "eraser-context.h" +using Inkscape::DocumentUndo; + #define ERC_RED_RGBA 0xff0000ff #define TOLERANCE_ERASER 0.1 @@ -576,10 +579,13 @@ sp_eraser_context_root_handler(SPEventContext *event_context, dc->repr = NULL; } - Inkscape::Rubberband::get(desktop)->stop(); dc->_message_context->clear(); ret = TRUE; } + if (Inkscape::Rubberband::get(desktop)->is_started()) { + Inkscape::Rubberband::get(desktop)->stop(); + } + break; } @@ -713,7 +719,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 */ @@ -738,7 +744,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()); @@ -747,10 +753,10 @@ set_to_accumulated(SPEraserContext *dc) GSList* toWorkOn = 0; if (selection->isEmpty()) { if ( eraserMode ) { - toWorkOn = sp_desktop_document(desktop)->partial_items_in_box(desktop->dkey, bounds); + toWorkOn = sp_desktop_document(desktop)->getItemsPartiallyInBox(desktop->dkey, bounds); } else { Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop); - toWorkOn = sp_desktop_document(desktop)->items_at_points(desktop->dkey, r->getPoints()); + toWorkOn = sp_desktop_document(desktop)->getItemsAtPoints(desktop->dkey, r->getPoints()); } toWorkOn = g_slist_remove( toWorkOn, acid ); } else { @@ -826,10 +832,10 @@ set_to_accumulated(SPEraserContext *dc) if ( workDone ) { - SPDocumentUndo::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 { - SPDocumentUndo::cancel(sp_desktop_document(desktop)); + DocumentUndo::cancel(sp_desktop_document(desktop)); } } @@ -1071,4 +1077,4 @@ draw_temporary_box(SPEraserContext *dc) 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 :