From b0fd4aff1a9a5d1f02f2a36b63812a63728eceea Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Sat, 17 Aug 2024 01:09:11 +0100 Subject: [PATCH] LibWeb/Canvas: Stub missing includes for CanvasRenderingContext2D --- .../LibWeb/HTML/Canvas/CanvasFilters.idl | 5 +++++ .../LibWeb/HTML/Canvas/CanvasShadowStyles.idl | 8 ++++++++ .../HTML/Canvas/CanvasUserInterface.idl | 5 +++++ .../LibWeb/HTML/CanvasRenderingContext2D.idl | 20 ++++++++++++++++--- 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 Userland/Libraries/LibWeb/HTML/Canvas/CanvasFilters.idl create mode 100644 Userland/Libraries/LibWeb/HTML/Canvas/CanvasShadowStyles.idl create mode 100644 Userland/Libraries/LibWeb/HTML/Canvas/CanvasUserInterface.idl diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFilters.idl b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFilters.idl new file mode 100644 index 00000000000..389b8aef7e4 --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasFilters.idl @@ -0,0 +1,5 @@ +// https://html.spec.whatwg.org/multipage/canvas.html#canvasfilters +interface mixin CanvasFilters { + // filters + [FIXME] attribute DOMString filter; // (default "none") +}; diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasShadowStyles.idl b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasShadowStyles.idl new file mode 100644 index 00000000000..47649465982 --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasShadowStyles.idl @@ -0,0 +1,8 @@ +// https://html.spec.whatwg.org/multipage/canvas.html#canvasshadowstyles +interface mixin CanvasShadowStyles { + // shadows + [FIXME] attribute unrestricted double shadowOffsetX; // (default 0) + [FIXME] attribute unrestricted double shadowOffsetY; // (default 0) + [FIXME] attribute unrestricted double shadowBlur; // (default 0) + [FIXME] attribute DOMString shadowColor; // (default transparent black) +}; diff --git a/Userland/Libraries/LibWeb/HTML/Canvas/CanvasUserInterface.idl b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasUserInterface.idl new file mode 100644 index 00000000000..a6cddf0ea11 --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/Canvas/CanvasUserInterface.idl @@ -0,0 +1,5 @@ +// https://html.spec.whatwg.org/multipage/canvas.html#canvasuserinterface +interface mixin CanvasUserInterface { + [FIXME] undefined drawFocusIfNeeded(Element element); + [FIXME] undefined drawFocusIfNeeded(Path2D path, Element element); +}; diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl index 73d03efb452..b06cc0422ef 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl @@ -3,15 +3,27 @@ #import #import #import +#import #import #import #import #import #import #import +#import #import #import #import +#import + +enum PredefinedColorSpace { "srgb", "display-p3" }; + +dictionary CanvasRenderingContext2DSettings { + boolean alpha = true; + boolean desynchronized = false; + PredefinedColorSpace colorSpace = "srgb"; + boolean willReadFrequently = false; +}; enum ImageSmoothingQuality { "low", "medium", "high" }; @@ -23,6 +35,8 @@ enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic [Exposed=Window] interface CanvasRenderingContext2D { [ImplementedAs=canvas_for_binding] readonly attribute HTMLCanvasElement canvas; + + [FIXME] CanvasRenderingContext2DSettings getContextAttributes(); }; CanvasRenderingContext2D includes CanvasState; @@ -30,11 +44,11 @@ CanvasRenderingContext2D includes CanvasTransform; CanvasRenderingContext2D includes CanvasCompositing; CanvasRenderingContext2D includes CanvasImageSmoothing; CanvasRenderingContext2D includes CanvasFillStrokeStyles; -// FIXME: CanvasRenderingContext2D includes CanvasShadowStyles; -// FIXME: CanvasRenderingContext2D includes CanvasFilters; +CanvasRenderingContext2D includes CanvasShadowStyles; +CanvasRenderingContext2D includes CanvasFilters; CanvasRenderingContext2D includes CanvasRect; CanvasRenderingContext2D includes CanvasDrawPath; -// FIXME: CanvasRenderingContext2D includes CanvasUserInterface; +CanvasRenderingContext2D includes CanvasUserInterface; CanvasRenderingContext2D includes CanvasText; CanvasRenderingContext2D includes CanvasDrawImage; CanvasRenderingContext2D includes CanvasImageData;