Issue #2737 - Part 1: Base implementation of SVGGeometryElement.

Mostly mechanical changes to generalize path geometry for all SVG draw
elements. No user-exposed changes.
This commit is contained in:
Moonchild 2025-04-27 18:03:48 +02:00 • committed by roytam1
commit fd4a224d1d
45 changed files with 368 additions and 319 deletions

View file

@ -6,7 +6,7 @@
#ifndef mozilla_dom_SVGEllipseElement_h
#define mozilla_dom_SVGEllipseElement_h
#include "nsSVGPathGeometryElement.h"
#include "SVGGeometryElement.h"
#include "nsSVGLength2.h"
nsresult NS_NewSVGEllipseElement(nsIContent **aResult,
@ -15,7 +15,7 @@ nsresult NS_NewSVGEllipseElement(nsIContent **aResult,
namespace mozilla {
namespace dom {
typedef nsSVGPathGeometryElement SVGEllipseElementBase;
typedef SVGGeometryElement SVGEllipseElementBase;
class SVGEllipseElement final : public SVGEllipseElementBase
{
@ -29,7 +29,7 @@ public:
// nsSVGSVGElement methods:
virtual bool HasValidDimensions() const override;
// nsSVGPathGeometryElement methods:
// SVGGeometryElement methods:
virtual bool GetGeometryBounds(Rect* aBounds, const StrokeOptions& aStrokeOptions,
const Matrix& aToBoundsSpace,
const Matrix* aToNonScalingStrokeSpace = nullptr) override;