////////////////////////////////////////////////////////////////////////////////
//
// Object2DEvent -    2D 
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _OBJECT2DEVENT_H
#define _OBJECT2DEVENT_H

#ifndef _BASEEVENT_H
#include "BaseEvent.h"
#endif

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/*
enum ksObject2DNotifyEnum
{
 	koChangeActive	= 1,
	koBeginDelete	= 2,
	koDelete	= 3,
	koBeginMove	= 4,
	koMove	= 5,
	koBeginRotate	= 6,
	koRotate	= 7,
	koBeginScale	= 8,
	koScale	= 9,
	koBeginTransform	= 10,
	koTransform	= 11,
	koBeginCopy	= 12,
	koCopy	= 13,
	koBeginSymmetry	= 14,
	koSymmetry	= 15,
	koBeginProcess	= 16,
	koEndProcess	= 17,
	koCreateObject	= 18,
	koUpdateObject	= 19
};
*/

////////////////////////////////////////////////////////////////////////////////
//
// Object2DEvent -    2D 
//
////////////////////////////////////////////////////////////////////////////////
class Object2DEvent : public BaseEvent
{
  ksObject2DNotifyResultPtr m_res;

public:
	Object2DEvent( LPUNKNOWN object, 
                 LPDISPATCH doc, 
                 long objType,
                 ksObject2DNotifyResultPtr res, 
                 bool m_selfAdvise = true );           
  virtual ~Object2DEvent(); 

protected:
  CString OutRes();

  // koChangeActive    -    
  afx_msg VARIANT_BOOL ChangeActive( long viewRef );
  // koBeginDelete     -   
  afx_msg VARIANT_BOOL BeginDelete( long layerRef );
  // koDelete          -  
  afx_msg VARIANT_BOOL Delete( long obgsRef );
  // koBeginMove       -   
  afx_msg VARIANT_BOOL BeginMove( long objRef );
  // koMove            -  
  afx_msg VARIANT_BOOL Move( long objRef );
  // koBeginRotate     -  
  afx_msg VARIANT_BOOL BeginRotate( long objRef );
  // koRotate          -  
  afx_msg VARIANT_BOOL Rotate( long objRef );
	// koBeginScale      -  
  afx_msg VARIANT_BOOL BeginScale( long objRef );
	// koScale           -  
  afx_msg VARIANT_BOOL Scale( long objRef );
	// koBeginTransform  -  
  afx_msg VARIANT_BOOL BeginTransform( long objRef );
	// koTransform       -  
  afx_msg VARIANT_BOOL Transform( long objRef );
	// koBeginCopy       -  
  afx_msg VARIANT_BOOL BeginCopy( long objRef );
	// koCopy            -  
  afx_msg VARIANT_BOOL Copy( long objRef );
	// koBeginSymmetry   -  
  afx_msg VARIANT_BOOL BeginSymmetry( long objRef );
	// koSymmetry        -  
  afx_msg VARIANT_BOOL Symmetry( long objRef );
  // koBeginProcess    -  \ 
  afx_msg VARIANT_BOOL BeginProcess( long pType, long objRef );
  // koEndProcess      -  \ 
  afx_msg VARIANT_BOOL EndProcess( long objRef );
  // koCreate          -  
  afx_msg VARIANT_BOOL CreateObject( long objRef );
  // koUpdateObject    -  
  afx_msg VARIANT_BOOL UpdateObject( long objRef );
  
	DECLARE_EVENTSINK_MAP()
};

/////////////////////////////////////////////////////////////////////////////

#endif 
