1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* Authors: 3 * Liam P White 4 * 5 * Copyright (C) 2014 Authors 6 * 7 * Released under GNU GPL v2+, read the file COPYING for more information 8 */ 9 10 #ifndef INKSCAPE_LPE_JOINTYPE_H 11 #define INKSCAPE_LPE_JOINTYPE_H 12 13 #include "live_effects/effect.h" 14 #include "live_effects/parameter/parameter.h" 15 #include "live_effects/parameter/point.h" 16 #include "live_effects/parameter/enum.h" 17 18 namespace Inkscape { 19 namespace LivePathEffect { 20 21 class LPEJoinType : public Effect { 22 public: 23 LPEJoinType(LivePathEffectObject *lpeobject); 24 ~LPEJoinType() override; 25 26 void doOnApply(SPLPEItem const* lpeitem) override; 27 void doOnRemove(SPLPEItem const* lpeitem) override; 28 void transform_multiply(Geom::Affine const &postmul, bool set) override; 29 Geom::PathVector doEffect_path (Geom::PathVector const & path_in) override; 30 31 private: 32 LPEJoinType(const LPEJoinType&) = delete; 33 LPEJoinType& operator=(const LPEJoinType&) = delete; 34 35 ScalarParam line_width; 36 EnumParam<unsigned> linecap_type; 37 EnumParam<unsigned> linejoin_type; 38 //ScalarParam start_lean; 39 //ScalarParam end_lean; 40 ScalarParam miter_limit; 41 BoolParam attempt_force_join; 42 }; 43 44 } //namespace LivePathEffect 45 } //namespace Inkscape 46 47 #endif 48 49 /* 50 Local Variables: 51 mode:c++ 52 c-file-style:"stroustrup" 53 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) 54 indent-tabs-mode:nil 55 fill-column:99 56 End: 57 */ 58 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8 : 59