// This file declares the IViewObject2 Interface and Gateway for Python.
// Generated by makegw.py
// ---------------------------------------------------
//
// Interface Declaration

class PyIViewObject2 : public PyIViewObject
{
public:
	MAKE_PYCOM_CTOR(PyIViewObject2);
	static IViewObject2 *GetI(PyObject *self);
	static PyComTypeObject type;

	// The Python methods
	static PyObject *GetExtent(PyObject *self, PyObject *args);

protected:
	PyIViewObject2(IUnknown *pdisp);
	~PyIViewObject2();
};
// ---------------------------------------------------
//
// Gateway Declaration

class PyGViewObject2 : public PyGViewObject, public IViewObject2
{
protected:
	PyGViewObject2(PyObject *instance) : PyGViewObject(instance) { ; }
	PYGATEWAY_MAKE_SUPPORT2(PyGViewObject2, IViewObject2, IID_IViewObject2, PyGViewObject)

	// IViewObject
	STDMETHOD(Draw)(
		DWORD dwDrawAspect,
		LONG lindex,
		void __RPC_FAR * pvAspect,
		DVTARGETDEVICE __RPC_FAR * ptd,
		HDC hdcTargetDev,
		HDC hdcDraw,
		LPCRECTL lprcBounds,
		LPCRECTL lprcWBounds,
		BOOL ( STDMETHODCALLTYPE __RPC_FAR *pfnContinue )( ULONG_PTR ),
		ULONG_PTR dwContinue);

	STDMETHOD(GetColorSet)(
		DWORD dwDrawAspect,
		LONG lindex,
		void __RPC_FAR * pvAspect,
		DVTARGETDEVICE __RPC_FAR * ptd,
		HDC hicTargetDev,
		LOGPALETTE __RPC_FAR *__RPC_FAR * ppColorSet);

	STDMETHOD(Freeze)(
		DWORD dwDrawAspect,
		LONG lindex,
		void __RPC_FAR * pvAspect,
		DWORD __RPC_FAR * pdwFreeze);

	STDMETHOD(Unfreeze)(
		DWORD dwFreeze);

	STDMETHOD(SetAdvise)(
		DWORD aspects,
		DWORD advf,
		IAdviseSink __RPC_FAR * pAdvSink);

	STDMETHOD(GetAdvise)(
		DWORD __RPC_FAR * pAspects,
		DWORD __RPC_FAR * pAdvf,
		IAdviseSink __RPC_FAR *__RPC_FAR * ppAdvSink);


	// IViewObject2
	STDMETHOD(GetExtent)(
		DWORD dwDrawAspect,
		LONG lindex,
		DVTARGETDEVICE __RPC_FAR * ptd,
		LPSIZEL lpsizel);

};
