You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.5 KiB
C++

/////////////////////////////////////////////////////////////////////
#pragma once
#include "CommonDefines.h"
class CGDFObject;
class CGDFMap;
class CGDFLayer : public CObject
{
public:
DECLARE_SERIAL(CGDFLayer)
CGDFLayer(CGDFMap* pMap=NULL);
~CGDFLayer();
//Attributes
private:
CTypedPtrArray<CPtrArray,CGDFObject*> m_objectarray;
CString m_strName;
CString m_strTypeName;
BOOL m_bVisible;
BOOL m_bEditable;
//UINT m_editflag;
CTypedPtrArray<CPtrArray,CGDFObject*> m_selectedarray;
CGDFMap* m_pMap;
CRect m_drawrect;
CRect8 m_maprect;
double m_dZoomFactor;
BYTE m_smooth;
BOOL m_bModifyFlag;
GDFLOGPEN m_logpen;
GDFLOGBRUSH m_logbrush;
GDFLOGFONT m_logfont;
GDFLOGPOINT m_logpoint;
CString m_strDefaultTypeName;
CString m_strDefaultName;
BOOL m_bLineClose;
CPoint m_firstpoint;
CPoint m_oldpoint;
CSize m_movesize;
ULONGLONG m_ullTimeStamp;
//Operations
public:
void BuildMapRect();
CString GetName();
void SetName(LPCTSTR str);
void AddObject(CGDFObject* pObject);
void InsertObject(int index,CGDFObject* pObject);
void AddObject(CTypedPtrArray<CPtrArray,CGDFObject*>& ObjectArray);
void InsertObject(int index,CTypedPtrArray<CPtrArray,CGDFObject*>& ObjectArray);
void Clear();
void DeleteAllObject();
void SetSmooth(BYTE byteValue);
BYTE GetSmooth();
CGDFMap* GetMap();
int GetObjectCount();
CGDFObject* GetObjectG(int index);
CGDFObject* GetObjectG(LPCTSTR strName);
CGDFObject* GetObjectG(LPCTSTR strName,LPCTSTR strTypeName);
};