#if !defined(__RV_PICTURE_SP_H_INCLUDED_)
#define __RV_PICTURE_SP_H_INCLUDED_


#include "picture.h"


//PICTURE CONTROL POINTS
#define PI_CP_COUNT  4
  

class INDIX_API CPictureSp :	public CPicture
{
public:
	CPictureSp();
	virtual ~CPictureSp();
	 
	virtual BOOL  Create(/*CDelegate* pDelegate=NULL, */const TCHAR* strName = NULL, UINT id =-1, int style =RV_UC_DEFAULT_STYLE) ;

	virtual void  Show(CDelegate* pDelegate,int mode, BOOL bForce);	

	virtual CUCObj* Clone(  CUCObj* twin) ;
	    
	virtual BOOL Serialize(HANDLE device, BOOL bIn ) ;

	//当改变显示形状，边框线宽等时候，调用该函数进行刷新。
	//重装载图像等的时候。
	void  Redraw();

	virtual void SetClientRect(int x, int y, int w, int h);
	//internal use only
public:
	virtual void ShowSketch(CDelegate* pDelegate,CSketchMark* pMark, HGPD hGpd, int grabType, GPoint grabPos);
    virtual void OnEndTrack(CDelegate* pDelegate,HGPD hCur,  GPoint point, int type) ;
	virtual int  HitTest(CDelegate* pDelegate,  GPoint point);
    virtual BOOL OnRotationChange( HGPD hCur, HGPD hNew, GPoint &curPos);
	virtual HGPD CreateGraphicDescriptor(CDelegate* pDelegate) ;
	  
private:
	 //边框和背景图
	RvImage   m_imBack;  
    
	
};






#endif //__RV_ILLUSTRATER_H_INCLUDED_