Warning, file /graphics/glaxnimate/src/core/model/mask_settings.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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 "model/object.hpp"
0010 #include "model/property/reference_property.hpp"
0011 #include "model/animation/frame_time.hpp"
0012 #include "model/shapes/shape.hpp"
0013 
0014 namespace glaxnimate::model {
0015 
0016 class MaskSettings : public Object
0017 {
0018     GLAXNIMATE_OBJECT(MaskSettings)
0019 
0020 public:
0021     enum MaskMode
0022     {
0023         NoMask = 0,
0024         Alpha = 1,
0025     };
0026     Q_ENUM(MaskMode)
0027 
0028     GLAXNIMATE_PROPERTY(MaskMode, mask, NoMask, {}, {}, PropertyTraits::Visual)
0029     GLAXNIMATE_PROPERTY(bool, inverted, false, {}, {}, PropertyTraits::Visual)
0030 
0031 public:
0032     using Object::Object;
0033 
0034     QString type_name_human() const override;
0035 
0036     bool has_mask() const { return mask.get(); }
0037 };
0038 
0039 } // namespace glaxnimate::model