Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#ifndef _MEMDC_H_
|
|
#define _MEMDC_H_
|
|
|
|
//////////////////////////////////////////////////
|
|
// CMemDC - memory DC
|
|
//
|
|
// Author: Keith Rule
|
|
// Email: keithr@europa.com
|
|
// Copyright 1996-1997, Keith Rule
|
|
//
|
|
// You may freely use or modify this code provided this
|
|
// Copyright is included in all derived versions.
|
|
//
|
|
// This class implements a memory Device Context
|
|
|
|
class CMemDC : public CDC {
|
|
private:
|
|
CBitmap* m_bitmap;
|
|
CBitmap* m_oldBitmap;
|
|
CDC* m_pDC;
|
|
CRect m_rcBounds;
|
|
public:
|
|
CMemDC(CDC* pDC, const CRect& rcBounds) : CDC()
|
|
{
|
|
CreateCompatibleDC(pDC);
|
|
m_bitmap = new CBitmap;
|
|
m_bitmap->CreateCompatibleBitmap(pDC, rcBounds.Width(), rcBounds.Height());
|
|
m_oldBitmap = SelectObject(m_bitmap);
|
|
m_pDC = pDC;
|
|
m_rcBounds = rcBounds;
|
|
}
|
|
~CMemDC()
|
|
{
|
|
m_pDC->BitBlt(m_rcBounds.left, m_rcBounds.top, m_rcBounds.Width(), m_rcBounds.Height(),
|
|
this, m_rcBounds.left, m_rcBounds.top, SRCCOPY);
|
|
SelectObject(m_oldBitmap);
|
|
if (m_bitmap != NULL) delete m_bitmap;
|
|
}
|
|
CMemDC* operator->() {
|
|
return this;
|
|
}
|
|
};
|
|
|
|
#endif |