Serenity Operating System
at master 26 lines 655 B view raw
1/* 2 * Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibWeb/HTML/ImageData.h> 10 11namespace Web::HTML { 12 13// https://html.spec.whatwg.org/multipage/canvas.html#canvasdrawpath 14class CanvasImageData { 15public: 16 virtual ~CanvasImageData() = default; 17 18 virtual JS::GCPtr<ImageData> create_image_data(int width, int height) const = 0; 19 virtual WebIDL::ExceptionOr<JS::GCPtr<ImageData>> get_image_data(int x, int y, int width, int height) const = 0; 20 virtual void put_image_data(ImageData const&, float x, float y) = 0; 21 22protected: 23 CanvasImageData() = default; 24}; 25 26}