/* * Copyright (c) 2023, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Gfx { class ImmutableBitmap final : public RefCounted { public: static NonnullRefPtr create(NonnullRefPtr bitmap); ~ImmutableBitmap() = default; Bitmap const& bitmap() const { return *m_bitmap; } size_t width() const { return m_bitmap->width(); } size_t height() const { return m_bitmap->height(); } IntRect rect() const { return m_bitmap->rect(); } IntSize size() const { return m_bitmap->size(); } size_t id() const { return m_id; } private: NonnullRefPtr m_bitmap; size_t m_id; explicit ImmutableBitmap(NonnullRefPtr bitmap); }; }