#pragma once #include "Color.h" #include "Size.h" #include #include class GraphicsBitmap : public Retainable { public: static RetainPtr create(const Size&); static RetainPtr create_wrapper(const Size&, RGBA32*); ~GraphicsBitmap(); RGBA32* scanline(int y); Size size() const { return m_size; } int width() const { return m_size.width(); } int height() const { return m_size.height(); } private: explicit GraphicsBitmap(const Size&); GraphicsBitmap(const Size&, RGBA32*); Size m_size; RGBA32* m_data { nullptr }; bool m_owned { false }; };