/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIHTMLObjectResizer.idl
 */

#ifndef __gen_nsIHTMLObjectResizer_h__
#define __gen_nsIHTMLObjectResizer_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_domstubs_h__
#include "domstubs.h"
#endif

#ifndef __gen_nsIAtom_h__
#include "nsIAtom.h"
#endif

#ifndef __gen_nsISelection_h__
#include "nsISelection.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsIHTMLObjectResizer */
#define NS_IHTMLOBJECTRESIZER_IID_STR "b0338f6c-ded3-4c39-a953-56e8bae494f5"

#define NS_IHTMLOBJECTRESIZER_IID \
  {0xb0338f6c, 0xded3, 0x4c39, \
    { 0xa9, 0x53, 0x56, 0xe8, 0xba, 0xe4, 0x94, 0xf5 }}

class nsIHTMLObjectResizer : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IHTMLOBJECTRESIZER_IID)

  typedef short EResizerLocation;
  enum { eTopLeft = 0 };

  enum { eTop = 1 };

  enum { eTopRight = 2 };

  enum { eLeft = 3 };

  enum { eRight = 4 };

  enum { eBottomLeft = 5 };

  enum { eBottom = 6 };

  enum { eBottomRight = 7 };

  /* readonly attribute nsIDOMElement resizedObject; */
  NS_IMETHOD GetResizedObject(nsIDOMElement * *aResizedObject) = 0;

  /* attribute boolean isImageResizingEnabled; */
  NS_IMETHOD GetIsImageResizingEnabled(PRBool *aIsImageResizingEnabled) = 0;
  NS_IMETHOD SetIsImageResizingEnabled(PRBool aIsImageResizingEnabled) = 0;

  /* void getResizedObjectSize (out long aWidth, out long aHeight); */
  NS_IMETHOD GetResizedObjectSize(PRInt32 *aWidth, PRInt32 *aHeight) = 0;

  /* void showResizers (in nsIDOMElement aResizedElement); */
  NS_IMETHOD ShowResizers(nsIDOMElement *aResizedElement) = 0;

  /* void hideResizers (); */
  NS_IMETHOD HideResizers(void) = 0;

  /* void refreshResizers (); */
  NS_IMETHOD RefreshResizers(void) = 0;

  /* void mouseDown (in long aX, in long aY, in nsIDOMElement aResizedObject); */
  NS_IMETHOD MouseDown(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) = 0;

  /* void mouseUp (in long aX, in long aY, in nsIDOMElement aResizedObject); */
  NS_IMETHOD MouseUp(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) = 0;

  /* void mouseMove (in nsIDOMEvent aMouseEvent); */
  NS_IMETHOD MouseMove(nsIDOMEvent *aMouseEvent) = 0;

  /* void checkResizingState (in nsISelection aSelection); */
  NS_IMETHOD CheckResizingState(nsISelection *aSelection) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIHTMLOBJECTRESIZER \
  NS_IMETHOD GetResizedObject(nsIDOMElement * *aResizedObject); \
  NS_IMETHOD GetIsImageResizingEnabled(PRBool *aIsImageResizingEnabled); \
  NS_IMETHOD SetIsImageResizingEnabled(PRBool aIsImageResizingEnabled); \
  NS_IMETHOD GetResizedObjectSize(PRInt32 *aWidth, PRInt32 *aHeight); \
  NS_IMETHOD ShowResizers(nsIDOMElement *aResizedElement); \
  NS_IMETHOD HideResizers(void); \
  NS_IMETHOD RefreshResizers(void); \
  NS_IMETHOD MouseDown(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject); \
  NS_IMETHOD MouseUp(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject); \
  NS_IMETHOD MouseMove(nsIDOMEvent *aMouseEvent); \
  NS_IMETHOD CheckResizingState(nsISelection *aSelection); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIHTMLOBJECTRESIZER(_to) \
  NS_IMETHOD GetResizedObject(nsIDOMElement * *aResizedObject) { return _to GetResizedObject(aResizedObject); } \
  NS_IMETHOD GetIsImageResizingEnabled(PRBool *aIsImageResizingEnabled) { return _to GetIsImageResizingEnabled(aIsImageResizingEnabled); } \
  NS_IMETHOD SetIsImageResizingEnabled(PRBool aIsImageResizingEnabled) { return _to SetIsImageResizingEnabled(aIsImageResizingEnabled); } \
  NS_IMETHOD GetResizedObjectSize(PRInt32 *aWidth, PRInt32 *aHeight) { return _to GetResizedObjectSize(aWidth, aHeight); } \
  NS_IMETHOD ShowResizers(nsIDOMElement *aResizedElement) { return _to ShowResizers(aResizedElement); } \
  NS_IMETHOD HideResizers(void) { return _to HideResizers(); } \
  NS_IMETHOD RefreshResizers(void) { return _to RefreshResizers(); } \
  NS_IMETHOD MouseDown(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) { return _to MouseDown(aX, aY, aResizedObject); } \
  NS_IMETHOD MouseUp(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) { return _to MouseUp(aX, aY, aResizedObject); } \
  NS_IMETHOD MouseMove(nsIDOMEvent *aMouseEvent) { return _to MouseMove(aMouseEvent); } \
  NS_IMETHOD CheckResizingState(nsISelection *aSelection) { return _to CheckResizingState(aSelection); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIHTMLOBJECTRESIZER(_to) \
  NS_IMETHOD GetResizedObject(nsIDOMElement * *aResizedObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResizedObject(aResizedObject); } \
  NS_IMETHOD GetIsImageResizingEnabled(PRBool *aIsImageResizingEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsImageResizingEnabled(aIsImageResizingEnabled); } \
  NS_IMETHOD SetIsImageResizingEnabled(PRBool aIsImageResizingEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsImageResizingEnabled(aIsImageResizingEnabled); } \
  NS_IMETHOD GetResizedObjectSize(PRInt32 *aWidth, PRInt32 *aHeight) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetResizedObjectSize(aWidth, aHeight); } \
  NS_IMETHOD ShowResizers(nsIDOMElement *aResizedElement) { return !_to ? NS_ERROR_NULL_POINTER : _to->ShowResizers(aResizedElement); } \
  NS_IMETHOD HideResizers(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->HideResizers(); } \
  NS_IMETHOD RefreshResizers(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->RefreshResizers(); } \
  NS_IMETHOD MouseDown(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->MouseDown(aX, aY, aResizedObject); } \
  NS_IMETHOD MouseUp(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject) { return !_to ? NS_ERROR_NULL_POINTER : _to->MouseUp(aX, aY, aResizedObject); } \
  NS_IMETHOD MouseMove(nsIDOMEvent *aMouseEvent) { return !_to ? NS_ERROR_NULL_POINTER : _to->MouseMove(aMouseEvent); } \
  NS_IMETHOD CheckResizingState(nsISelection *aSelection) { return !_to ? NS_ERROR_NULL_POINTER : _to->CheckResizingState(aSelection); } 

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

/* Header file */
class nsHTMLObjectResizer : public nsIHTMLObjectResizer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIHTMLOBJECTRESIZER

  nsHTMLObjectResizer();
  virtual ~nsHTMLObjectResizer();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsHTMLObjectResizer, nsIHTMLObjectResizer)

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

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

/* readonly attribute nsIDOMElement resizedObject; */
NS_IMETHODIMP nsHTMLObjectResizer::GetResizedObject(nsIDOMElement * *aResizedObject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isImageResizingEnabled; */
NS_IMETHODIMP nsHTMLObjectResizer::GetIsImageResizingEnabled(PRBool *aIsImageResizingEnabled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsHTMLObjectResizer::SetIsImageResizingEnabled(PRBool aIsImageResizingEnabled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getResizedObjectSize (out long aWidth, out long aHeight); */
NS_IMETHODIMP nsHTMLObjectResizer::GetResizedObjectSize(PRInt32 *aWidth, PRInt32 *aHeight)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void showResizers (in nsIDOMElement aResizedElement); */
NS_IMETHODIMP nsHTMLObjectResizer::ShowResizers(nsIDOMElement *aResizedElement)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void hideResizers (); */
NS_IMETHODIMP nsHTMLObjectResizer::HideResizers()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void refreshResizers (); */
NS_IMETHODIMP nsHTMLObjectResizer::RefreshResizers()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void mouseDown (in long aX, in long aY, in nsIDOMElement aResizedObject); */
NS_IMETHODIMP nsHTMLObjectResizer::MouseDown(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void mouseUp (in long aX, in long aY, in nsIDOMElement aResizedObject); */
NS_IMETHODIMP nsHTMLObjectResizer::MouseUp(PRInt32 aX, PRInt32 aY, nsIDOMElement *aResizedObject)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void mouseMove (in nsIDOMEvent aMouseEvent); */
NS_IMETHODIMP nsHTMLObjectResizer::MouseMove(nsIDOMEvent *aMouseEvent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void checkResizingState (in nsISelection aSelection); */
NS_IMETHODIMP nsHTMLObjectResizer::CheckResizingState(nsISelection *aSelection)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIHTMLObjectResizer_h__ */
