#pragma once
|
#include "StdAfx.h"
|
|
#define ARROWLEN 10
|
class CShape2D
|
{
|
public:
|
CShape2D(void);
|
virtual ~CShape2D(void);
|
protected:
|
Point m_ptStart;//ÆðÊ¼×ø±ê
|
Point m_ptEnd;//½áÊøµã
|
UINT m_nLineWidth;//ÏßÌõ¿í¶È
|
Color m_crLineColor;//ÏßÌõÑÕÉ«
|
Rect m_rcClipArea;//ÏÞ¶¨ÇøÓò
|
public:
|
virtual void Draw(Graphics& graphics) = 0;
|
virtual void SetStartPoint(Point ptStart);
|
virtual void SetEndPoint(Point ptEnd);
|
virtual void SetLineWidth(UINT nLineWidth);
|
virtual void SetLineColor(Color crLineColor);
|
virtual void SetClipArea(Rect rcClipArea);
|
};
|
|
|
class CRectangle2D : public CShape2D
|
{
|
public:
|
CRectangle2D();
|
~CRectangle2D();
|
public:
|
virtual void Draw(Graphics& graphics);
|
};
|
|
|
class CEllipse2D : public CShape2D
|
{
|
public:
|
CEllipse2D();
|
~CEllipse2D();
|
public:
|
virtual void Draw(Graphics& graphics);
|
};
|
|
class CArrow2D : public CShape2D
|
{
|
public:
|
CArrow2D(){};
|
~CArrow2D(){};
|
public:
|
virtual void Draw(Graphics& graphics);
|
};
|
|
|
class CBrush2D : public CShape2D
|
{
|
public:
|
CBrush2D(){};
|
~CBrush2D(){};
|
protected:
|
CCollection<Point*> m_arrPoints;
|
public:
|
virtual void Draw(Graphics& graphics);
|
virtual void SetStartPoint(Point ptStart);
|
virtual void SetEndPoint(Point ptEnd);
|
};
|
|
class CText2D : public CShape2D
|
{
|
public:
|
CText2D(){m_bResize = false;};
|
~CText2D(){};
|
protected:
|
Rect m_rcClient;
|
bool m_bResize;
|
public:
|
virtual void Draw(Graphics& graphics);
|
Rect GetRect();
|
void SetRect(Rect rcClient);
|
void SetResize(bool bResize);
|
};
|