Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim: set ts=2 et sw=2 tw=80: */
3 : /* This Source Code Form is subject to the terms of the Mozilla Public
4 : * License, v. 2.0. If a copy of the MPL was not distributed with this
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : /* DOM object representing values in DOM computed style */
8 :
9 : #ifndef mozilla_dom_CSSValue_h_
10 : #define mozilla_dom_CSSValue_h_
11 :
12 : #include "nsWrapperCache.h"
13 : #include "nsStringFwd.h"
14 :
15 : class nsROCSSPrimitiveValue;
16 : namespace mozilla {
17 : class ErrorResult;
18 : } // namespace mozilla
19 :
20 : namespace mozilla {
21 : namespace dom {
22 :
23 : /**
24 : * CSSValue - a DOM object representing values in DOM computed style.
25 : */
26 20 : class CSSValue : public nsISupports,
27 : public nsWrapperCache
28 : {
29 : public:
30 : // CSSValue
31 : virtual void GetCssText(nsString& aText, mozilla::ErrorResult& aRv) = 0;
32 : virtual void SetCssText(const nsAString& aText, mozilla::ErrorResult& aRv) = 0;
33 : virtual uint16_t CssValueType() const = 0;
34 :
35 : // Downcasting
36 :
37 : /**
38 : * Return this as a nsROCSSPrimitiveValue* if its a primitive value, and null
39 : * otherwise.
40 : */
41 : nsROCSSPrimitiveValue *AsPrimitiveValue();
42 : };
43 :
44 : } // namespace dom
45 : } // namespace mozilla
46 :
47 : #endif
|