2024-03-11 18:26:58 +00:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2024, MacDue <macdue@dueutil.tech>
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <LibWeb/Layout/SVGMaskBox.h>
|
|
|
|
|
#include <LibWeb/Painting/SVGGraphicsPaintable.h>
|
|
|
|
|
|
|
|
|
|
namespace Web::Painting {
|
|
|
|
|
|
|
|
|
|
class SVGMaskPaintable : public SVGGraphicsPaintable {
|
2024-11-15 04:01:23 +13:00
|
|
|
GC_CELL(SVGMaskPaintable, SVGGraphicsPaintable);
|
|
|
|
|
GC_DECLARE_ALLOCATOR(SVGMaskPaintable);
|
2024-03-11 18:26:58 +00:00
|
|
|
|
|
|
|
|
public:
|
2024-11-15 04:01:23 +13:00
|
|
|
static GC::Ref<SVGMaskPaintable> create(Layout::SVGMaskBox const&);
|
2024-03-11 18:26:58 +00:00
|
|
|
|
|
|
|
|
bool forms_unconnected_subtree() const override
|
|
|
|
|
{
|
|
|
|
|
// Masks should not be painted (i.e. reachable) unless referenced by another element.
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
SVGMaskPaintable(Layout::SVGMaskBox const&);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|