1 // SPDX-License-Identifier: GPL-2.0-or-later 2 #ifndef INKSCAPE_LPE_POWERCLIP_H 3 #define INKSCAPE_LPE_POWERCLIP_H 4 5 /* 6 * Inkscape::LPEPowerClip 7 * 8 * Released under GNU GPL v2+, read the file 'COPYING' for more information. 9 */ 10 11 #include "live_effects/effect.h" 12 #include "live_effects/parameter/message.h" 13 14 namespace Inkscape { 15 namespace LivePathEffect { 16 17 class LPEPowerClip : public Effect { 18 public: 19 LPEPowerClip(LivePathEffectObject *lpeobject); 20 ~LPEPowerClip() override; 21 void doBeforeEffect (SPLPEItem const* lpeitem) override; 22 Geom::PathVector doEffect_path (Geom::PathVector const & path_in) override; 23 void doOnRemove (SPLPEItem const* /*lpeitem*/) override; 24 void doOnVisibilityToggled(SPLPEItem const* lpeitem) override; 25 Glib::ustring getId(); 26 void add(); 27 void upd(); 28 void del(); 29 Geom::PathVector getClipPathvector(); 30 31 private: 32 BoolParam inverse; 33 BoolParam flatten; 34 BoolParam hide_clip; 35 MessageParam message; 36 bool _updating; 37 bool _legacy; 38 }; 39 40 void sp_remove_powerclip(Inkscape::Selection *sel); 41 void sp_inverse_powerclip(Inkscape::Selection *sel); 42 43 } //namespace LivePathEffect 44 } //namespace Inkscape 45 #endif 46