/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM e:/builds/moz2_slave/m-cen-w32-xr-ntly-000000000000/build/dom/interfaces/svg/nsIDOMSVGFilters.idl
 */

#ifndef __gen_nsIDOMSVGFilters_h__
#define __gen_nsIDOMSVGFilters_h__


#ifndef __gen_nsIDOMSVGElement_h__
#include "nsIDOMSVGElement.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIDOMSVGAnimatedLength; /* forward declaration */

class nsIDOMSVGAnimatedString; /* forward declaration */

class nsIDOMSVGAnimatedNumber; /* forward declaration */

class nsIDOMSVGAnimatedEnumeration; /* forward declaration */

class nsIDOMSVGAnimatedInteger; /* forward declaration */


/* starting interface:    nsIDOMSVGFilterPrimitiveStandardAttributes */
#define NS_IDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES_IID_STR "4db427db-bbe2-4c22-875e-ed62c93cd759"

#define NS_IDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES_IID \
  {0x4db427db, 0xbbe2, 0x4c22, \
    { 0x87, 0x5e, 0xed, 0x62, 0xc9, 0x3c, 0xd7, 0x59 }}

class NS_NO_VTABLE nsIDOMSVGFilterPrimitiveStandardAttributes : public nsIDOMSVGElement {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES_IID)

  /* readonly attribute nsIDOMSVGAnimatedLength x; */
  NS_IMETHOD GetX(nsIDOMSVGAnimatedLength * *aX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedLength y; */
  NS_IMETHOD GetY(nsIDOMSVGAnimatedLength * *aY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedLength width; */
  NS_IMETHOD GetWidth(nsIDOMSVGAnimatedLength * *aWidth) = 0;

  /* readonly attribute nsIDOMSVGAnimatedLength height; */
  NS_IMETHOD GetHeight(nsIDOMSVGAnimatedLength * *aHeight) = 0;

  /* readonly attribute nsIDOMSVGAnimatedString result; */
  NS_IMETHOD GetResult(nsIDOMSVGAnimatedString * *aResult) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFilterPrimitiveStandardAttributes, NS_IDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedLength * *aX); \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedLength * *aY); \
  NS_IMETHOD GetWidth(nsIDOMSVGAnimatedLength * *aWidth); \
  NS_IMETHOD GetHeight(nsIDOMSVGAnimatedLength * *aHeight); \
  NS_IMETHOD GetResult(nsIDOMSVGAnimatedString * *aResult); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES(_to) \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedLength * *aX) { return _to GetX(aX); } \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedLength * *aY) { return _to GetY(aY); } \
  NS_IMETHOD GetWidth(nsIDOMSVGAnimatedLength * *aWidth) { return _to GetWidth(aWidth); } \
  NS_IMETHOD GetHeight(nsIDOMSVGAnimatedLength * *aHeight) { return _to GetHeight(aHeight); } \
  NS_IMETHOD GetResult(nsIDOMSVGAnimatedString * *aResult) { return _to GetResult(aResult); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES(_to) \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedLength * *aX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetX(aX); } \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedLength * *aY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetY(aY); } \
  NS_IMETHOD GetWidth(nsIDOMSVGAnimatedLength * *aWidth) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWidth(aWidth); } \
  NS_IMETHOD GetHeight(nsIDOMSVGAnimatedLength * *aHeight) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHeight(aHeight); } \
  NS_IMETHOD GetResult(nsIDOMSVGAnimatedString * *aResult) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResult(aResult); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFilterPrimitiveStandardAttributes : public nsIDOMSVGFilterPrimitiveStandardAttributes
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES

  nsDOMSVGFilterPrimitiveStandardAttributes();

private:
  ~nsDOMSVGFilterPrimitiveStandardAttributes();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFilterPrimitiveStandardAttributes, nsIDOMSVGFilterPrimitiveStandardAttributes)

nsDOMSVGFilterPrimitiveStandardAttributes::nsDOMSVGFilterPrimitiveStandardAttributes()
{
  /* member initializers and constructor code */
}

nsDOMSVGFilterPrimitiveStandardAttributes::~nsDOMSVGFilterPrimitiveStandardAttributes()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedLength x; */
NS_IMETHODIMP nsDOMSVGFilterPrimitiveStandardAttributes::GetX(nsIDOMSVGAnimatedLength * *aX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedLength y; */
NS_IMETHODIMP nsDOMSVGFilterPrimitiveStandardAttributes::GetY(nsIDOMSVGAnimatedLength * *aY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedLength width; */
NS_IMETHODIMP nsDOMSVGFilterPrimitiveStandardAttributes::GetWidth(nsIDOMSVGAnimatedLength * *aWidth)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedLength height; */
NS_IMETHODIMP nsDOMSVGFilterPrimitiveStandardAttributes::GetHeight(nsIDOMSVGAnimatedLength * *aHeight)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedString result; */
NS_IMETHODIMP nsDOMSVGFilterPrimitiveStandardAttributes::GetResult(nsIDOMSVGAnimatedString * *aResult)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFEOffsetElement */
#define NS_IDOMSVGFEOFFSETELEMENT_IID_STR "4fa9fbbe-482c-418a-afd1-d51b003f5a04"

#define NS_IDOMSVGFEOFFSETELEMENT_IID \
  {0x4fa9fbbe, 0x482c, 0x418a, \
    { 0xaf, 0xd1, 0xd5, 0x1b, 0x00, 0x3f, 0x5a, 0x04 }}

class NS_NO_VTABLE nsIDOMSVGFEOffsetElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFEOFFSETELEMENT_IID)

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber dx; */
  NS_IMETHOD GetDx(nsIDOMSVGAnimatedNumber * *aDx) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber dy; */
  NS_IMETHOD GetDy(nsIDOMSVGAnimatedNumber * *aDy) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFEOffsetElement, NS_IDOMSVGFEOFFSETELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFEOFFSETELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetDx(nsIDOMSVGAnimatedNumber * *aDx); \
  NS_IMETHOD GetDy(nsIDOMSVGAnimatedNumber * *aDy); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFEOFFSETELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetDx(nsIDOMSVGAnimatedNumber * *aDx) { return _to GetDx(aDx); } \
  NS_IMETHOD GetDy(nsIDOMSVGAnimatedNumber * *aDy) { return _to GetDy(aDy); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFEOFFSETELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetDx(nsIDOMSVGAnimatedNumber * *aDx) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDx(aDx); } \
  NS_IMETHOD GetDy(nsIDOMSVGAnimatedNumber * *aDy) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDy(aDy); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFEOffsetElement : public nsIDOMSVGFEOffsetElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFEOFFSETELEMENT

  nsDOMSVGFEOffsetElement();

private:
  ~nsDOMSVGFEOffsetElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFEOffsetElement, nsIDOMSVGFEOffsetElement)

nsDOMSVGFEOffsetElement::nsDOMSVGFEOffsetElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFEOffsetElement::~nsDOMSVGFEOffsetElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFEOffsetElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber dx; */
NS_IMETHODIMP nsDOMSVGFEOffsetElement::GetDx(nsIDOMSVGAnimatedNumber * *aDx)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber dy; */
NS_IMETHODIMP nsDOMSVGFEOffsetElement::GetDy(nsIDOMSVGAnimatedNumber * *aDy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFETurbulenceElement */
#define NS_IDOMSVGFETURBULENCEELEMENT_IID_STR "b0f8b61c-7825-4149-a295-c85604ec50fa"

#define NS_IDOMSVGFETURBULENCEELEMENT_IID \
  {0xb0f8b61c, 0x7825, 0x4149, \
    { 0xa2, 0x95, 0xc8, 0x56, 0x04, 0xec, 0x50, 0xfa }}

class NS_NO_VTABLE nsIDOMSVGFETurbulenceElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFETURBULENCEELEMENT_IID)

  enum {
    SVG_TURBULENCE_TYPE_UNKNOWN = 0U,
    SVG_TURBULENCE_TYPE_FRACTALNOISE = 1U,
    SVG_TURBULENCE_TYPE_TURBULENCE = 2U,
    SVG_STITCHTYPE_UNKNOWN = 0U,
    SVG_STITCHTYPE_STITCH = 1U,
    SVG_STITCHTYPE_NOSTITCH = 2U
  };

  /* readonly attribute nsIDOMSVGAnimatedNumber baseFrequencyX; */
  NS_IMETHOD GetBaseFrequencyX(nsIDOMSVGAnimatedNumber * *aBaseFrequencyX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber baseFrequencyY; */
  NS_IMETHOD GetBaseFrequencyY(nsIDOMSVGAnimatedNumber * *aBaseFrequencyY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedInteger numOctaves; */
  NS_IMETHOD GetNumOctaves(nsIDOMSVGAnimatedInteger * *aNumOctaves) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber seed; */
  NS_IMETHOD GetSeed(nsIDOMSVGAnimatedNumber * *aSeed) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration stitchTiles; */
  NS_IMETHOD GetStitchTiles(nsIDOMSVGAnimatedEnumeration * *aStitchTiles) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration type; */
  NS_IMETHOD GetType(nsIDOMSVGAnimatedEnumeration * *aType) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFETurbulenceElement, NS_IDOMSVGFETURBULENCEELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFETURBULENCEELEMENT \
  NS_IMETHOD GetBaseFrequencyX(nsIDOMSVGAnimatedNumber * *aBaseFrequencyX); \
  NS_IMETHOD GetBaseFrequencyY(nsIDOMSVGAnimatedNumber * *aBaseFrequencyY); \
  NS_IMETHOD GetNumOctaves(nsIDOMSVGAnimatedInteger * *aNumOctaves); \
  NS_IMETHOD GetSeed(nsIDOMSVGAnimatedNumber * *aSeed); \
  NS_IMETHOD GetStitchTiles(nsIDOMSVGAnimatedEnumeration * *aStitchTiles); \
  NS_IMETHOD GetType(nsIDOMSVGAnimatedEnumeration * *aType); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFETURBULENCEELEMENT(_to) \
  NS_IMETHOD GetBaseFrequencyX(nsIDOMSVGAnimatedNumber * *aBaseFrequencyX) { return _to GetBaseFrequencyX(aBaseFrequencyX); } \
  NS_IMETHOD GetBaseFrequencyY(nsIDOMSVGAnimatedNumber * *aBaseFrequencyY) { return _to GetBaseFrequencyY(aBaseFrequencyY); } \
  NS_IMETHOD GetNumOctaves(nsIDOMSVGAnimatedInteger * *aNumOctaves) { return _to GetNumOctaves(aNumOctaves); } \
  NS_IMETHOD GetSeed(nsIDOMSVGAnimatedNumber * *aSeed) { return _to GetSeed(aSeed); } \
  NS_IMETHOD GetStitchTiles(nsIDOMSVGAnimatedEnumeration * *aStitchTiles) { return _to GetStitchTiles(aStitchTiles); } \
  NS_IMETHOD GetType(nsIDOMSVGAnimatedEnumeration * *aType) { return _to GetType(aType); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFETURBULENCEELEMENT(_to) \
  NS_IMETHOD GetBaseFrequencyX(nsIDOMSVGAnimatedNumber * *aBaseFrequencyX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBaseFrequencyX(aBaseFrequencyX); } \
  NS_IMETHOD GetBaseFrequencyY(nsIDOMSVGAnimatedNumber * *aBaseFrequencyY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBaseFrequencyY(aBaseFrequencyY); } \
  NS_IMETHOD GetNumOctaves(nsIDOMSVGAnimatedInteger * *aNumOctaves) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNumOctaves(aNumOctaves); } \
  NS_IMETHOD GetSeed(nsIDOMSVGAnimatedNumber * *aSeed) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSeed(aSeed); } \
  NS_IMETHOD GetStitchTiles(nsIDOMSVGAnimatedEnumeration * *aStitchTiles) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStitchTiles(aStitchTiles); } \
  NS_IMETHOD GetType(nsIDOMSVGAnimatedEnumeration * *aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFETurbulenceElement : public nsIDOMSVGFETurbulenceElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFETURBULENCEELEMENT

  nsDOMSVGFETurbulenceElement();

private:
  ~nsDOMSVGFETurbulenceElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFETurbulenceElement, nsIDOMSVGFETurbulenceElement)

nsDOMSVGFETurbulenceElement::nsDOMSVGFETurbulenceElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFETurbulenceElement::~nsDOMSVGFETurbulenceElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedNumber baseFrequencyX; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetBaseFrequencyX(nsIDOMSVGAnimatedNumber * *aBaseFrequencyX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber baseFrequencyY; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetBaseFrequencyY(nsIDOMSVGAnimatedNumber * *aBaseFrequencyY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedInteger numOctaves; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetNumOctaves(nsIDOMSVGAnimatedInteger * *aNumOctaves)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber seed; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetSeed(nsIDOMSVGAnimatedNumber * *aSeed)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration stitchTiles; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetStitchTiles(nsIDOMSVGAnimatedEnumeration * *aStitchTiles)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration type; */
NS_IMETHODIMP nsDOMSVGFETurbulenceElement::GetType(nsIDOMSVGAnimatedEnumeration * *aType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFEMorphologyElement */
#define NS_IDOMSVGFEMORPHOLOGYELEMENT_IID_STR "655154fa-ad26-45b5-81b1-988986707ee4"

#define NS_IDOMSVGFEMORPHOLOGYELEMENT_IID \
  {0x655154fa, 0xad26, 0x45b5, \
    { 0x81, 0xb1, 0x98, 0x89, 0x86, 0x70, 0x7e, 0xe4 }}

class NS_NO_VTABLE nsIDOMSVGFEMorphologyElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFEMORPHOLOGYELEMENT_IID)

  enum {
    SVG_OPERATOR_UNKNOWN = 0U,
    SVG_OPERATOR_ERODE = 1U,
    SVG_OPERATOR_DILATE = 2U
  };

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber radiusX; */
  NS_IMETHOD GetRadiusX(nsIDOMSVGAnimatedNumber * *aRadiusX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber radiusY; */
  NS_IMETHOD GetRadiusY(nsIDOMSVGAnimatedNumber * *aRadiusY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration operator; */
  NS_IMETHOD GetOperator(nsIDOMSVGAnimatedEnumeration * *aOperator) = 0;

  /* void setRadius (in float rx, in float ry); */
  NS_IMETHOD SetRadius(float rx, float ry) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFEMorphologyElement, NS_IDOMSVGFEMORPHOLOGYELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFEMORPHOLOGYELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetRadiusX(nsIDOMSVGAnimatedNumber * *aRadiusX); \
  NS_IMETHOD GetRadiusY(nsIDOMSVGAnimatedNumber * *aRadiusY); \
  NS_IMETHOD GetOperator(nsIDOMSVGAnimatedEnumeration * *aOperator); \
  NS_IMETHOD SetRadius(float rx, float ry); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFEMORPHOLOGYELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetRadiusX(nsIDOMSVGAnimatedNumber * *aRadiusX) { return _to GetRadiusX(aRadiusX); } \
  NS_IMETHOD GetRadiusY(nsIDOMSVGAnimatedNumber * *aRadiusY) { return _to GetRadiusY(aRadiusY); } \
  NS_IMETHOD GetOperator(nsIDOMSVGAnimatedEnumeration * *aOperator) { return _to GetOperator(aOperator); } \
  NS_IMETHOD SetRadius(float rx, float ry) { return _to SetRadius(rx, ry); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFEMORPHOLOGYELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetRadiusX(nsIDOMSVGAnimatedNumber * *aRadiusX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRadiusX(aRadiusX); } \
  NS_IMETHOD GetRadiusY(nsIDOMSVGAnimatedNumber * *aRadiusY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRadiusY(aRadiusY); } \
  NS_IMETHOD GetOperator(nsIDOMSVGAnimatedEnumeration * *aOperator) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOperator(aOperator); } \
  NS_IMETHOD SetRadius(float rx, float ry) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRadius(rx, ry); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFEMorphologyElement : public nsIDOMSVGFEMorphologyElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFEMORPHOLOGYELEMENT

  nsDOMSVGFEMorphologyElement();

private:
  ~nsDOMSVGFEMorphologyElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFEMorphologyElement, nsIDOMSVGFEMorphologyElement)

nsDOMSVGFEMorphologyElement::nsDOMSVGFEMorphologyElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFEMorphologyElement::~nsDOMSVGFEMorphologyElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFEMorphologyElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber radiusX; */
NS_IMETHODIMP nsDOMSVGFEMorphologyElement::GetRadiusX(nsIDOMSVGAnimatedNumber * *aRadiusX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber radiusY; */
NS_IMETHODIMP nsDOMSVGFEMorphologyElement::GetRadiusY(nsIDOMSVGAnimatedNumber * *aRadiusY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration operator; */
NS_IMETHODIMP nsDOMSVGFEMorphologyElement::GetOperator(nsIDOMSVGAnimatedEnumeration * *aOperator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setRadius (in float rx, in float ry); */
NS_IMETHODIMP nsDOMSVGFEMorphologyElement::SetRadius(float rx, float ry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFEConvolveMatrixElement */
#define NS_IDOMSVGFECONVOLVEMATRIXELEMENT_IID_STR "658c2d9c-01aa-4896-a35a-c42147fcf004"

#define NS_IDOMSVGFECONVOLVEMATRIXELEMENT_IID \
  {0x658c2d9c, 0x01aa, 0x4896, \
    { 0xa3, 0x5a, 0xc4, 0x21, 0x47, 0xfc, 0xf0, 0x04 }}

class NS_NO_VTABLE nsIDOMSVGFEConvolveMatrixElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFECONVOLVEMATRIXELEMENT_IID)

  enum {
    SVG_EDGEMODE_UNKNOWN = 0U,
    SVG_EDGEMODE_DUPLICATE = 1U,
    SVG_EDGEMODE_WRAP = 2U,
    SVG_EDGEMODE_NONE = 3U
  };

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedInteger orderX; */
  NS_IMETHOD GetOrderX(nsIDOMSVGAnimatedInteger * *aOrderX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedInteger orderY; */
  NS_IMETHOD GetOrderY(nsIDOMSVGAnimatedInteger * *aOrderY) = 0;

  /* readonly attribute nsISupports kernelMatrix; */
  NS_IMETHOD GetKernelMatrix(nsISupports * *aKernelMatrix) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber divisor; */
  NS_IMETHOD GetDivisor(nsIDOMSVGAnimatedNumber * *aDivisor) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber bias; */
  NS_IMETHOD GetBias(nsIDOMSVGAnimatedNumber * *aBias) = 0;

  /* readonly attribute nsIDOMSVGAnimatedInteger targetX; */
  NS_IMETHOD GetTargetX(nsIDOMSVGAnimatedInteger * *aTargetX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedInteger targetY; */
  NS_IMETHOD GetTargetY(nsIDOMSVGAnimatedInteger * *aTargetY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration edgeMode; */
  NS_IMETHOD GetEdgeMode(nsIDOMSVGAnimatedEnumeration * *aEdgeMode) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) = 0;

  /* readonly attribute nsISupports preserveAlpha; */
  NS_IMETHOD GetPreserveAlpha(nsISupports * *aPreserveAlpha) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFEConvolveMatrixElement, NS_IDOMSVGFECONVOLVEMATRIXELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFECONVOLVEMATRIXELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetOrderX(nsIDOMSVGAnimatedInteger * *aOrderX); \
  NS_IMETHOD GetOrderY(nsIDOMSVGAnimatedInteger * *aOrderY); \
  NS_IMETHOD GetKernelMatrix(nsISupports * *aKernelMatrix); \
  NS_IMETHOD GetDivisor(nsIDOMSVGAnimatedNumber * *aDivisor); \
  NS_IMETHOD GetBias(nsIDOMSVGAnimatedNumber * *aBias); \
  NS_IMETHOD GetTargetX(nsIDOMSVGAnimatedInteger * *aTargetX); \
  NS_IMETHOD GetTargetY(nsIDOMSVGAnimatedInteger * *aTargetY); \
  NS_IMETHOD GetEdgeMode(nsIDOMSVGAnimatedEnumeration * *aEdgeMode); \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX); \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY); \
  NS_IMETHOD GetPreserveAlpha(nsISupports * *aPreserveAlpha); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFECONVOLVEMATRIXELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetOrderX(nsIDOMSVGAnimatedInteger * *aOrderX) { return _to GetOrderX(aOrderX); } \
  NS_IMETHOD GetOrderY(nsIDOMSVGAnimatedInteger * *aOrderY) { return _to GetOrderY(aOrderY); } \
  NS_IMETHOD GetKernelMatrix(nsISupports * *aKernelMatrix) { return _to GetKernelMatrix(aKernelMatrix); } \
  NS_IMETHOD GetDivisor(nsIDOMSVGAnimatedNumber * *aDivisor) { return _to GetDivisor(aDivisor); } \
  NS_IMETHOD GetBias(nsIDOMSVGAnimatedNumber * *aBias) { return _to GetBias(aBias); } \
  NS_IMETHOD GetTargetX(nsIDOMSVGAnimatedInteger * *aTargetX) { return _to GetTargetX(aTargetX); } \
  NS_IMETHOD GetTargetY(nsIDOMSVGAnimatedInteger * *aTargetY) { return _to GetTargetY(aTargetY); } \
  NS_IMETHOD GetEdgeMode(nsIDOMSVGAnimatedEnumeration * *aEdgeMode) { return _to GetEdgeMode(aEdgeMode); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return _to GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return _to GetKernelUnitLengthY(aKernelUnitLengthY); } \
  NS_IMETHOD GetPreserveAlpha(nsISupports * *aPreserveAlpha) { return _to GetPreserveAlpha(aPreserveAlpha); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFECONVOLVEMATRIXELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetOrderX(nsIDOMSVGAnimatedInteger * *aOrderX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOrderX(aOrderX); } \
  NS_IMETHOD GetOrderY(nsIDOMSVGAnimatedInteger * *aOrderY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOrderY(aOrderY); } \
  NS_IMETHOD GetKernelMatrix(nsISupports * *aKernelMatrix) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelMatrix(aKernelMatrix); } \
  NS_IMETHOD GetDivisor(nsIDOMSVGAnimatedNumber * *aDivisor) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDivisor(aDivisor); } \
  NS_IMETHOD GetBias(nsIDOMSVGAnimatedNumber * *aBias) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBias(aBias); } \
  NS_IMETHOD GetTargetX(nsIDOMSVGAnimatedInteger * *aTargetX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTargetX(aTargetX); } \
  NS_IMETHOD GetTargetY(nsIDOMSVGAnimatedInteger * *aTargetY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTargetY(aTargetY); } \
  NS_IMETHOD GetEdgeMode(nsIDOMSVGAnimatedEnumeration * *aEdgeMode) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEdgeMode(aEdgeMode); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthY(aKernelUnitLengthY); } \
  NS_IMETHOD GetPreserveAlpha(nsISupports * *aPreserveAlpha) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPreserveAlpha(aPreserveAlpha); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFEConvolveMatrixElement : public nsIDOMSVGFEConvolveMatrixElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFECONVOLVEMATRIXELEMENT

  nsDOMSVGFEConvolveMatrixElement();

private:
  ~nsDOMSVGFEConvolveMatrixElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFEConvolveMatrixElement, nsIDOMSVGFEConvolveMatrixElement)

nsDOMSVGFEConvolveMatrixElement::nsDOMSVGFEConvolveMatrixElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFEConvolveMatrixElement::~nsDOMSVGFEConvolveMatrixElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedInteger orderX; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetOrderX(nsIDOMSVGAnimatedInteger * *aOrderX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedInteger orderY; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetOrderY(nsIDOMSVGAnimatedInteger * *aOrderY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISupports kernelMatrix; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetKernelMatrix(nsISupports * *aKernelMatrix)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber divisor; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetDivisor(nsIDOMSVGAnimatedNumber * *aDivisor)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber bias; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetBias(nsIDOMSVGAnimatedNumber * *aBias)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedInteger targetX; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetTargetX(nsIDOMSVGAnimatedInteger * *aTargetX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedInteger targetY; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetTargetY(nsIDOMSVGAnimatedInteger * *aTargetY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration edgeMode; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetEdgeMode(nsIDOMSVGAnimatedEnumeration * *aEdgeMode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISupports preserveAlpha; */
NS_IMETHODIMP nsDOMSVGFEConvolveMatrixElement::GetPreserveAlpha(nsISupports * *aPreserveAlpha)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFEDiffuseLightingElement */
#define NS_IDOMSVGFEDIFFUSELIGHTINGELEMENT_IID_STR "44b5d9f8-87ec-46e7-9d55-115edbeebdd6"

#define NS_IDOMSVGFEDIFFUSELIGHTINGELEMENT_IID \
  {0x44b5d9f8, 0x87ec, 0x46e7, \
    { 0x9d, 0x55, 0x11, 0x5e, 0xdb, 0xee, 0xbd, 0xd6 }}

class NS_NO_VTABLE nsIDOMSVGFEDiffuseLightingElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFEDIFFUSELIGHTINGELEMENT_IID)

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber surfaceScale; */
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber diffuseConstant; */
  NS_IMETHOD GetDiffuseConstant(nsIDOMSVGAnimatedNumber * *aDiffuseConstant) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFEDiffuseLightingElement, NS_IDOMSVGFEDIFFUSELIGHTINGELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFEDIFFUSELIGHTINGELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale); \
  NS_IMETHOD GetDiffuseConstant(nsIDOMSVGAnimatedNumber * *aDiffuseConstant); \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX); \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFEDIFFUSELIGHTINGELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) { return _to GetSurfaceScale(aSurfaceScale); } \
  NS_IMETHOD GetDiffuseConstant(nsIDOMSVGAnimatedNumber * *aDiffuseConstant) { return _to GetDiffuseConstant(aDiffuseConstant); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return _to GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return _to GetKernelUnitLengthY(aKernelUnitLengthY); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFEDIFFUSELIGHTINGELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSurfaceScale(aSurfaceScale); } \
  NS_IMETHOD GetDiffuseConstant(nsIDOMSVGAnimatedNumber * *aDiffuseConstant) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDiffuseConstant(aDiffuseConstant); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthY(aKernelUnitLengthY); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFEDiffuseLightingElement : public nsIDOMSVGFEDiffuseLightingElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFEDIFFUSELIGHTINGELEMENT

  nsDOMSVGFEDiffuseLightingElement();

private:
  ~nsDOMSVGFEDiffuseLightingElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFEDiffuseLightingElement, nsIDOMSVGFEDiffuseLightingElement)

nsDOMSVGFEDiffuseLightingElement::nsDOMSVGFEDiffuseLightingElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFEDiffuseLightingElement::~nsDOMSVGFEDiffuseLightingElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFEDiffuseLightingElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber surfaceScale; */
NS_IMETHODIMP nsDOMSVGFEDiffuseLightingElement::GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber diffuseConstant; */
NS_IMETHODIMP nsDOMSVGFEDiffuseLightingElement::GetDiffuseConstant(nsIDOMSVGAnimatedNumber * *aDiffuseConstant)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
NS_IMETHODIMP nsDOMSVGFEDiffuseLightingElement::GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
NS_IMETHODIMP nsDOMSVGFEDiffuseLightingElement::GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFESpecularLightingElement */
#define NS_IDOMSVGFESPECULARLIGHTINGELEMENT_IID_STR "2426a9ec-d891-47a8-bab6-d32b10fc5e81"

#define NS_IDOMSVGFESPECULARLIGHTINGELEMENT_IID \
  {0x2426a9ec, 0xd891, 0x47a8, \
    { 0xba, 0xb6, 0xd3, 0x2b, 0x10, 0xfc, 0x5e, 0x81 }}

class NS_NO_VTABLE nsIDOMSVGFESpecularLightingElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFESPECULARLIGHTINGELEMENT_IID)

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber surfaceScale; */
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber specularConstant; */
  NS_IMETHOD GetSpecularConstant(nsIDOMSVGAnimatedNumber * *aSpecularConstant) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber specularExponent; */
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFESpecularLightingElement, NS_IDOMSVGFESPECULARLIGHTINGELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFESPECULARLIGHTINGELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale); \
  NS_IMETHOD GetSpecularConstant(nsIDOMSVGAnimatedNumber * *aSpecularConstant); \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent); \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX); \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFESPECULARLIGHTINGELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) { return _to GetSurfaceScale(aSurfaceScale); } \
  NS_IMETHOD GetSpecularConstant(nsIDOMSVGAnimatedNumber * *aSpecularConstant) { return _to GetSpecularConstant(aSpecularConstant); } \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) { return _to GetSpecularExponent(aSpecularExponent); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return _to GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return _to GetKernelUnitLengthY(aKernelUnitLengthY); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFESPECULARLIGHTINGELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSurfaceScale(aSurfaceScale); } \
  NS_IMETHOD GetSpecularConstant(nsIDOMSVGAnimatedNumber * *aSpecularConstant) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpecularConstant(aSpecularConstant); } \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpecularExponent(aSpecularExponent); } \
  NS_IMETHOD GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthX(aKernelUnitLengthX); } \
  NS_IMETHOD GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKernelUnitLengthY(aKernelUnitLengthY); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFESpecularLightingElement : public nsIDOMSVGFESpecularLightingElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFESPECULARLIGHTINGELEMENT

  nsDOMSVGFESpecularLightingElement();

private:
  ~nsDOMSVGFESpecularLightingElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFESpecularLightingElement, nsIDOMSVGFESpecularLightingElement)

nsDOMSVGFESpecularLightingElement::nsDOMSVGFESpecularLightingElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFESpecularLightingElement::~nsDOMSVGFESpecularLightingElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber surfaceScale; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetSurfaceScale(nsIDOMSVGAnimatedNumber * *aSurfaceScale)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber specularConstant; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetSpecularConstant(nsIDOMSVGAnimatedNumber * *aSpecularConstant)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber specularExponent; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetKernelUnitLengthX(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY; */
NS_IMETHODIMP nsDOMSVGFESpecularLightingElement::GetKernelUnitLengthY(nsIDOMSVGAnimatedNumber * *aKernelUnitLengthY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFESpotLightElement */
#define NS_IDOMSVGFESPOTLIGHTELEMENT_IID_STR "91cc30ef-4b48-4a11-8d29-13f8ffe28821"

#define NS_IDOMSVGFESPOTLIGHTELEMENT_IID \
  {0x91cc30ef, 0x4b48, 0x4a11, \
    { 0x8d, 0x29, 0x13, 0xf8, 0xff, 0xe2, 0x88, 0x21 }}

class NS_NO_VTABLE nsIDOMSVGFESpotLightElement : public nsIDOMSVGElement {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFESPOTLIGHTELEMENT_IID)

  /* readonly attribute nsIDOMSVGAnimatedNumber x; */
  NS_IMETHOD GetX(nsIDOMSVGAnimatedNumber * *aX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber y; */
  NS_IMETHOD GetY(nsIDOMSVGAnimatedNumber * *aY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber z; */
  NS_IMETHOD GetZ(nsIDOMSVGAnimatedNumber * *aZ) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber pointsAtX; */
  NS_IMETHOD GetPointsAtX(nsIDOMSVGAnimatedNumber * *aPointsAtX) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber pointsAtY; */
  NS_IMETHOD GetPointsAtY(nsIDOMSVGAnimatedNumber * *aPointsAtY) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber pointsAtZ; */
  NS_IMETHOD GetPointsAtZ(nsIDOMSVGAnimatedNumber * *aPointsAtZ) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber specularExponent; */
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle; */
  NS_IMETHOD GetLimitingConeAngle(nsIDOMSVGAnimatedNumber * *aLimitingConeAngle) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFESpotLightElement, NS_IDOMSVGFESPOTLIGHTELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFESPOTLIGHTELEMENT \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedNumber * *aX); \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedNumber * *aY); \
  NS_IMETHOD GetZ(nsIDOMSVGAnimatedNumber * *aZ); \
  NS_IMETHOD GetPointsAtX(nsIDOMSVGAnimatedNumber * *aPointsAtX); \
  NS_IMETHOD GetPointsAtY(nsIDOMSVGAnimatedNumber * *aPointsAtY); \
  NS_IMETHOD GetPointsAtZ(nsIDOMSVGAnimatedNumber * *aPointsAtZ); \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent); \
  NS_IMETHOD GetLimitingConeAngle(nsIDOMSVGAnimatedNumber * *aLimitingConeAngle); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFESPOTLIGHTELEMENT(_to) \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedNumber * *aX) { return _to GetX(aX); } \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedNumber * *aY) { return _to GetY(aY); } \
  NS_IMETHOD GetZ(nsIDOMSVGAnimatedNumber * *aZ) { return _to GetZ(aZ); } \
  NS_IMETHOD GetPointsAtX(nsIDOMSVGAnimatedNumber * *aPointsAtX) { return _to GetPointsAtX(aPointsAtX); } \
  NS_IMETHOD GetPointsAtY(nsIDOMSVGAnimatedNumber * *aPointsAtY) { return _to GetPointsAtY(aPointsAtY); } \
  NS_IMETHOD GetPointsAtZ(nsIDOMSVGAnimatedNumber * *aPointsAtZ) { return _to GetPointsAtZ(aPointsAtZ); } \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) { return _to GetSpecularExponent(aSpecularExponent); } \
  NS_IMETHOD GetLimitingConeAngle(nsIDOMSVGAnimatedNumber * *aLimitingConeAngle) { return _to GetLimitingConeAngle(aLimitingConeAngle); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFESPOTLIGHTELEMENT(_to) \
  NS_IMETHOD GetX(nsIDOMSVGAnimatedNumber * *aX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetX(aX); } \
  NS_IMETHOD GetY(nsIDOMSVGAnimatedNumber * *aY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetY(aY); } \
  NS_IMETHOD GetZ(nsIDOMSVGAnimatedNumber * *aZ) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetZ(aZ); } \
  NS_IMETHOD GetPointsAtX(nsIDOMSVGAnimatedNumber * *aPointsAtX) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPointsAtX(aPointsAtX); } \
  NS_IMETHOD GetPointsAtY(nsIDOMSVGAnimatedNumber * *aPointsAtY) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPointsAtY(aPointsAtY); } \
  NS_IMETHOD GetPointsAtZ(nsIDOMSVGAnimatedNumber * *aPointsAtZ) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPointsAtZ(aPointsAtZ); } \
  NS_IMETHOD GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpecularExponent(aSpecularExponent); } \
  NS_IMETHOD GetLimitingConeAngle(nsIDOMSVGAnimatedNumber * *aLimitingConeAngle) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLimitingConeAngle(aLimitingConeAngle); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFESpotLightElement : public nsIDOMSVGFESpotLightElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFESPOTLIGHTELEMENT

  nsDOMSVGFESpotLightElement();

private:
  ~nsDOMSVGFESpotLightElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFESpotLightElement, nsIDOMSVGFESpotLightElement)

nsDOMSVGFESpotLightElement::nsDOMSVGFESpotLightElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFESpotLightElement::~nsDOMSVGFESpotLightElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedNumber x; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetX(nsIDOMSVGAnimatedNumber * *aX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber y; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetY(nsIDOMSVGAnimatedNumber * *aY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber z; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetZ(nsIDOMSVGAnimatedNumber * *aZ)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber pointsAtX; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetPointsAtX(nsIDOMSVGAnimatedNumber * *aPointsAtX)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber pointsAtY; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetPointsAtY(nsIDOMSVGAnimatedNumber * *aPointsAtY)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber pointsAtZ; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetPointsAtZ(nsIDOMSVGAnimatedNumber * *aPointsAtZ)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber specularExponent; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetSpecularExponent(nsIDOMSVGAnimatedNumber * *aSpecularExponent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle; */
NS_IMETHODIMP nsDOMSVGFESpotLightElement::GetLimitingConeAngle(nsIDOMSVGAnimatedNumber * *aLimitingConeAngle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    nsIDOMSVGFEDisplacementMapElement */
#define NS_IDOMSVGFEDISPLACEMENTMAPELEMENT_IID_STR "64bd5e60-5961-4db5-a7ab-718354491fcb"

#define NS_IDOMSVGFEDISPLACEMENTMAPELEMENT_IID \
  {0x64bd5e60, 0x5961, 0x4db5, \
    { 0xa7, 0xab, 0x71, 0x83, 0x54, 0x49, 0x1f, 0xcb }}

class NS_NO_VTABLE nsIDOMSVGFEDisplacementMapElement : public nsIDOMSVGFilterPrimitiveStandardAttributes {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IDOMSVGFEDISPLACEMENTMAPELEMENT_IID)

  enum {
    SVG_CHANNEL_UNKNOWN = 0U,
    SVG_CHANNEL_R = 1U,
    SVG_CHANNEL_G = 2U,
    SVG_CHANNEL_B = 3U,
    SVG_CHANNEL_A = 4U
  };

  /* readonly attribute nsIDOMSVGAnimatedString in1; */
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) = 0;

  /* readonly attribute nsIDOMSVGAnimatedString in2; */
  NS_IMETHOD GetIn2(nsIDOMSVGAnimatedString * *aIn2) = 0;

  /* readonly attribute nsIDOMSVGAnimatedNumber scale; */
  NS_IMETHOD GetScale(nsIDOMSVGAnimatedNumber * *aScale) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration xChannelSelector; */
  NS_IMETHOD GetXChannelSelector(nsIDOMSVGAnimatedEnumeration * *aXChannelSelector) = 0;

  /* readonly attribute nsIDOMSVGAnimatedEnumeration yChannelSelector; */
  NS_IMETHOD GetYChannelSelector(nsIDOMSVGAnimatedEnumeration * *aYChannelSelector) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIDOMSVGFEDisplacementMapElement, NS_IDOMSVGFEDISPLACEMENTMAPELEMENT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDOMSVGFEDISPLACEMENTMAPELEMENT \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1); \
  NS_IMETHOD GetIn2(nsIDOMSVGAnimatedString * *aIn2); \
  NS_IMETHOD GetScale(nsIDOMSVGAnimatedNumber * *aScale); \
  NS_IMETHOD GetXChannelSelector(nsIDOMSVGAnimatedEnumeration * *aXChannelSelector); \
  NS_IMETHOD GetYChannelSelector(nsIDOMSVGAnimatedEnumeration * *aYChannelSelector); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDOMSVGFEDISPLACEMENTMAPELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return _to GetIn1(aIn1); } \
  NS_IMETHOD GetIn2(nsIDOMSVGAnimatedString * *aIn2) { return _to GetIn2(aIn2); } \
  NS_IMETHOD GetScale(nsIDOMSVGAnimatedNumber * *aScale) { return _to GetScale(aScale); } \
  NS_IMETHOD GetXChannelSelector(nsIDOMSVGAnimatedEnumeration * *aXChannelSelector) { return _to GetXChannelSelector(aXChannelSelector); } \
  NS_IMETHOD GetYChannelSelector(nsIDOMSVGAnimatedEnumeration * *aYChannelSelector) { return _to GetYChannelSelector(aYChannelSelector); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDOMSVGFEDISPLACEMENTMAPELEMENT(_to) \
  NS_IMETHOD GetIn1(nsIDOMSVGAnimatedString * *aIn1) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn1(aIn1); } \
  NS_IMETHOD GetIn2(nsIDOMSVGAnimatedString * *aIn2) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIn2(aIn2); } \
  NS_IMETHOD GetScale(nsIDOMSVGAnimatedNumber * *aScale) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetScale(aScale); } \
  NS_IMETHOD GetXChannelSelector(nsIDOMSVGAnimatedEnumeration * *aXChannelSelector) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetXChannelSelector(aXChannelSelector); } \
  NS_IMETHOD GetYChannelSelector(nsIDOMSVGAnimatedEnumeration * *aYChannelSelector) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetYChannelSelector(aYChannelSelector); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDOMSVGFEDisplacementMapElement : public nsIDOMSVGFEDisplacementMapElement
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDOMSVGFEDISPLACEMENTMAPELEMENT

  nsDOMSVGFEDisplacementMapElement();

private:
  ~nsDOMSVGFEDisplacementMapElement();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDOMSVGFEDisplacementMapElement, nsIDOMSVGFEDisplacementMapElement)

nsDOMSVGFEDisplacementMapElement::nsDOMSVGFEDisplacementMapElement()
{
  /* member initializers and constructor code */
}

nsDOMSVGFEDisplacementMapElement::~nsDOMSVGFEDisplacementMapElement()
{
  /* destructor code */
}

/* readonly attribute nsIDOMSVGAnimatedString in1; */
NS_IMETHODIMP nsDOMSVGFEDisplacementMapElement::GetIn1(nsIDOMSVGAnimatedString * *aIn1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedString in2; */
NS_IMETHODIMP nsDOMSVGFEDisplacementMapElement::GetIn2(nsIDOMSVGAnimatedString * *aIn2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedNumber scale; */
NS_IMETHODIMP nsDOMSVGFEDisplacementMapElement::GetScale(nsIDOMSVGAnimatedNumber * *aScale)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration xChannelSelector; */
NS_IMETHODIMP nsDOMSVGFEDisplacementMapElement::GetXChannelSelector(nsIDOMSVGAnimatedEnumeration * *aXChannelSelector)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIDOMSVGAnimatedEnumeration yChannelSelector; */
NS_IMETHODIMP nsDOMSVGFEDisplacementMapElement::GetYChannelSelector(nsIDOMSVGAnimatedEnumeration * *aYChannelSelector)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIDOMSVGFilters_h__ */
