/* * Copyright (c) 2024, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #include #include namespace Web::Painting { BitmapBackingStore::BitmapBackingStore(RefPtr bitmap) : m_bitmap(move(bitmap)) { } #ifdef AK_OS_MACOS IOSurfaceBackingStore::IOSurfaceBackingStore(Core::IOSurfaceHandle&& iosurface_handle) : m_iosurface_handle(move(iosurface_handle)) { auto bytes_per_row = m_iosurface_handle.bytes_per_row(); auto bitmap = Gfx::Bitmap::create_wrapper(Gfx::BitmapFormat::BGRA8888, Gfx::AlphaType::Premultiplied, size(), bytes_per_row, m_iosurface_handle.data()); m_bitmap_wrapper = bitmap.release_value(); } Gfx::IntSize IOSurfaceBackingStore::size() const { return { m_iosurface_handle.width(), m_iosurface_handle.height() }; } #endif };