////////////////////////////////////////////////////////////////////////////////
//
// Object2DEvent.h
// Object2DEvent -    2D  (Auto)
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _OBJECT2DEVENT_H
#define _OBJECT2DEVENT_H

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

#ifdef __LIGHT_VERSION__
  #ifndef __KL_TLB_H
  #include <kl_tlb.h>
  #endif
#else
  #ifndef __KS_TLB_H
  #include <ks_tlb.h>
  #endif
#endif


//---------------------------------------------------------------------------
// DocumentEvent -    2D  (TEventsDispatcher)
// ---
class Object2DEvent : public BaseEvent
{
public:
  Object2DEvent( LPUNKNOWN pContainer ): BaseEvent(pContainer, DIID_ksObject2DNotify) {}
  ~Object2DEvent(){}

protected:
  virtual HRESULT InvokeEvent(DISPID id, BOOL & resEvent, TVariant * params);

  //  
  BOOL ChangeActive( long objRef );    //   ( , )
  BOOL BeginDelete( long objRef );     //   
  BOOL Delete( long objRef );          //  
  BOOL BeginMove( long objRef );       //   
  BOOL Move( long objRef );            //  
  BOOL BeginRotate( long objRef );     //   
  BOOL Rotate( long objRef );          //  
  BOOL BeginScale( long objRef );      //   
  BOOL Scale( long objRef );           //  
  BOOL BeginTransform( long objRef );  //   
  BOOL Transform( long objRef );       //  
  BOOL BeginCopy( long objRef );       //   
  BOOL Copy( long objRef );            //  
  BOOL BeginSymmetry( long objRef );   //    
  BOOL Symmetry( long objRef );        //   
  BOOL BeginProcess( long pType, long objRef ); //  \ 
  BOOL EndProcess( long pType );      //  \ 
  BOOL CreateObject( long objRef );    //  
  BOOL UpdateObject( long objRef );    //    
};
#endif
