chromium/third_party/blink/renderer/core/layout/svg/layout_svg_text.cc

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/layout/svg/layout_svg_text.h"

#include <limits>

#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/layout/block_node.h"
#include "third_party/blink/renderer/core/layout/constraint_space_builder.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_inline_text.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_resource_container.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_root.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_info.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/layout/svg/transform_helper.h"
#include "third_party/blink/renderer/core/layout/svg/transformed_hit_test_location.h"
#include "third_party/blink/renderer/core/paint/clip_path_clipper.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/scoped_svg_paint_state.h"
#include "third_party/blink/renderer/core/paint/svg_model_object_painter.h"
#include "third_party/blink/renderer/core/svg/svg_text_element.h"

namespace blink {

namespace {

const LayoutSVGText* FindTextRoot(const LayoutObject* start) {}

}  // namespace

LayoutSVGText::LayoutSVGText(Element* element)
    :{}

void LayoutSVGText::StyleDidChange(StyleDifference diff,
                                   const ComputedStyle* old_style) {}

void LayoutSVGText::WillBeDestroyed() {}

const char* LayoutSVGText::GetName() const {}

bool LayoutSVGText::CreatesNewFormattingContext() const {}

void LayoutSVGText::UpdateFromStyle() {}

bool LayoutSVGText::IsChildAllowed(LayoutObject* child,
                                   const ComputedStyle&) const {}

void LayoutSVGText::AddChild(LayoutObject* child, LayoutObject* before_child) {}

void LayoutSVGText::RemoveChild(LayoutObject* child) {}

void LayoutSVGText::InsertedIntoTree() {}

void LayoutSVGText::WillBeRemovedFromTree() {}

void LayoutSVGText::SubtreeStructureChanged(
    LayoutInvalidationReasonForTracing) {}

void LayoutSVGText::UpdateFont() {}

void LayoutSVGText::UpdateTransformAffectsVectorEffect() {}

void LayoutSVGText::Paint(const PaintInfo& paint_info) const {}

SVGLayoutResult LayoutSVGText::UpdateSVGLayout(
    const SVGLayoutInfo& layout_info) {}

bool LayoutSVGText::UpdateAfterSVGLayout(const SVGLayoutInfo& layout_info,
                                         bool bounds_changed) {}

bool LayoutSVGText::IsObjectBoundingBoxValid() const {}

gfx::RectF LayoutSVGText::ObjectBoundingBox() const {}

gfx::RectF LayoutSVGText::StrokeBoundingBox() const {}

gfx::RectF LayoutSVGText::DecoratedBoundingBox() const {}

gfx::RectF LayoutSVGText::VisualRectInLocalSVGCoordinates() const {}

void LayoutSVGText::AbsoluteQuads(Vector<gfx::QuadF>& quads,
                                  MapCoordinatesFlags mode) const {}

gfx::RectF LayoutSVGText::LocalBoundingBoxRectForAccessibility() const {}

bool LayoutSVGText::NodeAtPoint(HitTestResult& result,
                                const HitTestLocation& hit_test_location,
                                const PhysicalOffset& accumulated_offset,
                                HitTestPhase phase) {}

PositionWithAffinity LayoutSVGText::PositionForPoint(
    const PhysicalOffset& point_in_contents) const {}

void LayoutSVGText::SetNeedsPositioningValuesUpdate() {}

void LayoutSVGText::SetNeedsTextMetricsUpdate() {}

bool LayoutSVGText::NeedsTextMetricsUpdate() const {}

LayoutSVGText* LayoutSVGText::LocateLayoutSVGTextAncestor(LayoutObject* start) {}

const LayoutSVGText* LayoutSVGText::LocateLayoutSVGTextAncestor(
    const LayoutObject* start) {}

// static
void LayoutSVGText::NotifySubtreeStructureChanged(
    LayoutObject* object,
    LayoutInvalidationReasonForTracing reason) {}

}  // namespace blink