diff --git a/Libraries/LibGfx/Bitmap.h b/Libraries/LibGfx/Bitmap.h index d0d4871b7c..685e7197da 100644 --- a/Libraries/LibGfx/Bitmap.h +++ b/Libraries/LibGfx/Bitmap.h @@ -62,6 +62,11 @@ inline StorageFormat determine_storage_format(BitmapFormat format) } } +enum class MaskKind { + Alpha, + Luminance +}; + struct BackingStore; class Bitmap : public AtomicRefCounted { @@ -82,11 +87,6 @@ public: [[nodiscard]] ShareableBitmap to_shareable_bitmap() const; - enum class MaskKind { - Alpha, - Luminance - }; - void apply_mask(Gfx::Bitmap const& mask, MaskKind); ~Bitmap(); diff --git a/Libraries/LibGfx/CMakeLists.txt b/Libraries/LibGfx/CMakeLists.txt index 9f8ab7208f..453cf03aed 100644 --- a/Libraries/LibGfx/CMakeLists.txt +++ b/Libraries/LibGfx/CMakeLists.txt @@ -41,6 +41,7 @@ set(SOURCES ImageFormats/WebPWriter.cpp ImageFormats/WebPWriterLossless.cpp ImmutableBitmap.cpp + PaintStyle.cpp Painter.cpp PainterSkia.cpp PaintingSurface.cpp diff --git a/Libraries/LibGfx/Cursor.cpp b/Libraries/LibGfx/Cursor.cpp index e7df96a8a3..cec073960e 100644 --- a/Libraries/LibGfx/Cursor.cpp +++ b/Libraries/LibGfx/Cursor.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include diff --git a/Libraries/LibGfx/Filter.cpp b/Libraries/LibGfx/Filter.cpp index 07a366e2bc..4cc9ca4798 100644 --- a/Libraries/LibGfx/Filter.cpp +++ b/Libraries/LibGfx/Filter.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/Libraries/LibGfx/Filter.h b/Libraries/LibGfx/Filter.h index 12a28ddbe5..2281a73a1f 100644 --- a/Libraries/LibGfx/Filter.h +++ b/Libraries/LibGfx/Filter.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include diff --git a/Libraries/LibGfx/Forward.h b/Libraries/LibGfx/Forward.h index f30f57ac75..7d30db03f6 100644 --- a/Libraries/LibGfx/Forward.h +++ b/Libraries/LibGfx/Forward.h @@ -56,6 +56,7 @@ using FloatQuad = Quad; enum class BitmapFormat; enum class ColorRole; +enum class MaskKind; enum class TextAlignment; } diff --git a/Libraries/LibGfx/ImageFormats/ImageDecoder.h b/Libraries/LibGfx/ImageFormats/ImageDecoder.h index f0d3f73ff7..4ede6f6615 100644 --- a/Libraries/LibGfx/ImageFormats/ImageDecoder.h +++ b/Libraries/LibGfx/ImageFormats/ImageDecoder.h @@ -20,8 +20,6 @@ namespace Gfx { -class Bitmap; - struct ImageFrameDescriptor { NonnullRefPtr image; int duration { 0 }; diff --git a/Libraries/LibGfx/ImmutableBitmap.h b/Libraries/LibGfx/ImmutableBitmap.h index 455aa2c0c1..5ab53e76bd 100644 --- a/Libraries/LibGfx/ImmutableBitmap.h +++ b/Libraries/LibGfx/ImmutableBitmap.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Libraries/LibGfx/PaintStyle.cpp b/Libraries/LibGfx/PaintStyle.cpp new file mode 100644 index 0000000000..f0f7d90b7e --- /dev/null +++ b/Libraries/LibGfx/PaintStyle.cpp @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2023, MacDue + * Copyright (c) 2025, Jelle Raaijmakers + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include + +namespace Gfx { + +CanvasPatternPaintStyle::CanvasPatternPaintStyle(RefPtr image, Repetition repetition) + : m_image(move(image)) + , m_repetition(repetition) +{ +} + +ErrorOr> CanvasPatternPaintStyle::create(RefPtr image, Repetition repetition) +{ + return adopt_nonnull_ref_or_enomem(new (nothrow) CanvasPatternPaintStyle(move(image), repetition)); +} + +RefPtr CanvasPatternPaintStyle::image() const +{ + return m_image; +} + +} diff --git a/Libraries/LibGfx/PaintStyle.h b/Libraries/LibGfx/PaintStyle.h index 438ec362ff..d39bbc40aa 100644 --- a/Libraries/LibGfx/PaintStyle.h +++ b/Libraries/LibGfx/PaintStyle.h @@ -10,11 +10,11 @@ #include #include #include +#include #include #include #include #include -#include #include namespace Gfx { @@ -89,22 +89,15 @@ public: NoRepeat }; - static ErrorOr> create(RefPtr image, Repetition repetition) - { - return adopt_nonnull_ref_or_enomem(new (nothrow) CanvasPatternPaintStyle(image, repetition)); - } + static ErrorOr> create(RefPtr image, Repetition repetition); - RefPtr image() const { return m_image; } + RefPtr image() const; Repetition repetition() const { return m_repetition; } Optional const& transform() const { return m_transform; } void set_transform(AffineTransform const& transform) { m_transform = transform; } private: - CanvasPatternPaintStyle(RefPtr image, Repetition repetition) - : m_image(image) - , m_repetition(repetition) - { - } + CanvasPatternPaintStyle(RefPtr image, Repetition repetition); RefPtr m_image; Repetition m_repetition { Repetition::Repeat }; diff --git a/Libraries/LibGfx/ShareableBitmap.cpp b/Libraries/LibGfx/ShareableBitmap.cpp index 09e79ba162..45d4a56616 100644 --- a/Libraries/LibGfx/ShareableBitmap.cpp +++ b/Libraries/LibGfx/ShareableBitmap.cpp @@ -13,11 +13,26 @@ namespace Gfx { +ShareableBitmap::ShareableBitmap() = default; + ShareableBitmap::ShareableBitmap(NonnullRefPtr bitmap, Tag) : m_bitmap(move(bitmap)) { } +ShareableBitmap::~ShareableBitmap() = default; + +ShareableBitmap::ShareableBitmap(ShareableBitmap const&) = default; +ShareableBitmap::ShareableBitmap(ShareableBitmap&&) = default; + +ShareableBitmap& ShareableBitmap::operator=(ShareableBitmap const&) = default; +ShareableBitmap& ShareableBitmap::operator=(ShareableBitmap&&) = default; + +bool ShareableBitmap::is_valid() const { return m_bitmap; } + +Bitmap const* ShareableBitmap::bitmap() const { return m_bitmap; } +Bitmap* ShareableBitmap::bitmap() { return m_bitmap; } + } namespace IPC { diff --git a/Libraries/LibGfx/ShareableBitmap.h b/Libraries/LibGfx/ShareableBitmap.h index 9324216830..e71a5f381d 100644 --- a/Libraries/LibGfx/ShareableBitmap.h +++ b/Libraries/LibGfx/ShareableBitmap.h @@ -7,22 +7,30 @@ #pragma once #include -#include +#include #include namespace Gfx { class ShareableBitmap { public: - ShareableBitmap() = default; + ShareableBitmap(); enum Tag { ConstructWithKnownGoodBitmap }; ShareableBitmap(NonnullRefPtr, Tag); - bool is_valid() const { return m_bitmap; } + ~ShareableBitmap(); - Bitmap const* bitmap() const { return m_bitmap; } - Bitmap* bitmap() { return m_bitmap; } + ShareableBitmap(ShareableBitmap const&); + ShareableBitmap(ShareableBitmap&&); + + ShareableBitmap& operator=(ShareableBitmap const&); + ShareableBitmap& operator=(ShareableBitmap&&); + + bool is_valid() const; + + Bitmap const* bitmap() const; + Bitmap* bitmap(); private: friend class Bitmap; diff --git a/Libraries/LibGfx/VectorGraphic.cpp b/Libraries/LibGfx/VectorGraphic.cpp index 0f3f7bee53..5c7efe86b1 100644 --- a/Libraries/LibGfx/VectorGraphic.cpp +++ b/Libraries/LibGfx/VectorGraphic.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include diff --git a/Libraries/LibGfx/VectorGraphic.h b/Libraries/LibGfx/VectorGraphic.h index 73ad93ae25..b13c59e495 100644 --- a/Libraries/LibGfx/VectorGraphic.h +++ b/Libraries/LibGfx/VectorGraphic.h @@ -7,7 +7,6 @@ #pragma once #include -#include #include #include #include diff --git a/Libraries/LibMedia/Providers/VideoDataProvider.h b/Libraries/LibMedia/Providers/VideoDataProvider.h index e0889dbcd2..3513f7f079 100644 --- a/Libraries/LibMedia/Providers/VideoDataProvider.h +++ b/Libraries/LibMedia/Providers/VideoDataProvider.h @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include diff --git a/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Libraries/LibWeb/CSS/Parser/Parser.cpp index 7436d96de3..64474ad641 100644 --- a/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -13,6 +13,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/CSS/StyleValues/CursorStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/CursorStyleValue.cpp index b16e015f5d..7d3622104e 100644 --- a/Libraries/LibWeb/CSS/StyleValues/CursorStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/CursorStyleValue.cpp @@ -5,6 +5,7 @@ */ #include "CursorStyleValue.h" +#include #include #include #include diff --git a/Libraries/LibWeb/CSS/StyleValues/ImageStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/ImageStyleValue.cpp index e2cb897f32..ed736f75d2 100644 --- a/Libraries/LibWeb/CSS/StyleValues/ImageStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/ImageStyleValue.cpp @@ -7,6 +7,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/DOM/Element.cpp b/Libraries/LibWeb/DOM/Element.cpp index c814dcf1f8..959ab46b43 100644 --- a/Libraries/LibWeb/DOM/Element.cpp +++ b/Libraries/LibWeb/DOM/Element.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.cpp b/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.cpp index 19599e480c..c9fc21955f 100644 --- a/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.cpp +++ b/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.h b/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.h index 08ec5e3f71..f081b9f9e8 100644 --- a/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.h +++ b/Libraries/LibWeb/HTML/AnimatedBitmapDecodedImageData.h @@ -6,7 +6,7 @@ #pragma once -#include +#include #include namespace Web::HTML { diff --git a/Libraries/LibWeb/HTML/Canvas/CanvasDrawImage.cpp b/Libraries/LibWeb/HTML/Canvas/CanvasDrawImage.cpp index 44d583dac1..39030cd00b 100644 --- a/Libraries/LibWeb/HTML/Canvas/CanvasDrawImage.cpp +++ b/Libraries/LibWeb/HTML/Canvas/CanvasDrawImage.cpp @@ -5,6 +5,8 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include +#include #include #include diff --git a/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.cpp b/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.cpp index c4718123e6..530fb42127 100644 --- a/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.cpp +++ b/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.h b/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.h index 8d432a18a7..571db88fca 100644 --- a/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.h +++ b/Libraries/LibWeb/HTML/Canvas/SerializeBitmap.h @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include namespace Web::HTML { diff --git a/Libraries/LibWeb/HTML/CanvasPattern.cpp b/Libraries/LibWeb/HTML/CanvasPattern.cpp index 7f892eaf59..cdd7240fe0 100644 --- a/Libraries/LibWeb/HTML/CanvasPattern.cpp +++ b/Libraries/LibWeb/HTML/CanvasPattern.cpp @@ -6,6 +6,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index 53ccad4f74..17c4f8a391 100644 --- a/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -10,7 +10,9 @@ */ #include +#include #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/DragDataStore.cpp b/Libraries/LibWeb/HTML/DragDataStore.cpp index 8cdfd4a175..ddb597adae 100644 --- a/Libraries/LibWeb/HTML/DragDataStore.cpp +++ b/Libraries/LibWeb/HTML/DragDataStore.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include diff --git a/Libraries/LibWeb/HTML/DragDataStore.h b/Libraries/LibWeb/HTML/DragDataStore.h index bab06002d3..fb5b2d644d 100644 --- a/Libraries/LibWeb/HTML/DragDataStore.h +++ b/Libraries/LibWeb/HTML/DragDataStore.h @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include namespace Web::HTML { diff --git a/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp b/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp index d840a54b89..d485363d57 100644 --- a/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/HTMLImageElement.cpp b/Libraries/LibWeb/HTML/HTMLImageElement.cpp index 0c7265afc8..dc6f9b67dd 100644 --- a/Libraries/LibWeb/HTML/HTMLImageElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLImageElement.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/HTMLImageElement.h b/Libraries/LibWeb/HTML/HTMLImageElement.h index 6a5b53a123..969ff2d3e0 100644 --- a/Libraries/LibWeb/HTML/HTMLImageElement.h +++ b/Libraries/LibWeb/HTML/HTMLImageElement.h @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include diff --git a/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 097521159a..ad459796c1 100644 --- a/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -12,6 +12,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/HTMLLinkElement.cpp b/Libraries/LibWeb/HTML/HTMLLinkElement.cpp index cf911487c7..d0bfac889c 100644 --- a/Libraries/LibWeb/HTML/HTMLLinkElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLLinkElement.cpp @@ -9,6 +9,8 @@ #include #include +#include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/HTMLObjectElement.cpp b/Libraries/LibWeb/HTML/HTMLObjectElement.cpp index 4d001b3a58..6d913a7068 100644 --- a/Libraries/LibWeb/HTML/HTMLObjectElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLObjectElement.cpp @@ -4,7 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/ImageBitmap.h b/Libraries/LibWeb/HTML/ImageBitmap.h index 42922f8ac2..1abd911f13 100644 --- a/Libraries/LibWeb/HTML/ImageBitmap.h +++ b/Libraries/LibWeb/HTML/ImageBitmap.h @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include #include #include @@ -70,7 +70,7 @@ private: WebIDL::UnsignedLong m_width = 0; WebIDL::UnsignedLong m_height = 0; - RefPtr m_bitmap { nullptr }; + RefPtr m_bitmap; }; } diff --git a/Libraries/LibWeb/HTML/OffscreenCanvas.cpp b/Libraries/LibWeb/HTML/OffscreenCanvas.cpp index d1a100e67d..d8f8bddfb4 100644 --- a/Libraries/LibWeb/HTML/OffscreenCanvas.cpp +++ b/Libraries/LibWeb/HTML/OffscreenCanvas.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/OffscreenCanvas.h b/Libraries/LibWeb/HTML/OffscreenCanvas.h index 0caa57a350..dadaa66f02 100644 --- a/Libraries/LibWeb/HTML/OffscreenCanvas.h +++ b/Libraries/LibWeb/HTML/OffscreenCanvas.h @@ -6,7 +6,7 @@ #pragma once -#include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/SharedResourceRequest.cpp b/Libraries/LibWeb/HTML/SharedResourceRequest.cpp index afcc25d1bd..ff5e4bb36b 100644 --- a/Libraries/LibWeb/HTML/SharedResourceRequest.cpp +++ b/Libraries/LibWeb/HTML/SharedResourceRequest.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/TraversableNavigable.cpp b/Libraries/LibWeb/HTML/TraversableNavigable.cpp index 24b92d4ce1..034cec25ad 100644 --- a/Libraries/LibWeb/HTML/TraversableNavigable.cpp +++ b/Libraries/LibWeb/HTML/TraversableNavigable.cpp @@ -7,6 +7,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.cpp b/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.cpp index b857940352..0c22a9018d 100644 --- a/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.cpp +++ b/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/Libraries/LibWeb/Layout/ImageProvider.cpp b/Libraries/LibWeb/Layout/ImageProvider.cpp index 146f721eb6..29cf37fd99 100644 --- a/Libraries/LibWeb/Layout/ImageProvider.cpp +++ b/Libraries/LibWeb/Layout/ImageProvider.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include diff --git a/Libraries/LibWeb/Layout/TreeBuilder.cpp b/Libraries/LibWeb/Layout/TreeBuilder.cpp index 5cd3123016..97f074d036 100644 --- a/Libraries/LibWeb/Layout/TreeBuilder.cpp +++ b/Libraries/LibWeb/Layout/TreeBuilder.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/Libraries/LibWeb/Page/EventHandler.cpp b/Libraries/LibWeb/Page/EventHandler.cpp index 5771ed576f..d2dc369e2c 100644 --- a/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Libraries/LibWeb/Page/EventHandler.cpp @@ -7,6 +7,8 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include +#include #include #include #include diff --git a/Libraries/LibWeb/Painting/BackingStoreManager.cpp b/Libraries/LibWeb/Painting/BackingStoreManager.cpp index 9022f0115b..ce010f90e2 100644 --- a/Libraries/LibWeb/Painting/BackingStoreManager.cpp +++ b/Libraries/LibWeb/Painting/BackingStoreManager.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/Painting/ClipFrame.h b/Libraries/LibWeb/Painting/ClipFrame.h index 2df0d1d533..3a952dca6c 100644 --- a/Libraries/LibWeb/Painting/ClipFrame.h +++ b/Libraries/LibWeb/Painting/ClipFrame.h @@ -6,6 +6,7 @@ #pragma once +#include #include #include #include diff --git a/Libraries/LibWeb/Painting/DisplayList.h b/Libraries/LibWeb/Painting/DisplayList.h index 93e6f51153..d08931ce1c 100644 --- a/Libraries/LibWeb/Painting/DisplayList.h +++ b/Libraries/LibWeb/Painting/DisplayList.h @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include diff --git a/Libraries/LibWeb/Painting/DisplayListCommand.h b/Libraries/LibWeb/Painting/DisplayListCommand.h index ced8b4a4b0..a48d6cb4e6 100644 --- a/Libraries/LibWeb/Painting/DisplayListCommand.h +++ b/Libraries/LibWeb/Painting/DisplayListCommand.h @@ -445,7 +445,7 @@ struct ApplyTransform { struct ApplyMaskBitmap { Gfx::IntPoint origin; NonnullRefPtr bitmap; - Gfx::Bitmap::MaskKind kind; + Gfx::MaskKind kind; void translate_by(Gfx::IntPoint const& offset) { diff --git a/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp b/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp index 7828285a53..e3f6a8002c 100644 --- a/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp +++ b/Libraries/LibWeb/Painting/DisplayListPlayerSkia.cpp @@ -1019,7 +1019,7 @@ void DisplayListPlayerSkia::apply_mask_bitmap(ApplyMaskBitmap const& command) auto& cached_runtime_effects = this->cached_runtime_effects(); sk_sp effect; - if (command.kind == Gfx::Bitmap::MaskKind::Luminance) { + if (command.kind == Gfx::MaskKind::Luminance) { char const* sksl_shader = R"( uniform shader mask_image; half4 main(float2 coord) { @@ -1032,7 +1032,7 @@ void DisplayListPlayerSkia::apply_mask_bitmap(ApplyMaskBitmap const& command) cached_runtime_effects.luminance_mask = compile_effect(sksl_shader); } effect = cached_runtime_effects.luminance_mask; - } else if (command.kind == Gfx::Bitmap::MaskKind::Alpha) { + } else if (command.kind == Gfx::MaskKind::Alpha) { char const* sksl_shader = R"( uniform shader mask_image; half4 main(float2 coord) { diff --git a/Libraries/LibWeb/Painting/DisplayListRecorder.cpp b/Libraries/LibWeb/Painting/DisplayListRecorder.cpp index a160d56eb2..8be9924e21 100644 --- a/Libraries/LibWeb/Painting/DisplayListRecorder.cpp +++ b/Libraries/LibWeb/Painting/DisplayListRecorder.cpp @@ -455,7 +455,7 @@ void DisplayListRecorder::apply_transform(Gfx::FloatPoint origin, Gfx::FloatMatr }); } -void DisplayListRecorder::apply_mask_bitmap(Gfx::IntPoint origin, Gfx::ImmutableBitmap const& bitmap, Gfx::Bitmap::MaskKind kind) +void DisplayListRecorder::apply_mask_bitmap(Gfx::IntPoint origin, Gfx::ImmutableBitmap const& bitmap, Gfx::MaskKind kind) { APPEND(ApplyMaskBitmap { .origin = origin, diff --git a/Libraries/LibWeb/Painting/DisplayListRecorder.h b/Libraries/LibWeb/Painting/DisplayListRecorder.h index e9679aa377..a89a9fa65f 100644 --- a/Libraries/LibWeb/Painting/DisplayListRecorder.h +++ b/Libraries/LibWeb/Painting/DisplayListRecorder.h @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -140,7 +139,7 @@ public: void apply_compositing_and_blending_operator(Gfx::CompositingAndBlendingOperator compositing_and_blending_operator); void apply_filter(Gfx::Filter filter); void apply_transform(Gfx::FloatPoint origin, Gfx::FloatMatrix4x4); - void apply_mask_bitmap(Gfx::IntPoint origin, Gfx::ImmutableBitmap const&, Gfx::Bitmap::MaskKind); + void apply_mask_bitmap(Gfx::IntPoint origin, Gfx::ImmutableBitmap const&, Gfx::MaskKind); DisplayListRecorder(DisplayList&); ~DisplayListRecorder(); diff --git a/Libraries/LibWeb/Painting/ImagePaintable.cpp b/Libraries/LibWeb/Painting/ImagePaintable.cpp index 7784f865c4..26505e82e2 100644 --- a/Libraries/LibWeb/Painting/ImagePaintable.cpp +++ b/Libraries/LibWeb/Painting/ImagePaintable.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/Painting/PaintableBox.cpp b/Libraries/LibWeb/Painting/PaintableBox.cpp index fbea54a318..add1ccaae8 100644 --- a/Libraries/LibWeb/Painting/PaintableBox.cpp +++ b/Libraries/LibWeb/Painting/PaintableBox.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -1433,6 +1434,11 @@ Optional PaintableBox::get_masking_area() const return absolute_border_box_rect(); } +RefPtr PaintableBox::calculate_mask(DisplayListRecordingContext&, CSSPixelRect const&) const +{ + return {}; +} + // https://www.w3.org/TR/css-transforms-1/#reference-box CSSPixelRect PaintableBox::transform_reference_box() const { diff --git a/Libraries/LibWeb/Painting/PaintableBox.h b/Libraries/LibWeb/Painting/PaintableBox.h index 7f262d836d..39f9003bde 100644 --- a/Libraries/LibWeb/Painting/PaintableBox.h +++ b/Libraries/LibWeb/Painting/PaintableBox.h @@ -7,8 +7,7 @@ #pragma once -#include -#include +#include #include #include #include @@ -44,8 +43,8 @@ public: void invalidate_stacking_context(); virtual Optional get_masking_area() const; - virtual Optional get_mask_type() const { return {}; } - virtual RefPtr calculate_mask(DisplayListRecordingContext&, CSSPixelRect const&) const { return {}; } + virtual Optional get_mask_type() const { return {}; } + virtual RefPtr calculate_mask(DisplayListRecordingContext&, CSSPixelRect const&) const; Layout::NodeWithStyleAndBoxModelMetrics const& layout_node_with_style_and_box_metrics() const { return as(layout_node()); } diff --git a/Libraries/LibWeb/Painting/SVGForeignObjectPaintable.h b/Libraries/LibWeb/Painting/SVGForeignObjectPaintable.h index 89415d370a..abfd1ddc2d 100644 --- a/Libraries/LibWeb/Painting/SVGForeignObjectPaintable.h +++ b/Libraries/LibWeb/Painting/SVGForeignObjectPaintable.h @@ -29,7 +29,7 @@ public: virtual GC::Ptr dom_node_of_svg() const override { return dom_node(); } virtual Optional get_masking_area() const override { return get_masking_area_of_svg(); } - virtual Optional get_mask_type() const override { return get_mask_type_of_svg(); } + virtual Optional get_mask_type() const override { return get_mask_type_of_svg(); } virtual RefPtr calculate_mask(DisplayListRecordingContext& paint_context, CSSPixelRect const& masking_area) const override { return calculate_mask_of_svg(paint_context, masking_area); } protected: diff --git a/Libraries/LibWeb/Painting/SVGGraphicsPaintable.h b/Libraries/LibWeb/Painting/SVGGraphicsPaintable.h index fa843c1788..d62bcb4b87 100644 --- a/Libraries/LibWeb/Painting/SVGGraphicsPaintable.h +++ b/Libraries/LibWeb/Painting/SVGGraphicsPaintable.h @@ -52,7 +52,7 @@ public: virtual GC::Ptr dom_node_of_svg() const override { return dom_node(); } virtual Optional get_masking_area() const override { return get_masking_area_of_svg(); } - virtual Optional get_mask_type() const override { return get_mask_type_of_svg(); } + virtual Optional get_mask_type() const override { return get_mask_type_of_svg(); } virtual RefPtr calculate_mask(DisplayListRecordingContext& paint_context, CSSPixelRect const& masking_area) const override { return calculate_mask_of_svg(paint_context, masking_area); } void set_computed_transforms(ComputedTransforms computed_transforms) diff --git a/Libraries/LibWeb/Painting/SVGMaskable.cpp b/Libraries/LibWeb/Painting/SVGMaskable.cpp index 87c5eb5e68..37425c3cab 100644 --- a/Libraries/LibWeb/Painting/SVGMaskable.cpp +++ b/Libraries/LibWeb/Painting/SVGMaskable.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -51,25 +52,25 @@ Optional SVGMaskable::get_masking_area_of_svg() const return masking_area; } -static Gfx::Bitmap::MaskKind mask_type_to_gfx_mask_kind(CSS::MaskType mask_type) +static Gfx::MaskKind mask_type_to_gfx_mask_kind(CSS::MaskType mask_type) { switch (mask_type) { case CSS::MaskType::Alpha: - return Gfx::Bitmap::MaskKind::Alpha; + return Gfx::MaskKind::Alpha; case CSS::MaskType::Luminance: - return Gfx::Bitmap::MaskKind::Luminance; + return Gfx::MaskKind::Luminance; default: VERIFY_NOT_REACHED(); } } -Optional SVGMaskable::get_mask_type_of_svg() const +Optional SVGMaskable::get_mask_type_of_svg() const { auto const& graphics_element = as(*dom_node_of_svg()); if (auto* mask_box = get_mask_box(graphics_element)) return mask_type_to_gfx_mask_kind(mask_box->computed_values().mask_type()); if (get_clip_box(graphics_element)) - return Gfx::Bitmap::MaskKind::Alpha; + return Gfx::MaskKind::Alpha; return {}; } @@ -113,7 +114,7 @@ RefPtr SVGMaskable::calculate_mask_of_svg(DisplayListRecor auto clip_bitmap = paint_mask_or_clip(clip_paintable); // Combine the clip-path with the mask (if present). if (mask_bitmap && clip_bitmap) - mask_bitmap->apply_mask(*clip_bitmap, Gfx::Bitmap::MaskKind::Alpha); + mask_bitmap->apply_mask(*clip_bitmap, Gfx::MaskKind::Alpha); if (!mask_bitmap) mask_bitmap = clip_bitmap; } diff --git a/Libraries/LibWeb/Painting/SVGMaskable.h b/Libraries/LibWeb/Painting/SVGMaskable.h index 537cafb5c4..0778e47704 100644 --- a/Libraries/LibWeb/Painting/SVGMaskable.h +++ b/Libraries/LibWeb/Painting/SVGMaskable.h @@ -17,7 +17,7 @@ public: virtual GC::Ptr dom_node_of_svg() const = 0; Optional get_masking_area_of_svg() const; - Optional get_mask_type_of_svg() const; + Optional get_mask_type_of_svg() const; RefPtr calculate_mask_of_svg(DisplayListRecordingContext&, CSSPixelRect const& masking_area) const; }; diff --git a/Libraries/LibWeb/Painting/SVGSVGPaintable.cpp b/Libraries/LibWeb/Painting/SVGSVGPaintable.cpp index 2fc56ced8d..9a1154f697 100644 --- a/Libraries/LibWeb/Painting/SVGSVGPaintable.cpp +++ b/Libraries/LibWeb/Painting/SVGSVGPaintable.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/Painting/VideoPaintable.cpp b/Libraries/LibWeb/Painting/VideoPaintable.cpp index 2cdad135cb..f327466237 100644 --- a/Libraries/LibWeb/Painting/VideoPaintable.cpp +++ b/Libraries/LibWeb/Painting/VideoPaintable.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/Libraries/LibWeb/SVG/SVGSVGElement.h b/Libraries/LibWeb/SVG/SVGSVGElement.h index d47a86d09e..22038dc61e 100644 --- a/Libraries/LibWeb/SVG/SVGSVGElement.h +++ b/Libraries/LibWeb/SVG/SVGSVGElement.h @@ -6,7 +6,6 @@ #pragma once -#include #include #include #include diff --git a/Libraries/LibWeb/ViewTransition/ViewTransition.cpp b/Libraries/LibWeb/ViewTransition/ViewTransition.cpp index 8b4b39c978..d75a21f375 100644 --- a/Libraries/LibWeb/ViewTransition/ViewTransition.cpp +++ b/Libraries/LibWeb/ViewTransition/ViewTransition.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include diff --git a/Libraries/LibWeb/ViewTransition/ViewTransition.h b/Libraries/LibWeb/ViewTransition/ViewTransition.h index deb0659001..fc8c0725bb 100644 --- a/Libraries/LibWeb/ViewTransition/ViewTransition.h +++ b/Libraries/LibWeb/ViewTransition/ViewTransition.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include #include diff --git a/Libraries/LibWeb/WebGL/WebGL2RenderingContextImpl.h b/Libraries/LibWeb/WebGL/WebGL2RenderingContextImpl.h index 3f48383943..32e2628c84 100644 --- a/Libraries/LibWeb/WebGL/WebGL2RenderingContextImpl.h +++ b/Libraries/LibWeb/WebGL/WebGL2RenderingContextImpl.h @@ -9,7 +9,6 @@ #include #include -#include #include #include #include diff --git a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.cpp b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.cpp index 7528c547a5..44d5510053 100644 --- a/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.cpp +++ b/Libraries/LibWeb/WebGL/WebGLRenderingContextBase.cpp @@ -12,6 +12,7 @@ extern "C" { #include } +#include #include #include #include diff --git a/Libraries/LibWeb/WebGL/WebGLRenderingContextImpl.h b/Libraries/LibWeb/WebGL/WebGLRenderingContextImpl.h index f48a452e49..8c948d4165 100644 --- a/Libraries/LibWeb/WebGL/WebGLRenderingContextImpl.h +++ b/Libraries/LibWeb/WebGL/WebGLRenderingContextImpl.h @@ -9,7 +9,6 @@ #include #include -#include #include #include #include diff --git a/Services/WebContent/PageClient.cpp b/Services/WebContent/PageClient.cpp index 1866608e21..6935a18840 100644 --- a/Services/WebContent/PageClient.cpp +++ b/Services/WebContent/PageClient.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include