ladybird/Libraries/LibGfx/Forward.h
Aliaksandr Kalenik d7cb7c4c15 LibGfx: Add CanvasCommandPlayer
Once canvas commands can be sent to another process, the receiver needs
an endpoint that owns the persistent surface and validates command data
before it reaches Skia. Add CanvasCommandPlayer for that role.

The player replays CanvasCommandList deltas through concrete PainterSkia
APIs and keeps painter state across play() calls, matching the way a
compositor-hosted canvas surface will accumulate mutations over time.
Initialize ops allocate or resize the backing surface so creation,
resize and repaint all flow through the same command stream.
2026-06-13 20:41:03 +02:00

75 lines
1.1 KiB
C++

/*
* Copyright (c) 2020, Andreas Kling <andreas@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace Gfx {
class Bitmap;
class CMYKBitmap;
class CanvasCommandList;
class CanvasCommandPlayer;
class ColorSpace;
class DecodedImageFrame;
class Color;
class Emoji;
class Font;
class GlyphRun;
class ImageDecoder;
struct FontPixelMetrics;
class Painter;
class PainterSkia;
class PaintingSurface;
class Palette;
class YUVData;
class PaletteImpl;
class Path;
class SharedImage;
class SharedImageBuffer;
class ShareableBitmap;
class SkiaBackendContext;
struct SystemTheme;
template<typename T>
class Triangle;
template<typename T>
class Point;
template<typename T>
class Size;
template<typename T>
class Rect;
template<typename T>
class Quad;
using IntRect = Rect<int>;
using FloatRect = Rect<float>;
using IntPoint = Point<int>;
using FloatPoint = Point<float>;
using IntSize = Size<int>;
using FloatSize = Size<float>;
using FloatQuad = Quad<float>;
enum class BitmapFormat;
enum class ColorRole;
enum class TextAlignment;
enum class MaskKind {
Alpha,
Luminance
};
}
using Gfx::Color;