mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 16:21:29 +00:00
LibWeb: Stub out SVGAnimatedTransformList
This commit is contained in:
parent
3bab4fbae9
commit
6d72f40d8d
Notes:
sideshowbarker
2024-07-17 02:57:43 +09:00
Author: https://github.com/MacDue Commit: https://github.com/SerenityOS/serenity/commit/6d72f40d8d Pull-request: https://github.com/SerenityOS/serenity/pull/23793 Reviewed-by: https://github.com/shannonbooth
|
@ -592,6 +592,7 @@ set(SOURCES
|
|||
SVG/SVGAnimatedNumber.cpp
|
||||
SVG/SVGAnimatedRect.cpp
|
||||
SVG/SVGAnimatedString.cpp
|
||||
SVG/SVGAnimatedTransformList.cpp
|
||||
SVG/SVGClipPathElement.cpp
|
||||
SVG/SVGDecodedImageData.cpp
|
||||
SVG/SVGDefsElement.cpp
|
||||
|
|
39
Userland/Libraries/LibWeb/SVG/SVGAnimatedTransformList.cpp
Normal file
39
Userland/Libraries/LibWeb/SVG/SVGAnimatedTransformList.cpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2024, MacDue <macdue@dueutil.tech>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/Bindings/Intrinsics.h>
|
||||
#include <LibWeb/SVG/SVGAnimatedTransformList.h>
|
||||
|
||||
namespace Web::SVG {
|
||||
|
||||
JS_DEFINE_ALLOCATOR(SVGAnimatedTransformList);
|
||||
|
||||
JS::NonnullGCPtr<SVGAnimatedTransformList> SVGAnimatedTransformList::create(JS::Realm& realm, JS::NonnullGCPtr<SVGTransformList> base_val, JS::NonnullGCPtr<SVGTransformList> anim_val)
|
||||
{
|
||||
return realm.heap().allocate<SVGAnimatedTransformList>(realm, realm, base_val, anim_val);
|
||||
}
|
||||
|
||||
SVGAnimatedTransformList::SVGAnimatedTransformList(JS::Realm& realm, JS::NonnullGCPtr<SVGTransformList> base_val, JS::NonnullGCPtr<SVGTransformList> anim_val)
|
||||
: PlatformObject(realm)
|
||||
, m_base_val(base_val)
|
||||
, m_anim_val(anim_val) {};
|
||||
|
||||
SVGAnimatedTransformList::~SVGAnimatedTransformList() = default;
|
||||
|
||||
void SVGAnimatedTransformList::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedTransformList);
|
||||
}
|
||||
|
||||
void SVGAnimatedTransformList::visit_edges(Cell::Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_base_val);
|
||||
visitor.visit(m_anim_val);
|
||||
}
|
||||
|
||||
}
|
43
Userland/Libraries/LibWeb/SVG/SVGAnimatedTransformList.h
Normal file
43
Userland/Libraries/LibWeb/SVG/SVGAnimatedTransformList.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (c) 2024, MacDue <macdue@dueutil.tech>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/Bindings/PlatformObject.h>
|
||||
#include <LibWeb/SVG/SVGTransformList.h>
|
||||
|
||||
namespace Web::SVG {
|
||||
|
||||
// https://svgwg.org/svg2-draft/single-page.html#coords-InterfaceSVGTransformList
|
||||
class SVGAnimatedTransformList final : public Bindings::PlatformObject {
|
||||
WEB_PLATFORM_OBJECT(SVGAnimatedTransformList, Bindings::PlatformObject);
|
||||
JS_DECLARE_ALLOCATOR(SVGAnimatedTransformList);
|
||||
|
||||
public:
|
||||
[[nodiscard]] static JS::NonnullGCPtr<SVGAnimatedTransformList> create(JS::Realm& realm, JS::NonnullGCPtr<SVGTransformList> base_val, JS::NonnullGCPtr<SVGTransformList> anim_val);
|
||||
virtual ~SVGAnimatedTransformList() override;
|
||||
|
||||
JS::NonnullGCPtr<SVGTransformList> base_val() const
|
||||
{
|
||||
return m_anim_val;
|
||||
}
|
||||
|
||||
JS::NonnullGCPtr<SVGTransformList> anim_val() const
|
||||
{
|
||||
return m_anim_val;
|
||||
}
|
||||
|
||||
private:
|
||||
SVGAnimatedTransformList(JS::Realm& realm, JS::NonnullGCPtr<SVGTransformList> base_val, JS::NonnullGCPtr<SVGTransformList> anim_val);
|
||||
|
||||
virtual void initialize(JS::Realm& realm) override;
|
||||
virtual void visit_edges(Cell::Visitor& visitor) override;
|
||||
|
||||
JS::NonnullGCPtr<SVGTransformList> m_base_val;
|
||||
JS::NonnullGCPtr<SVGTransformList> m_anim_val;
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#import <SVG/SVGTransformList.idl>
|
||||
|
||||
// https://svgwg.org/svg2-draft/single-page.html#coords-InterfaceSVGAnimatedTransformList
|
||||
[Exposed=Window]
|
||||
interface SVGAnimatedTransformList {
|
||||
[SameObject] readonly attribute SVGTransformList baseVal;
|
||||
[SameObject] readonly attribute SVGTransformList animVal;
|
||||
};
|
|
@ -241,6 +241,7 @@ libweb_js_bindings(SVG/SVGAnimatedLength)
|
|||
libweb_js_bindings(SVG/SVGAnimatedNumber)
|
||||
libweb_js_bindings(SVG/SVGAnimatedRect)
|
||||
libweb_js_bindings(SVG/SVGAnimatedString)
|
||||
libweb_js_bindings(SVG/SVGAnimatedTransformList)
|
||||
libweb_js_bindings(SVG/SVGClipPathElement)
|
||||
libweb_js_bindings(SVG/SVGDefsElement)
|
||||
libweb_js_bindings(SVG/SVGElement)
|
||||
|
|
Loading…
Reference in a new issue