1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 17:27:35 +00:00
serenity/Userland/Libraries/LibGfx/Forward.h
Aliaksandr Kalenik f4a5c136c3 LibGfx+LibWeb: Add ImmutableBitmap for images bitmap caching in painter
Before this change, we used Gfx::Bitmap to represent both decoded
images that are not going to be mutated and bitmaps corresponding
to canvases that could be mutated.

This change introduces a wrapper for bitmaps that are not going to be
mutated, so the painter could do caching: texture caching in the case
of GPU painter and potentially scaled bitmap caching in the case of CPU
painter.
2023-11-26 12:55:43 +01:00

75 lines
1.2 KiB
C++

/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace Gfx {
class Bitmap;
class ImmutableBitmap;
class CharacterBitmap;
class Color;
template<typename T>
class DisjointRectSet;
class Emoji;
class Font;
class GlyphBitmap;
class ImageDecoder;
struct FontPixelMetrics;
template<typename T>
class Line;
class AntiAliasingPainter;
class Painter;
class Palette;
class PaletteImpl;
class Path;
class ShareableBitmap;
class StylePainter;
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 DisjointIntRectSet = DisjointRectSet<int>;
using DisjointFloatRectSet = DisjointRectSet<float>;
using IntLine = Line<int>;
using FloatLine = Line<float>;
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;
}
using Gfx::Color;