diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-06-11 18:58:59 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-06-11 18:58:59 +0000 |
| commit | 2218ecdfec042a7ee333e9091790e2d1e398350f (patch) | |
| tree | 009e468f93e910093de1ca1e78c21c6563741446 /src | |
| parent | Working on powermask (diff) | |
| download | inkscape-2218ecdfec042a7ee333e9091790e2d1e398350f.tar.gz inkscape-2218ecdfec042a7ee333e9091790e2d1e398350f.zip | |
Working on powermask
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-powermask.cpp | 23 | ||||
| -rw-r--r-- | src/live_effects/lpe-powermask.h | 1 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/live_effects/lpe-powermask.cpp b/src/live_effects/lpe-powermask.cpp index 8b9d981c4..cc276c870 100644 --- a/src/live_effects/lpe-powermask.cpp +++ b/src/live_effects/lpe-powermask.cpp @@ -67,7 +67,12 @@ LPEPowerMask::setMask(){ SPMask *mask = SP_ITEM(sp_lpe_item)->mask_ref->getObject(); SPObject *elemref = NULL; SPDocument * document = SP_ACTIVE_DOCUMENT; - if(!document || !mask) { + if (!document || !mask) { + return; + } + Inkscape::XML::Node *root = sp_lpe_item->document->getReprRoot(); + Inkscape::XML::Node *root_origin = document->getReprRoot(); + if (root_origin != root) { return; } Inkscape::XML::Document *xml_doc = document->getReprDoc(); @@ -109,10 +114,10 @@ LPEPowerMask::setMask(){ filter->appendChild(primitive2); Inkscape::GC::release(primitive2); } + if ((elemref = document->getObjectById(box_id))) { + elemref->deleteObject(true); + } if (background) { - if ((elemref = document->getObjectById(box_id))) { - elemref->deleteObject(true); - } box = xml_doc->createElement("svg:path"); box->setAttribute("id", box_id.c_str()); box->setAttribute("style", background_style.param_getSVGValue()); @@ -187,9 +192,12 @@ LPEPowerMask::setMask(){ } char const* filter = sp_repr_css_property (css, "filter", NULL); if(!filter || !strcmp(filter, filter_uri.c_str())) { + if (invert) { + std::cout << "qqqqqqqqqqqqqqqqqqqqqqqqq\n"; sp_repr_css_set_property (css, "filter", filter_uri.c_str()); } else { + std::cout << "aaaaaaaaaaaaaaaaaaaaaaaaaaaaqq\n"; sp_repr_css_set_property (css, "filter", NULL); } Glib::ustring css_str; @@ -197,6 +205,13 @@ LPEPowerMask::setMask(){ mask_node->setAttribute("style", css_str.c_str()); } } + mask->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); +} + +void +LPEPowerMask::doEffect (SPCurve * curve) +{ + } void diff --git a/src/live_effects/lpe-powermask.h b/src/live_effects/lpe-powermask.h index 1bd06e914..1cc7a888b 100644 --- a/src/live_effects/lpe-powermask.h +++ b/src/live_effects/lpe-powermask.h @@ -19,6 +19,7 @@ public: LPEPowerMask(LivePathEffectObject *lpeobject); virtual ~LPEPowerMask(); virtual void doBeforeEffect (SPLPEItem const* lpeitem); + virtual void doEffect (SPCurve * curve); virtual void doOnRemove (SPLPEItem const* /*lpeitem*/); virtual Gtk::Widget * newWidget(); void toggleMask(); |
