File indexing completed on 2025-03-09 04:00:17

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 "shape.hpp"
0010 #include "math/ellipse_solver.hpp"
0011 
0012 namespace glaxnimate::model {
0013 
0014 
0015 class Ellipse : public Shape
0016 {
0017     GLAXNIMATE_OBJECT(Ellipse)
0018     GLAXNIMATE_ANIMATABLE(QPointF, position, QPointF())
0019     GLAXNIMATE_ANIMATABLE(QSizeF, size, QSizeF())
0020 
0021 public:
0022     using Shape::Shape;
0023 
0024     QIcon tree_icon() const override;
0025 
0026     QString type_name_human() const override;
0027 
0028     math::bezier::Bezier to_bezier(FrameTime t) const override;
0029 
0030     QRectF local_bounding_rect(FrameTime t) const override;
0031 };
0032 
0033 } // namespace glaxnimate::model
0034