Bug 1318573 - (Part 6) Move CanvasShadowStyles to BasicRenderingContext2D. r?mstange
MozReview-Commit-ID: 3NXosm5JuuW
--- a/dom/canvas/BasicRenderingContext2D.cpp
+++ b/dom/canvas/BasicRenderingContext2D.cpp
@@ -483,16 +483,31 @@ BasicRenderingContext2D::SetStyleFromUni
SetStyleFromPattern(aValue.GetAsCanvasPattern(), aWhichStyle);
return;
}
MOZ_ASSERT_UNREACHABLE("Invalid union value");
}
//
+// shadows
+//
+
+void
+BasicRenderingContext2D::SetShadowColor(const nsAString& aShadowColor)
+{
+ nscolor color;
+ if (!ParseColor(aShadowColor, &color)) {
+ return;
+ }
+
+ CurrentState().shadowColor = color;
+}
+
+//
// path bits
//
void
BasicRenderingContext2D::TransformWillUpdate()
{
EnsureTarget();
--- a/dom/canvas/BasicRenderingContext2D.h
+++ b/dom/canvas/BasicRenderingContext2D.h
@@ -145,24 +145,54 @@ public:
ErrorResult& aError);
already_AddRefed<CanvasPattern> CreatePattern(const CanvasImageSource& aElement,
const nsAString& aRepeat,
ErrorResult& aError);
//
// 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(nsAString& aShadowColor) = 0;
- virtual void SetShadowColor(const nsAString& aShadowColor) = 0;
+ double ShadowOffsetX()
+ {
+ return CurrentState().shadowOffset.x;
+ }
+
+ void SetShadowOffsetX(double aShadowOffsetX)
+ {
+ CurrentState().shadowOffset.x = ToFloat(aShadowOffsetX);
+ }
+
+ double ShadowOffsetY()
+ {
+ return CurrentState().shadowOffset.y;
+ }
+
+ void SetShadowOffsetY(double aShadowOffsetY)
+ {
+ CurrentState().shadowOffset.y = ToFloat(aShadowOffsetY);
+ }
+
+ double ShadowBlur()
+ {
+ return CurrentState().shadowBlur;
+ }
+
+ void SetShadowBlur(double aShadowBlur)
+ {
+ if (aShadowBlur >= 0.0) {
+ CurrentState().shadowBlur = ToFloat(aShadowBlur);
+ }
+ }
+
+ void GetShadowColor(nsAString& aShadowColor)
+ {
+ StyleColorToString(CurrentState().shadowColor, aShadowColor);
+ }
+
+ void SetShadowColor(const nsAString& aShadowColor);
//
// 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;
--- a/dom/canvas/CanvasRenderingContext2D.cpp
+++ b/dom/canvas/CanvasRenderingContext2D.cpp
@@ -2130,30 +2130,16 @@ CanvasRenderingContext2D::GetFillRule(ns
case FillRule::FILL_WINDING:
aString.AssignLiteral("nonzero"); break;
case FillRule::FILL_EVEN_ODD:
aString.AssignLiteral("evenodd"); break;
}
}
//
-// shadows
-//
-void
-CanvasRenderingContext2D::SetShadowColor(const nsAString& aShadowColor)
-{
- nscolor color;
- if (!ParseColor(aShadowColor, &color)) {
- return;
- }
-
- CurrentState().shadowColor = color;
-}
-
-//
// filters
//
static already_AddRefed<Declaration>
CreateDeclaration(nsINode* aNode,
const nsCSSPropertyID aProp1, const nsAString& aValue1, bool* aChanged1,
const nsCSSPropertyID aProp2, const nsAString& aValue2, bool* aChanged2)
{
--- a/dom/canvas/CanvasRenderingContext2D.h
+++ b/dom/canvas/CanvasRenderingContext2D.h
@@ -69,59 +69,21 @@ public:
if (!mCanvasElement || mCanvasElement->IsInNativeAnonymousSubtree()) {
return nullptr;
}
// corresponds to changes to the old bindings made in bug 745025
return mCanvasElement->GetOriginalCanvas();
}
- double ShadowOffsetX() override
- {
- return CurrentState().shadowOffset.x;
- }
-
- void SetShadowOffsetX(double aShadowOffsetX) override
- {
- CurrentState().shadowOffset.x = ToFloat(aShadowOffsetX);
- }
-
- double ShadowOffsetY() override
- {
- return CurrentState().shadowOffset.y;
- }
-
- void SetShadowOffsetY(double aShadowOffsetY) override
- {
- CurrentState().shadowOffset.y = ToFloat(aShadowOffsetY);
- }
-
- double ShadowBlur() override
- {
- return CurrentState().shadowBlur;
- }
-
- void SetShadowBlur(double aShadowBlur) override
- {
- if (aShadowBlur >= 0.0) {
- CurrentState().shadowBlur = ToFloat(aShadowBlur);
- }
- }
-
- void GetShadowColor(nsAString& aShadowColor) override
- {
- StyleColorToString(CurrentState().shadowColor, aShadowColor);
- }
-
void GetFilter(nsAString& aFilter)
{
aFilter = CurrentState().filterString;
}
- void SetShadowColor(const nsAString& aShadowColor) override;
void SetFilter(const nsAString& aFilter, mozilla::ErrorResult& aError);
void ClearRect(double aX, double aY, double aW, double aH) override;
void FillRect(double aX, double aY, double aW, double aH) override;
void StrokeRect(double aX, double aY, double aW, double aH) override;
void BeginPath();
void Fill(const CanvasWindingRule& aWinding);
void Fill(const CanvasPath& aPath, const CanvasWindingRule& aWinding);
void Stroke();