mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:07:34 +00:00
LibWeb: Make CanvasGradient GC-allocated
This commit is contained in:
parent
369dd42d67
commit
0d2fee351a
5 changed files with 32 additions and 27 deletions
|
@ -6,15 +6,14 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <AK/RefCounted.h>
|
||||
#include <LibGfx/Color.h>
|
||||
#include <LibWeb/Bindings/Wrappable.h>
|
||||
#include <LibWeb/Bindings/PlatformObject.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
|
||||
class CanvasGradient final
|
||||
: public RefCounted<CanvasGradient>
|
||||
, public Bindings::Wrappable {
|
||||
class CanvasGradient final : public Bindings::PlatformObject {
|
||||
WEB_PLATFORM_OBJECT(CanvasGradient, Bindings::PlatformObject);
|
||||
|
||||
public:
|
||||
enum class Type {
|
||||
Linear,
|
||||
|
@ -22,18 +21,16 @@ public:
|
|||
Conic,
|
||||
};
|
||||
|
||||
using WrapperType = Bindings::CanvasGradientWrapper;
|
||||
|
||||
static NonnullRefPtr<CanvasGradient> create_radial(double x0, double y0, double r0, double x1, double y1, double r1);
|
||||
static NonnullRefPtr<CanvasGradient> create_linear(double x0, double y0, double x1, double y1);
|
||||
static NonnullRefPtr<CanvasGradient> create_conic(double start_angle, double x, double y);
|
||||
static JS::NonnullGCPtr<CanvasGradient> create_radial(HTML::Window&, double x0, double y0, double r0, double x1, double y1, double r1);
|
||||
static JS::NonnullGCPtr<CanvasGradient> create_linear(HTML::Window&, double x0, double y0, double x1, double y1);
|
||||
static JS::NonnullGCPtr<CanvasGradient> create_conic(HTML::Window&, double start_angle, double x, double y);
|
||||
|
||||
DOM::ExceptionOr<void> add_color_stop(double offset, String const& color);
|
||||
|
||||
~CanvasGradient();
|
||||
|
||||
private:
|
||||
explicit CanvasGradient(Type);
|
||||
CanvasGradient(HTML::Window&, Type);
|
||||
|
||||
Type m_type {};
|
||||
|
||||
|
@ -46,3 +43,5 @@ private:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
WRAPPER_HACK(CanvasGradient, Web::HTML)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue