
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __org_w3c_dom_css_RGBColor__
#define __org_w3c_dom_css_RGBColor__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace w3c
    {
      namespace dom
      {
        namespace css
        {
            class CSSPrimitiveValue;
            class RGBColor;
        }
      }
    }
  }
}

class org::w3c::dom::css::RGBColor : public ::java::lang::Object
{

public:
  virtual ::org::w3c::dom::css::CSSPrimitiveValue * getRed() = 0;
  virtual ::org::w3c::dom::css::CSSPrimitiveValue * getGreen() = 0;
  virtual ::org::w3c::dom::css::CSSPrimitiveValue * getBlue() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_w3c_dom_css_RGBColor__
