/* * Copyright (c) 2023, MacDue * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Gfx { class VectorGraphic : public RefCounted { public: virtual IntSize intrinsic_size() const = 0; virtual void draw(Painter&) const = 0; IntSize size() const { return intrinsic_size(); } IntRect rect() const { return { {}, size() }; } ErrorOr> bitmap(IntSize size, AffineTransform = {}) const; virtual ~VectorGraphic() = default; }; };