Code View

plugin / plugin-2.2.0.0 / example / plugin / Ellipse.hh
// SPDX-License-Identifier: MIT
#pragma once

#include <ostream>

#include <Shape.hh>

namespace plugin
{
  namespace example
  {
    class Ellipse
      : public Shape
    {
      public:
        struct Config
        {
            unsigned int a = 0;
            unsigned int b = 0;
        };

        Ellipse( );
        explicit Ellipse( Config const& cfg );
        Ellipse( Ellipse const& object );

        void setSize( unsigned int value ) override;
        unsigned int getSize( ) const override;
        void printOn( std::ostream& stream ) const override;

      private:
        unsigned int semiAxisA;
        unsigned int semiAxisB;
    };
  }  // namespace example
}  // namespace plugin