#pragma once

#include <list>
#include "IResizeNotifiable.hpp"
#include "Vector2.hpp"

namespace TSE
{
    class IResizable
    {
        protected:
        float width;
        float height;
        std::list<IResizeNotifiable*> objectsToResize;

        public:
        void AddResizeNotifiable(IResizeNotifiable* obj);
        void RemoveResizeNotifiable(IResizeNotifiable* obj);
        inline Vector2 GetRawIResizableSize()
        {
            return Vector2(width, height);
        };
    };
} // namespace TSE
