#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_SVG_SVG_LENGTH_FUNCTIONS_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_SVG_SVG_LENGTH_FUNCTIONS_H_
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "ui/gfx/geometry/point_f.h"
namespace gfx {
class SizeF;
class Vector2dF;
}
namespace blink {
class ComputedStyle;
class LayoutObject;
class Length;
class SVGElement;
class UnzoomedLength;
enum class SVGLengthMode { … };
class SVGViewportResolver { … };
float ValueForLength(const Length& length, float zoom, float dimension);
float ValueForLength(const Length& length,
const ComputedStyle&,
float dimension);
float ValueForLength(const Length&,
const SVGViewportResolver&,
float zoom,
SVGLengthMode mode);
float ValueForLength(const Length&,
const SVGViewportResolver&,
const ComputedStyle&,
SVGLengthMode = SVGLengthMode::kOther);
float ValueForLength(const UnzoomedLength&,
const SVGViewportResolver&,
SVGLengthMode = SVGLengthMode::kOther);
gfx::Vector2dF VectorForLengthPair(const Length& x_length,
const Length& y_length,
float zoom,
const gfx::SizeF& viewport_size);
gfx::Vector2dF VectorForLengthPair(const Length& x_length,
const Length& y_length,
const SVGViewportResolver&,
const ComputedStyle&);
inline gfx::PointF PointForLengthPair(
const Length& x_length,
const Length& y_length,
const SVGViewportResolver& viewport_resolver,
const ComputedStyle& style) { … }
}
#endif