#include "third_party/blink/renderer/core/paint/svg_shape_painter.h"
#include "base/types/optional_util.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_resource_marker.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_shape.h"
#include "third_party/blink/renderer/core/layout/svg/svg_layout_support.h"
#include "third_party/blink/renderer/core/layout/svg/svg_marker_data.h"
#include "third_party/blink/renderer/core/layout/svg/svg_resources.h"
#include "third_party/blink/renderer/core/paint/paint_auto_dark_mode.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_container_painter.h"
#include "third_party/blink/renderer/core/paint/svg_model_object_painter.h"
#include "third_party/blink/renderer/core/paint/svg_object_painter.h"
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/style/paint_order_array.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.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/stroke_data.h"
#include "third_party/skia/include/core/SkPath.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace blink {
static std::optional<AffineTransform> SetupNonScalingStrokeContext(
const LayoutSVGShape& layout_svg_shape,
GraphicsContextStateSaver& state_saver) { … }
void SVGShapePainter::Paint(const PaintInfo& paint_info) { … }
void SVGShapePainter::PaintShape(const PaintInfo& paint_info) { … }
class PathWithTemporaryWindingRule { … };
void SVGShapePainter::FillShape(GraphicsContext& context,
const cc::PaintFlags& flags,
WindRule wind_rule) { … }
void SVGShapePainter::StrokeShape(GraphicsContext& context,
const cc::PaintFlags& flags) { … }
void SVGShapePainter::PaintMarkers(const PaintInfo& paint_info) { … }
void SVGShapePainter::PaintMarker(const PaintInfo& paint_info,
LayoutSVGResourceMarker& marker,
const MarkerPosition& position,
float stroke_width) { … }
}