Files
geomative/GeomativeStudio/cpp/Tools/HandleProcessor.cpp
T
coco df489d5640 a
2026-07-03 16:05:30 +08:00

96 lines
2.0 KiB
C++

// HandleProcessor.cpp: implementation of the CHandleProcessor class.
//
//////////////////////////////////////////////////////////////////////
#include "geomative.h"
#include "HandleProcessor.h"
#include "Constant.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHandleProcessor::CHandleProcessor()
{
}
CHandleProcessor::~CHandleProcessor()
{
}
DWORD CHandleProcessor::GenerateHandle(DWORD dwID, UINT uStyle)
{
DWORD dwtempHandle = (DWORD)VAL_ZERO;
DWORD dwTempID = (DWORD)VAL_ZERO;
DWORD dwTempStyle = (DWORD)VAL_ZERO;
dwTempID = (DWORD)dwID;
dwTempStyle = (DWORD)uStyle;
dwTempStyle <<= HANDLE_OFFSET;
dwtempHandle = dwTempID | dwTempStyle;
return dwtempHandle;
}
DWORD CHandleProcessor::GenerateNewHandle(DWORD dwID, UINT uStyle)
{
DWORD dwtempHandle = (DWORD)VAL_ZERO;
DWORD dwTempID = (DWORD)VAL_ZERO;
DWORD dwTempStyle = (DWORD)VAL_ZERO;
dwTempID = dwID&0x07FFFFFF;
dwTempStyle = (DWORD)uStyle;
dwTempStyle <<= HANDLE_OFFSET;
dwtempHandle = dwTempID | dwTempStyle;
return dwtempHandle;
}
void CHandleProcessor::AnalyseHandle(DWORD dwHandle, DWORD& dwID, UINT& uStyle)
{
DWORD dwTempHandle = VAL_ZERO;
DWORD dwTempID = VAL_ZERO;
DWORD dwTempStyle = VAL_ZERO;
dwTempHandle = dwHandle;
dwTempID = dwTempHandle & 0x7FFFFFF;
dwTempStyle = dwTempHandle & 0xF8000000;
dwTempStyle >>= HANDLE_OFFSET;
dwID = dwTempID;
uStyle = (UINT)dwTempStyle;
}
DWORD CHandleProcessor::GetIDFromHandle(DWORD dwHandle)
{
DWORD dwTempHandle = VAL_ZERO;
DWORD dwTempID = VAL_ZERO;
dwTempHandle = dwHandle;
dwTempID = dwTempHandle & 0x7FFFFFF;
return dwTempID;
}
UINT CHandleProcessor::GetStyleFromHandle(DWORD dwHandle)
{
DWORD dwTempHandle = VAL_ZERO;
DWORD dwTempStyle = VAL_ZERO;
dwTempHandle = dwHandle;
dwTempStyle = dwTempHandle & 0xF8000000;
dwTempStyle >>= HANDLE_OFFSET;
return (UINT)dwTempStyle;
}