2#include "helper/SMemDC.h"
13SMemDC::SMemDC(HDC hdc,
const CRect &rc)
21SMemDC::SMemDC(HDC hdc, HBITMAP hBmp)
25 m_hDC = CreateCompatibleDC(hdc);
26 SASSERT(m_hDC != NULL);
28 m_hOldBmp = (HBITMAP)::SelectObject(m_hDC, hBmp);
31 ::SetViewportOrgEx(m_hDC, 0, 0, NULL);
39HBITMAP SMemDC::SelectBitmap(HBITMAP hBmp)
44 m_hOldBmp = (HBITMAP)::SelectObject(m_hDC, hBmp);
47 ::SetViewportOrgEx(m_hDC, 0, 0, NULL);
50 else if (m_bHasBitmap)
52 HBITMAP hBmp = (HBITMAP)::SelectObject(m_hDC, m_hOldBmp);
64void SMemDC::DeleteDC()
66 if (m_hDC && m_hOldBmp)
68 HBITMAP hBmp = (HBITMAP)::SelectObject(m_hDC, m_hOldBmp);
78BOOL SMemDC::InitDC(HDC hdc,
const CRect &rc)
82 m_hDC = ::CreateCompatibleDC(hdc);
85 HBITMAP hBmp = CreateCompatibleBitmap(hdc, rc.Width(), rc.Height());
91 m_hOldBmp = (HBITMAP)SelectObject(m_hDC, hBmp);
92 ::SetViewportOrgEx(m_hDC, -rc.left, -rc.top, NULL);