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

📄 pgestd.cpp

📁 使ppc屏幕变成黑白的程序
💻 CPP
字号:
#include "pgestd.h"
lua_State* L_stat = NULL;

CPGEBase::CPGEBase()
{
	m_dwClassID = PGE_UNDEFINE;
}

CPGEBase::~CPGEBase()
{
	
}

int itoa(WORD* caOut, DWORD dwNum)
{
	char caBuff[50];
	sprintf(caBuff, "%d", dwNum);
	WORD iCount = strlen(caBuff);
	WORD* wBuff = new WORD[iCount];
	for(WORD i=0; i<iCount; i++)
	{
		wBuff[i] = caBuff[i];
	}
	memcpy(caOut, wBuff, iCount*sizeof(WORD));
	SAFE_DELETE_ARY(wBuff);
	return iCount;
}

// RECT操作函数
RECT FiRect(int iLeft, int iTop, int iRight, int iBottom)
{
	RECT rBuf = {iLeft, iTop, iRight, iBottom};
	return rBuf;
}

RECT AdRect(RECT r1, RECT r2)
{
	RECT rBuf = {
		r1.left + r2.left,
		r1.top + r2.top,
		r1.right + r2.right,
		r1.bottom + r2.bottom
	};
	return rBuf;
}

RECT MuRect(RECT r1, RECT r2)
{
	RECT rBuf = {
		r1.left * r2.left,
		r1.top * r2.top,
		r1.right * r2.right,
		r1.bottom * r2.bottom
	};
	return rBuf;
}

RECT MuRect(RECT r1, float fValue)
{
	RECT rBuf = {
		r1.left * fValue,
		r1.top * fValue,
		r1.right * fValue,
		r1.bottom * fValue
	};
	return rBuf;
}

BOOL PointInRect(POINT pt, RECT r)
{ 
	return (pt.x > r.left) && (pt.y > r.top) && (pt.x < r.right) && (pt.y < r.bottom);
}

BOOL RectEqZero(RECT r)
{
	return (r.left == 0) && (r.right == 0) && (r.top == 0) && (r.bottom == 0);
}

RECT FiRectWithStr(char* caStr)
{
	char caBuf[20];
	WORD iBuf[4];
	memset(iBuf, 0, sizeof(iBuf));
	memset(caBuf, 0, sizeof(caBuf));

	int k = 0, j = 0;
	for (int i=0;i<strlen(caStr);i++)
	{
		if (caStr[i] != ',')
		{
			caBuf[k] = caStr[i];
			k++;
		}
		else
		{
			k = 0;
			if (j>2) return FiRect(0,0,0,0);
			iBuf[j] = atoi(caBuf);
			j++;
			memset(caBuf, 0, sizeof(caBuf));
		}
	}
	iBuf[j] = atoi(caBuf);
	return FiRect(iBuf[0], iBuf[1], iBuf[2], iBuf[3]);
}

RECT TrunRect(RECT& r, const int iValue)
{
	r.top = r.top>iValue ? iValue : r.top;
	r.left = r.left>iValue ? iValue : r.left;
	r.right = r.right>iValue ? iValue : r.right;
	r.bottom = r.bottom>iValue ? iValue : r.bottom;

	r.top = r.top<0 ? -r.top : r.top;
	r.left = r.left<0 ? -r.left : r.left;
	r.right = r.right<0 ? -r.right : r.right;
	r.bottom = r.bottom<0 ? -r.bottom : r.bottom;

	return r;
}

BOOL PointInRect(int x, int y, RECT r)
{
	return (x > r.left) && (y > r.top) && (x < r.right) && (y < r.bottom);
}

RECT RectAndRect(RECT r1, RECT r2)
{
	RECT rBuf = {
		r1.left>r2.left ? r1.left : r2.left,
		r1.top > r2.top ? r1.top : r2.top,
		r1.right > r2.right ? r2.right : r1.right,
		r1.bottom > r2.bottom ? r2.bottom : r1.bottom
	};
	return rBuf;
}

RECT SubRect(RECT r1, RECT r2)
{
	RECT rBuf = {
		r1.left - r2.left,
			r1.top - r2.top,
			r1.right - r2.right,
			r1.bottom - r2.bottom
			
	};
	return rBuf;
}

char* TCharToChar(TCHAR* tcData, int iSize)
{
	char* caBuf = new char[iSize];
	memset(caBuf, 0, iSize);
	char* tcBuf = (char*)tcData;
	int iCount = 0;
	for (int i=0; i<iSize; i+=2)
	{
		if (tcBuf[i] != 0)
		{
			caBuf[iCount] = tcBuf[i];
			iCount++;
			if (tcBuf[i+1] != 0)
			{
				caBuf[iCount] = tcBuf[i+1];
				iCount++;
			}
		}
		else
		{
			if (tcBuf[i+1] == 0)
			{
				return caBuf;
			}
		}
	}
	return NULL;
}

TCHAR* ChartoTChar(char* caData)
{
	int iSize = strlen(caData);
	TCHAR* tcBuf = new TCHAR[iSize];
	memset(tcBuf, 0, sizeof(TCHAR) * iSize);
	int iCount = 0;
	for (int i=0; i<iSize; i++)
	{
		tcBuf[i] = caData[i];
	}
	return tcBuf;
}
 
char m_caResFile[200];
char* GetResFile(char* caFileName)
{
	if (caFileName == NULL) return NULL;
	TCHAR caBuf[200];
	memset(caBuf, 0, sizeof(caBuf));
	int iLen = GetModuleFileName(NULL, caBuf, sizeof(caBuf));
	char caFilePath[200];
#ifdef _WIN32_WCE
	WideCharToMultiByte(CP_ACP, 0, caBuf, sizeof(caBuf), caFilePath, sizeof(caFilePath),0,0);
#else
	strcpy(caFilePath, caBuf);
#endif

	//char* caFilePath = TCharToChar(caBuf, sizeof(caBuf));
	if (iLen > 0)
	{
		// 查找最后一个\, 将文件名去掉, 从而获得文件所在的路径
		int iCount = strlen(caFilePath);
		for (int i = iCount - 2; i >= 0; i--)	// 从右向左查找, 最后一个字符肯定不是\,因此跳过
		{
			if ('\\' == caFilePath[i])	// 找到最右的一个
			{
				caFilePath[i + 1 ] = '\0';	// 去掉文件名
				break;
			}
		}
	}

	// 设置配置文件名
	strcat(caFilePath, "Resource\\");
	strcat(caFilePath, caFileName);


	strcpy(m_caResFile, caFilePath);
//	SAFE_DELETE(caFilePath);
	return m_caResFile;
}


FILE* PGEFileOpen(char* fileName, char* tp)
{	
	FILE* fp = fopen(fileName, tp);
	if (!fp)
	{
		char caBuf[200];
		TCHAR wBuf[100];
		sprintf(caBuf, "找不到%s", fileName);

	}
	return fp;
}

⌨️ 快捷键说明

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