File indexing completed on 2025-02-02 04:11:07

0001 /*
0002  * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include "path_modifier.hpp"
0010 #include "stroke.hpp"
0011 
0012 namespace glaxnimate::model {
0013 
0014 class OffsetPath : public StaticOverrides<OffsetPath, PathModifier>
0015 {
0016     GLAXNIMATE_OBJECT(OffsetPath)
0017     GLAXNIMATE_ANIMATABLE(float, amount, 0)
0018     GLAXNIMATE_ANIMATABLE(float, miter_limit, 100, {}, 0)
0019     GLAXNIMATE_PROPERTY(glaxnimate::model::Stroke::Join, join, Stroke::RoundJoin, nullptr, nullptr, PropertyTraits::Visual)
0020 
0021 public:
0022     using Ctor::Ctor;
0023 
0024     static QIcon static_tree_icon();
0025     static QString static_type_name_human();
0026 
0027     math::bezier::MultiBezier process(FrameTime t, const math::bezier::MultiBezier& mbez) const override;
0028 
0029 protected:
0030     bool process_collected() const override;
0031 
0032 };
0033 
0034 } // namespace glaxnimate::model