#ifndef CANVAS_HPP_INCLUDED
#define CANVAS_HPP_INCLUDED

#include <cstdint>
#include "Object.hpp"

namespace Internal
{
    class Canvas : public Object
    {
        public:
            Canvas(const void* Obj);

            Canvas() = default;
            Canvas(Canvas&& Obj) = default;
            Canvas(const Canvas& Obj) = default;
            Canvas& operator=(Canvas&& Obj) = default;
            Canvas& operator=(const Canvas& Obj) = default;

            void DispatchEvent(Object Event) const;
            std::int32_t GetWidth() const;
            std::int32_t GetHeight() const;
    };
}

#endif // CANVAS_HPP_INCLUDED
