示例#1
0
	void CDequeEx::pop_front()
	{
		if(size() > 0)
		{
			m_dwBegin = GetMod(MAX_DATA_BUFFER + m_dwBegin + 1);
		}
	}
示例#2
0
	void CDequeEx::push_back(const BYTE& _Val)
	{
//		assert(size() < MAX_DATA_BUFFER - 1);
// 		DWORD dwReal = GetMod(MAX_DATA_BUFFER + m_dwEnd + 1);
// 		m_pBuffer[dwReal] = _Val;
// 		m_dwEnd = GetMod(m_dwEnd + 1);

		//
		if(size() >= MAX_DATA_BUFFER - 1)
		{
			pop_front();
		}

		//
		m_dwEnd = GetMod(MAX_DATA_BUFFER + m_dwEnd + 1);
		m_pBuffer[m_dwEnd] = _Val;
	}
示例#3
0
void CAccelerator::Setup()
{
	// Translate key table -> windows accelerator table

	if (m_hAccel) {
		DestroyAcceleratorTable(m_hAccel);
		m_hAccel = NULL;
	}

	memset(AccelTable, 0, sizeof(ACCEL) * ACCEL_COUNT);

	for (int i = 0; i < ACCEL_COUNT; ++i) {
		AccelTable[i].cmd = EntriesTable[i].id;
		AccelTable[i].fVirt = FVIRTKEY | GetMod(EntriesTable[i].mod);
		AccelTable[i].key = EntriesTable[i].key;
	}

	m_hAccel = CreateAcceleratorTable(AccelTable, ACCEL_COUNT);
}
示例#4
0
void CAccelerator::Setup()
{
	// Translate key table -> windows accelerator table

	if (m_hAccel) {
		DestroyAcceleratorTable(m_hAccel);
		m_hAccel = NULL;
	}

	m_pAccelTable.clear();		// // //
	for (const auto &x : m_pEntriesTable) {
		ACCEL a;
		a.fVirt = FVIRTKEY | GetMod(x.mod);
		a.key = x.key;
		a.cmd = x.id;
		m_pAccelTable.push_back(a);
	}
	m_hAccel = CreateAcceleratorTable(m_pAccelTable.data(), ACCEL_COUNT);
}
示例#5
0
	BYTE& CDequeEx::operator[](DWORD _Pos)
	{
		assert(_Pos < size());
		DWORD dwReal = GetMod(m_dwBegin + _Pos);
		return m_pBuffer[dwReal];
	}
示例#6
0
	DWORD CDequeEx::size()
	{
		return GetMod(MAX_DATA_BUFFER + m_dwEnd - m_dwBegin + 1);
	}