#ifndef __NewFDObjAny_h
#define __NewFDObjAny_h

#include "ObjArc.h"
#include "ObjChipMaster.h"
#include "ObjPictArrow.h"
#include "ObjGroup.h"
#include "ObjLine.h"
//----------<NOT EXPORT TO VIEWER>-----------
#include "ObjOle.h"
//----------</NOT EXPORT TO VIEWER>-----------
#include "ObjPoly.h"
#include "ObjPoint.h"
#include "ObjRect.h"
#include "ObjRoundRect.h"
#include "ObjWidePoly.h"
#include "ObjLabel.h"
#include "ObjTable.h"
#include "ObjTextRect.h"

inline FCObjDynabase* NewFDObjAny (FTObjectType nType)
{
	switch (nType)
	{
	case FDOJ_LINE:
		return new FCObjLine();
	case FDOJ_RECT:
		return new FCObjRect();
	case FDOJ_ROUND_RECT:
		return new FCObjRoundRect();
	case FDOJ_ARC:
		return new FCObjArc();
	case FDOJ_POLY:
		return new FCObjPoly();
	case FDOJ_GROUP:
		return new FCObjGroup();
	case FDOJ_WIDE_POLY:
		return new FCObjWidePoly();
//----------<NOT EXPORT TO VIEWER>-----------
	case FDOJ_OLE:
		return new FCObjOle();
//----------</NOT EXPORT TO VIEWER>-----------
	case FDOJ_CHIP_MASTER:
		return new FCObjChipMaster();
	case FDOJ_PICT_ARROW:
		return new FCObjPictArrow();
	case FDOJ_POINT:
		return new FCObjPoint();
	case FDOJ_LABEL:
		return new FCObjLabel();
	case FDOJ_TABLE:			// _xZkqqHx_jFfMjFjEjFgJiBeC_xHqqkZx_
		return new FCObjTable();
	case FDOJ_TEXT_RECT:		// _xZkqqHx_iDgFiDeMiDfIiDgHiLoJiMgAjFjEjFgJiBeC_xHqqkZx_
		return new FCObjTextRect();
	}
	return NULL;
} // NewFDObjAny.

#endif//__NewFDObjAny_h
