#ifndef __ObjPictArrow_h
#define __ObjPictArrow_h

#include "ObjGroup.h"	// Superclass.

class FCUndoArchive;
class CFCArrowEditorDoc;

//;----- <EXPORT TO SDK> -----;

#ifdef SUPER_CLASS
#undef SUPER_CLASS
#endif
#define SUPER_CLASS FCObjGroup

//----- m_bypArrowDuty[n] _xZkqqHx_iCmMjGpAiKiEiPoOjFpBiCmMiDhEiDiJiDeP_xHqqkZx_ -----
#define FDAR_SYNC_PEN_STYLE				(0x01 << 0)
#define FDAR_SYNC_PEN_WEIGHT			(0x01 << 1)
#define FDAR_SYNC_PEN_BACK_S_COLOR		(0x01 << 2)
#define FDAR_SYNC_BRUSH_FORE_S_COLOR	(0x01 << 3)
#define FDAR_SYNC_BRUSH_BACK_S_COLOR	(0x01 << 4)
#define FDAR_SYNC_BRUSH_PATTERN			(0x01 << 5)
#define FDAR_SYNC_PEN_WIDTH				(0x01 << 6)
#define FDAR_SYNC_ARROW_POLYGON			(0x01 << 7)

//;------ </EXPORT TO SDK> -----;

class FCObjPictArrow : public SUPER_CLASS
{
protected:
typedef SUPER_CLASS BASE_CLASS;

public:
	//----- _xZkqqHx_jBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	FCObjPictArrow ();
	virtual ~FCObjPictArrow ();
	virtual BOOL	IsKindOf (FTObjectType nType) const;

	//----- _xZkqqHx_iOmAjBmMiJlLiJmCjEfMiCmIiDeOiDiJiDfIiCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual FTObjectType	Type () const;

	//----- _xZkqqHx_jBkOjAkLiCpAiOjNiCmCjBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual BOOL	IsEqual (const FCObjDynabase* objp) const;
// 06.06.23 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual void	OutStream (FCUndoArchive& ar);
	virtual void	OutStream (FCUndoArchive& ar, BOOL bIsOutBezier);
	virtual void	InStream (FCUndoArchive& ar);

	//----- _xZkqqHx_jFkBjAjEiCmMiDiCiDiKiDhGiCpAiOjNiCmC_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----

	//----- _xZkqqHx_jFeLjHhGiCmJiJjOiClGiCmEiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClHiCoKiCmOjHmHiCkC_xHqqkZx_ -----

public:
	//----- ObjGroup_xZkqqHx_iCmM_xHqqkZx_Subclass_xZkqqHx_iCmFjFeLjHhGiCmJiJjOiClGiCmEiDeDiDjDiDhGiDiKiDiBiDjDiDgH_xHqqkZx_ -----

	//----- _xZkqqHx_iClBiCmMiDeOiDiJiDfIiMmFjHeMiCmMiKnGjAjE_xHqqkZx_ -----
	virtual const DBLRect&	GetArrowFrame () const;
	virtual BYTE	GetDuty (short nIndex) const;
	virtual mmetol	GetMinArrowPenWeight () const;

	virtual void	SetArrowFrame (const DBLRect& mmrt);
	virtual void	SetDuty (const BYTEVector& vDuty);
	virtual void	SetMinArrowPenWeight (mmetol mmPenWeight);

	virtual FCObjDynabase*	GetArrowDutyObject () const;
	virtual void	GetPreDrawObjects (ObjDynabaseVector& vObj) const;
	virtual void	GetPostDrawObjects (ObjDynabaseVector& vObj) const;

//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual DWORD	GetObjUserUlong () const;
//	virtual void	SetObjUserUlong (DWORD dwObjUserUlong);
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

friend class CFCArrowEditorDoc;
protected:
	//----- _xZkqqHx_jBkOjAkLiCpAiOjNiCmCjBfDiCmEiCmM_xHqqkZx_Subclass_xZkqqHx_iCkKiDeDiDjDiDhGiDiKiDiBiDjDiDgHiClFiCmIiCkPiCoKiCmOiCmIiCoHiCmIiCkC_xHqqkZx_ -----
	virtual void	Copy (FCObjDynabase* pObj) const;
	virtual void	CopySelf (FCObjDynabase* pObj) const;

protected:
	DBLRect		m_mmrtArrowFrame;			// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiBeC_xHqqkZx_
	mmetol		m_mmMinArrowPenWeight;		// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiBeC_xHqqkZx_
// 05.05.01 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	DWORD		m_dwObjUserUlong;			// _xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	short		m_nArrowDutyIndex;			// _xZkqqHx_jGoOiIpDjGpAiKiEiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_
	short		m_nArrowDutySz;				// _xZkqqHx_jFgAiJoGiPoOjFpBiCmMjGhLjBmMiCkJiCoHiCmMiMhAiPlDiPoOjFpBiDfEiDeDiDfJiBeC_xHqqkZx_
	BYTE*		m_bypArrowDuty;				// _xZkqqHx_jFgAiJoGiPoOjFpBiCmMjGhLjBmMiCkJiCoHiCmMiMhAiPlDiPoOjFpBiBeC_xHqqkZx_
}; // class FCObjPictArrow.

#endif//__ObjPictArrow_h
