/* * Copyright (c) 2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::Painting { class VideoPaintable final : public MediaPaintable { JS_CELL(VideoPaintable, MediaPaintable); public: static JS::NonnullGCPtr create(Layout::VideoBox const&); virtual void paint(PaintContext&, PaintPhase) const override; Layout::VideoBox& layout_box(); Layout::VideoBox const& layout_box() const; private: VideoPaintable(Layout::VideoBox const&); void paint_placeholder_video_controls(PaintContext&, DevicePixelRect video_rect, Optional const& mouse_position) const; }; }