#include "third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h"
#include <memory>
#include "base/memory/ptr_util.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_support.h"
#include "third_party/blink/renderer/core/layout/svg/svg_resources.h"
#include "third_party/blink/renderer/core/paint/svg_object_painter.h"
#include "third_party/blink/renderer/core/svg/svg_fit_to_view_box.h"
#include "third_party/blink/renderer/core/svg/svg_pattern_element.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_controller.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
#include "third_party/blink/renderer/platform/graphics/pattern.h"
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace blink {
struct PatternData { … };
LayoutSVGResourcePattern::LayoutSVGResourcePattern(SVGPatternElement* node)
: … { … }
void LayoutSVGResourcePattern::Trace(Visitor* visitor) const { … }
void LayoutSVGResourcePattern::RemoveAllClientsFromCache() { … }
void LayoutSVGResourcePattern::WillBeDestroyed() { … }
void LayoutSVGResourcePattern::StyleDidChange(StyleDifference diff,
const ComputedStyle* old_style) { … }
bool LayoutSVGResourcePattern::RemoveClientFromCache(
SVGResourceClient& client) { … }
const PatternAttributes& LayoutSVGResourcePattern::EnsureAttributes() const { … }
bool LayoutSVGResourcePattern::FindCycleFromSelf() const { … }
std::unique_ptr<PatternData> LayoutSVGResourcePattern::BuildPatternData(
const gfx::RectF& object_bounding_box) { … }
bool LayoutSVGResourcePattern::ApplyShader(
const SVGResourceClient& client,
const gfx::RectF& reference_box,
const AffineTransform* additional_transform,
const AutoDarkMode&,
cc::PaintFlags& flags) { … }
PaintRecord LayoutSVGResourcePattern::AsPaintRecord(
const AffineTransform& tile_transform) const { … }
}