diff --git a/Userland/Libraries/LibWeb/SVG/SVGTransform.cpp b/Userland/Libraries/LibWeb/SVG/SVGTransform.cpp index 48e19c6dee6..ed566764abe 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTransform.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGTransform.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2024, MacDue + * Copyright (c) 2024, Jamie Mansfield * * SPDX-License-Identifier: BSD-2-Clause */ @@ -28,4 +29,11 @@ void SVGTransform::initialize(JS::Realm& realm) WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTransform); } +// https://svgwg.org/svg2-draft/single-page.html#coords-__svg__SVGTransform__type +SVGTransform::Type SVGTransform::type() +{ + dbgln("FIXME: Implement SVGTransform::type()"); + return SVGTransform::Type::Unknown; +} + } diff --git a/Userland/Libraries/LibWeb/SVG/SVGTransform.h b/Userland/Libraries/LibWeb/SVG/SVGTransform.h index 4e2c8106003..9dcfac9ad98 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTransform.h +++ b/Userland/Libraries/LibWeb/SVG/SVGTransform.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2024, MacDue + * Copyright (c) 2024, Jamie Mansfield * * SPDX-License-Identifier: BSD-2-Clause */ @@ -20,6 +21,18 @@ public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm& realm); virtual ~SVGTransform() override; + enum class Type : u16 { + Unknown = 0, + Matrix = 1, + Translate = 2, + Scale = 3, + Rotate = 4, + SkewX = 5, + SkewY = 6, + }; + + Type type(); + private: SVGTransform(JS::Realm& realm); diff --git a/Userland/Libraries/LibWeb/SVG/SVGTransform.idl b/Userland/Libraries/LibWeb/SVG/SVGTransform.idl index 62ba297cbf5..13d48f80abd 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTransform.idl +++ b/Userland/Libraries/LibWeb/SVG/SVGTransform.idl @@ -10,7 +10,7 @@ interface SVGTransform { const unsigned short SVG_TRANSFORM_SKEWX = 5; const unsigned short SVG_TRANSFORM_SKEWY = 6; - // FIXME: readonly attribute unsigned short type; + readonly attribute unsigned short type; // FIXME: [SameObject] readonly attribute DOMMatrix matrix; // FIXME: readonly attribute float angle;