From 89c44b8453dc7eebaebe655cf61f1a41c288fc0c Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Wed, 28 Oct 1998 02:02:47 +0000 Subject: [PATCH] Added in opacity git-svn-id: svn://10.0.0.236/trunk@13580 18797224-902f-48f8-a5cc-f745e15eee43 --- .../public/css/nsIDOMCSSStyleDeclaration.h | 7 ++++ .../public/idl/css/CSSStyleDeclaration.idl | 3 ++ .../dom/src/css/nsJSCSSStyleDeclaration.cpp | 32 ++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/mozilla/dom/public/css/nsIDOMCSSStyleDeclaration.h b/mozilla/dom/public/css/nsIDOMCSSStyleDeclaration.h index e4365d88428..461e99e1f71 100644 --- a/mozilla/dom/public/css/nsIDOMCSSStyleDeclaration.h +++ b/mozilla/dom/public/css/nsIDOMCSSStyleDeclaration.h @@ -400,6 +400,9 @@ public: NS_IMETHOD GetZIndex(nsString& aZIndex)=0; NS_IMETHOD SetZIndex(const nsString& aZIndex)=0; + NS_IMETHOD GetOpacity(nsString& aOpacity)=0; + NS_IMETHOD SetOpacity(const nsString& aOpacity)=0; + NS_IMETHOD GetPropertyValue(const nsString& aPropertyName, nsString& aReturn)=0; NS_IMETHOD GetPropertyPriority(const nsString& aPropertyName, nsString& aReturn)=0; @@ -656,6 +659,8 @@ public: NS_IMETHOD SetWordSpacing(const nsString& aWordSpacing); \ NS_IMETHOD GetZIndex(nsString& aZIndex); \ NS_IMETHOD SetZIndex(const nsString& aZIndex); \ + NS_IMETHOD GetOpacity(nsString& aOpacity); \ + NS_IMETHOD SetOpacity(const nsString& aOpacity); \ NS_IMETHOD GetPropertyValue(const nsString& aPropertyName, nsString& aReturn); \ NS_IMETHOD GetPropertyPriority(const nsString& aPropertyName, nsString& aReturn); \ NS_IMETHOD SetProperty(const nsString& aPropertyName, const nsString& aValue, const nsString& aPriority); \ @@ -909,6 +914,8 @@ public: NS_IMETHOD SetWordSpacing(const nsString& aWordSpacing) { return _to##SetWordSpacing(aWordSpacing); } \ NS_IMETHOD GetZIndex(nsString& aZIndex) { return _to##GetZIndex(aZIndex); } \ NS_IMETHOD SetZIndex(const nsString& aZIndex) { return _to##SetZIndex(aZIndex); } \ + NS_IMETHOD GetOpacity(nsString& aOpacity) { return _to##GetOpacity(aOpacity); } \ + NS_IMETHOD SetOpacity(const nsString& aOpacity) { return _to##SetOpacity(aOpacity); } \ NS_IMETHOD GetPropertyValue(const nsString& aPropertyName, nsString& aReturn) { return _to##GetPropertyValue(aPropertyName, aReturn); } \ NS_IMETHOD GetPropertyPriority(const nsString& aPropertyName, nsString& aReturn) { return _to##GetPropertyPriority(aPropertyName, aReturn); } \ NS_IMETHOD SetProperty(const nsString& aPropertyName, const nsString& aValue, const nsString& aPriority) { return _to##SetProperty(aPropertyName, aValue, aPriority); } \ diff --git a/mozilla/dom/public/idl/css/CSSStyleDeclaration.idl b/mozilla/dom/public/idl/css/CSSStyleDeclaration.idl index c17a302cad4..42a02d0f40e 100644 --- a/mozilla/dom/public/idl/css/CSSStyleDeclaration.idl +++ b/mozilla/dom/public/idl/css/CSSStyleDeclaration.idl @@ -131,6 +131,9 @@ attribute wstring width; attribute wstring wordSpacing; attribute wstring zIndex; + + /* XXX: kipp was here */ + attribute wstring opacity; }; diff --git a/mozilla/dom/src/css/nsJSCSSStyleDeclaration.cpp b/mozilla/dom/src/css/nsJSCSSStyleDeclaration.cpp index e74ea645ef9..98142aca3e7 100644 --- a/mozilla/dom/src/css/nsJSCSSStyleDeclaration.cpp +++ b/mozilla/dom/src/css/nsJSCSSStyleDeclaration.cpp @@ -161,7 +161,8 @@ enum CSSStyleDeclaration_slots { CSSSTYLEDECLARATION_WIDOWS = -120, CSSSTYLEDECLARATION_WIDTH = -121, CSSSTYLEDECLARATION_WORDSPACING = -122, - CSSSTYLEDECLARATION_ZINDEX = -123 + CSSSTYLEDECLARATION_ZINDEX = -123, + CSSSTYLEDECLARATION_OPACITY = -124 }; /***********************************************************************/ @@ -1777,6 +1778,19 @@ GetCSSStyleDeclarationProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp } break; } + case CSSSTYLEDECLARATION_OPACITY: + { + nsAutoString prop; + if (NS_OK == a->GetOpacity(prop)) { + JSString *jsstring = JS_NewUCStringCopyN(cx, prop, prop.Length()); + // set the return value + *vp = STRING_TO_JSVAL(jsstring); + } + else { + return JS_FALSE; + } + break; + } default: { nsAutoString prop; @@ -3650,6 +3664,21 @@ SetCSSStyleDeclarationProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp break; } + case CSSSTYLEDECLARATION_OPACITY: + { + nsAutoString prop; + JSString *jsstring; + if ((jsstring = JS_ValueToString(cx, *vp)) != nsnull) { + prop.SetString(JS_GetStringChars(jsstring)); + } + else { + prop.SetString((const char *)nsnull); + } + + a->SetOpacity(prop); + + break; + } default: { nsIJSScriptObject *object; @@ -4075,6 +4104,7 @@ static JSPropertySpec CSSStyleDeclarationProperties[] = {"width", CSSSTYLEDECLARATION_WIDTH, JSPROP_ENUMERATE}, {"wordSpacing", CSSSTYLEDECLARATION_WORDSPACING, JSPROP_ENUMERATE}, {"zIndex", CSSSTYLEDECLARATION_ZINDEX, JSPROP_ENUMERATE}, + {"opacity", CSSSTYLEDECLARATION_OPACITY, JSPROP_ENUMERATE}, {0} };