summaryrefslogtreecommitdiffstats
path: root/dom/canvas/BasicRenderingContext2D.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/canvas/BasicRenderingContext2D.h
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/canvas/BasicRenderingContext2D.h')
-rw-r--r--dom/canvas/BasicRenderingContext2D.h161
1 files changed, 161 insertions, 0 deletions
diff --git a/dom/canvas/BasicRenderingContext2D.h b/dom/canvas/BasicRenderingContext2D.h
new file mode 100644
index 0000000000..4938c1f5a1
--- /dev/null
+++ b/dom/canvas/BasicRenderingContext2D.h
@@ -0,0 +1,161 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef BasicRenderingContext2D_h
+#define BasicRenderingContext2D_h
+
+#include "mozilla/dom/CanvasRenderingContext2DBinding.h"
+#include "mozilla/dom/DOMMatrix.h"
+
+namespace mozilla::dom {
+
+class
+ HTMLImageElementOrSVGImageElementOrHTMLCanvasElementOrHTMLVideoElementOrOffscreenCanvasOrImageBitmap;
+typedef HTMLImageElementOrSVGImageElementOrHTMLCanvasElementOrHTMLVideoElementOrOffscreenCanvasOrImageBitmap
+ CanvasImageSource;
+
+/*
+ * BasicRenderingContext2D
+ */
+class BasicRenderingContext2D {
+ public:
+ //
+ // CanvasState
+ //
+ virtual void Save() = 0;
+ virtual void Restore() = 0;
+
+ //
+ // CanvasTransform
+ //
+ virtual void Scale(double aX, double aY, mozilla::ErrorResult& aError) = 0;
+ virtual void Rotate(double aAngle, mozilla::ErrorResult& aError) = 0;
+ virtual void Translate(double aX, double aY,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void Transform(double aM11, double aM12, double aM21, double aM22,
+ double aDx, double aDy,
+ mozilla::ErrorResult& aError) = 0;
+ virtual already_AddRefed<DOMMatrix> GetTransform(
+ mozilla::ErrorResult& aError) = 0;
+ virtual void SetTransform(double aM11, double aM12, double aM21, double aM22,
+ double aDx, double aDy,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void SetTransform(const DOMMatrix2DInit& aInit,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void ResetTransform(mozilla::ErrorResult& aError) = 0;
+
+ //
+ // CanvasCompositing
+ //
+ virtual double GlobalAlpha() = 0;
+ virtual void SetGlobalAlpha(double aGlobalAlpha) = 0;
+ virtual void GetGlobalCompositeOperation(nsAString& aOp,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void SetGlobalCompositeOperation(const nsAString& aOp,
+ mozilla::ErrorResult& aError) = 0;
+
+ //
+ // CanvasImageSmoothing
+ //
+ virtual bool ImageSmoothingEnabled() = 0;
+ virtual void SetImageSmoothingEnabled(bool aImageSmoothingEnabled) = 0;
+
+ //
+ // CanvasFillStrokeStyles
+ //
+ virtual void GetStrokeStyle(
+ OwningUTF8StringOrCanvasGradientOrCanvasPattern& aValue) = 0;
+ virtual void SetStrokeStyle(
+ const UTF8StringOrCanvasGradientOrCanvasPattern& aValue) = 0;
+ virtual void GetFillStyle(
+ OwningUTF8StringOrCanvasGradientOrCanvasPattern& aValue) = 0;
+ virtual void SetFillStyle(
+ const UTF8StringOrCanvasGradientOrCanvasPattern& aValue) = 0;
+ virtual already_AddRefed<CanvasGradient> CreateLinearGradient(double aX0,
+ double aY0,
+ double aX1,
+ double aY1) = 0;
+ virtual already_AddRefed<CanvasGradient> CreateRadialGradient(
+ double aX0, double aY0, double aR0, double aX1, double aY1, double aR1,
+ ErrorResult& aError) = 0;
+ virtual already_AddRefed<CanvasGradient> CreateConicGradient(double aAngle,
+ double aCx,
+ double aCy) = 0;
+ virtual already_AddRefed<CanvasPattern> CreatePattern(
+ const CanvasImageSource& aElement, const nsAString& aRepeat,
+ ErrorResult& aError) = 0;
+ //
+ // CanvasShadowStyles
+ //
+ virtual double ShadowOffsetX() = 0;
+ virtual void SetShadowOffsetX(double aShadowOffsetX) = 0;
+ virtual double ShadowOffsetY() = 0;
+ virtual void SetShadowOffsetY(double aShadowOffsetY) = 0;
+ virtual double ShadowBlur() = 0;
+ virtual void SetShadowBlur(double aShadowBlur) = 0;
+ virtual void GetShadowColor(nsACString& aShadowColor) = 0;
+ virtual void SetShadowColor(const nsACString& aShadowColor) = 0;
+
+ //
+ // CanvasRect
+ //
+ virtual void ClearRect(double aX, double aY, double aW, double aH) = 0;
+ virtual void FillRect(double aX, double aY, double aW, double aH) = 0;
+ virtual void StrokeRect(double aX, double aY, double aW, double aH) = 0;
+
+ //
+ // CanvasDrawImage
+ //
+ virtual void DrawImage(const CanvasImageSource& aImage, double aDx,
+ double aDy, mozilla::ErrorResult& aError) = 0;
+ virtual void DrawImage(const CanvasImageSource& aImage, double aDx,
+ double aDy, double aDw, double aDh,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void DrawImage(const CanvasImageSource& aImage, double aSx,
+ double aSy, double aSw, double aSh, double aDx,
+ double aDy, double aDw, double aDh,
+ mozilla::ErrorResult& aError) = 0;
+
+ //
+ // CanvasPathDrawingStyles
+ //
+ virtual double LineWidth() = 0;
+ virtual void SetLineWidth(double aWidth) = 0;
+ virtual void GetLineCap(nsAString& aLinecapStyle) = 0;
+ virtual void SetLineCap(const nsAString& aLinecapStyle) = 0;
+ virtual void GetLineJoin(nsAString& aLinejoinStyle,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void SetLineJoin(const nsAString& aLinejoinStyle) = 0;
+ virtual double MiterLimit() = 0;
+ virtual void SetMiterLimit(double aMiter) = 0;
+ virtual void SetLineDash(const Sequence<double>& aSegments,
+ mozilla::ErrorResult& aRv) = 0;
+ virtual void GetLineDash(nsTArray<double>& aSegments) const = 0;
+ virtual void SetLineDashOffset(double aOffset) = 0;
+ virtual double LineDashOffset() const = 0;
+
+ //
+ // CanvasPath
+ //
+ virtual void ClosePath() = 0;
+ virtual void MoveTo(double aX, double aY) = 0;
+ virtual void LineTo(double aX, double aY) = 0;
+ virtual void QuadraticCurveTo(double aCpx, double aCpy, double aX,
+ double aY) = 0;
+ virtual void BezierCurveTo(double aCp1x, double aCp1y, double aCp2x,
+ double aCp2y, double aX, double aY) = 0;
+ virtual void ArcTo(double aX1, double aY1, double aX2, double aY2,
+ double aRadius, mozilla::ErrorResult& aError) = 0;
+ virtual void Rect(double aX, double aY, double aW, double aH) = 0;
+ virtual void Arc(double aX, double aY, double aRadius, double aStartAngle,
+ double aEndAngle, bool aAnticlockwise,
+ mozilla::ErrorResult& aError) = 0;
+ virtual void Ellipse(double aX, double aY, double aRadiusX, double aRadiusY,
+ double aRotation, double aStartAngle, double aEndAngle,
+ bool aAnticlockwise, ErrorResult& aError) = 0;
+};
+
+} // namespace mozilla::dom
+
+#endif /* BasicRenderingContext2D_h */