diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-powerclip.cpp | 14 | ||||
| -rw-r--r-- | src/live_effects/lpe-powerclip.h | 3 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/live_effects/lpe-powerclip.cpp b/src/live_effects/lpe-powerclip.cpp index b83c50ea0..2d0d4bb12 100644 --- a/src/live_effects/lpe-powerclip.cpp +++ b/src/live_effects/lpe-powerclip.cpp @@ -113,6 +113,8 @@ LPEPowerClip::doBeforeEffect (SPLPEItem const* lpeitem){ } else { removeInverse(SP_ITEM(clip_data)); } + } else if (inverse && !is_visible && is_inverse.param_getSVGValue() == (Glib::ustring)"true"){ + removeInverse(SP_ITEM(clip_data)); } } } else { @@ -162,11 +164,6 @@ LPEPowerClip::addInverse (SPItem * clip_data){ } void -LPEPowerClip::doEffect (SPCurve * curve) -{ -} - -void LPEPowerClip::removeInverse (SPItem * clip_data){ if(is_inverse.param_getSVGValue() == (Glib::ustring)"true") { if (SP_IS_GROUP(clip_data)) { @@ -321,6 +318,13 @@ LPEPowerClip::doEffect_path(Geom::PathVector const & path_in){ return path_out; } +void +LPEPowerClip::doOnVisibilityToggled(SPLPEItem const* lpeitem) +{ + doBeforeEffect(lpeitem); +} + + //void //LPEPowerClip::transform_multiply(Geom::Affine const& postmul, bool set) //{ diff --git a/src/live_effects/lpe-powerclip.h b/src/live_effects/lpe-powerclip.h index adaa8b7a1..ce46b560a 100644 --- a/src/live_effects/lpe-powerclip.h +++ b/src/live_effects/lpe-powerclip.h @@ -20,11 +20,10 @@ public: virtual ~LPEPowerClip(); virtual void doBeforeEffect (SPLPEItem const* lpeitem); virtual Geom::PathVector doEffect_path (Geom::PathVector const & path_in); - virtual void doEffect (SPCurve * curve); virtual void doOnRemove (SPLPEItem const* /*lpeitem*/); virtual Gtk::Widget * newWidget(); //virtual void transform_multiply(Geom::Affine const& postmul, bool set); - + virtual void doOnVisibilityToggled(SPLPEItem const* lpeitem); void toggleClip(); void addInverse (SPItem * clip_data); void removeInverse (SPItem * clip_data); |
