/*
 * 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 "d53cce38-2b96-4803-9ca0-0310becd6873"

#define NS_IDOMSVGFILTERPRIMITIVESTANDARDATTRIBUTES_IID \
  {0xd53cce38, 0x2b96, 0x4803, \
    { 0x9c, 0xa0, 0x03, 0x10, 0xbe, 0xcd, 0x68, 0x73 }}

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:    nsIDOMSVGFETurbulenceElement */
#define NS_IDOMSVGFETURBULENCEELEMENT_IID_STR "14eb581d-0e54-42b5-a595-5db6c9490277"

#define NS_IDOMSVGFETURBULENCEELEMENT_IID \
  {0x14eb581d, 0x0e54, 0x42b5, \
    { 0xa5, 0x95, 0x5d, 0xb6, 0xc9, 0x49, 0x02, 0x77 }}

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 "053c0aec-30df-48e9-9059-53f43b5261bb"

#define NS_IDOMSVGFEMORPHOLOGYELEMENT_IID \
  {0x053c0aec, 0x30df, 0x48e9, \
    { 0x90, 0x59, 0x53, 0xf4, 0x3b, 0x52, 0x61, 0xbb }}

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


#endif /* __gen_nsIDOMSVGFilters_h__ */
