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

📄 structure.cpp

📁 简单画图
💻 CPP
字号:
#include "stdafx.h"
#include "resource.h"       // main symbols

#include "structure.h"

Stack::Stack(int len)
{
	if( len > MAXLEN )
		len = MAXLEN;
	m_iTotalLen = len;
//	for(int i = 0; i < len; i ++)
//		m_pStack = (HBITMAP*) malloc(m_iTotalLen * sizeof(BITMAP));
	m_iCurLen = 0;
	m_iCurPos = 0;
}

Stack::~Stack()
{
//	for( int i = 0; i < m_iTotalLen; i++ )
//		free(m_pStack);
}

void Stack::Add(HBITMAP element)
{
	m_iCurLen = m_iCurPos;
	if( m_iCurPos < m_iTotalLen )
	{
		Stock[m_iCurLen] = element;
		m_iCurLen++;
		m_iCurPos++;
	}
	else
	{
		for( int i = 0; i < m_iTotalLen - 1; i++ )
			Stock[i] = Stock[i+1];
		Stock[m_iTotalLen - 1] = element;
	}
}

bool Stack::IsEmpty()
{
	if(m_iCurLen == 0)
		return true;
	return false;
}

HBITMAP  Stack::Undo()
{
	ASSERT(m_iCurPos > 0);
	int i=--m_iCurPos;

	return  Stock[i-1];
}

HBITMAP  Stack::Redo()
{
	ASSERT(m_iCurPos < m_iCurLen);
	return  Stock[m_iCurPos++];
}

bool Stack::CanUndo()
{
	if( m_iCurPos > 1 )
		return true;
	return false;
}

bool Stack::CanRedo()
{
	if( m_iCurPos < m_iCurLen )
		return true;
	return false;
}

HBITMAP  Stack::Pop()
{
	ASSERT(m_iCurPos > 0);
	return  Stock[m_iCurPos-1];
}

int Stack::GetLen()
{
	return m_iCurLen;
}

int Stack::GetPos()
{
	return m_iCurPos;
}

void Stack::Clear()
{
	m_iCurLen = m_iCurPos = 0;
}

⌨️ 快捷键说明

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