⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mylist.cpp

📁 绘制各种图形的类
💻 CPP
字号:
// List.cpp: implementation of the CList class.
//
//////////////////////////////////////////////////////////////////////

#include "MyList.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CList::CList(): m_pFront(NULL)
{

}

CList::~CList()
{
	CNode *pn = NULL;
	while(m_pFront)
	{
		pn = m_pFront;
		m_pFront = m_pFront->next;
		pn->next = NULL;
		delete pn;
	}
}

boolean CList::insert(CShape *ps)
{
	if(m_pFront == NULL)
	{
		m_pFront = new CNode(ps);
		return (m_pFront != NULL);
	}
	CNode *pn = m_pFront;
	while(pn->next)
		pn = pn->next;
	pn->next = new CNode(ps);
	return (pn->next != NULL);
}

boolean CList::mt()
{
	return (m_pFront == NULL);
}

boolean CList::update(IShell *pIShell)
{
	IGraphics *pg = NULL;
	if(ISHELL_CreateInstance(pIShell,AEECLSID_GRAPHICS,(void**)&pg) != SUCCESS)
		return FALSE;
	IGRAPHICS_SetBackground(pg,255,255,255);
	IGRAPHICS_ClearViewport(pg);
	IGRAPHICS_SetFillMode(pg, TRUE);
	IGRAPHICS_SetPaintMode(pg, AEE_PAINT_COPY);

	CNode *pn = m_pFront;
	while(pn)
	{		
		IGRAPHICS_SetColor(pg, pn->dat->getClr()->getr(), pn->dat->getClr()->getg(),
										pn->dat->getClr()->getb(), 1);
		IGRAPHICS_SetFillColor(pg, pn->dat->getClr()->getr(), pn->dat->getClr()->getg(),
										pn->dat->getClr()->getb(), 1);
		if(!pn->dat->draw(pg))
			return FALSE;
		pn = pn->next;
	}
	IGRAPHICS_Update(pg);
	IGRAPHICS_Release(pg);
	return TRUE;
}

void* CList::operator new(size_t sz)
{
	return MALLOC(sz);
}

void CList::operator delete(void *p)
{
	FREE(p);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -