summaryrefslogtreecommitdiff
path: root/Bus/Horloge/MemDC.h
diff options
context:
space:
mode:
Diffstat (limited to 'Bus/Horloge/MemDC.h')
-rw-r--r--Bus/Horloge/MemDC.h104
1 files changed, 0 insertions, 104 deletions
diff --git a/Bus/Horloge/MemDC.h b/Bus/Horloge/MemDC.h
deleted file mode 100644
index 494fbbe..0000000
--- a/Bus/Horloge/MemDC.h
+++ /dev/null
@@ -1,104 +0,0 @@
-#ifndef _MEMDC_H_
-#define _MEMDC_H_
-
-//////////////////////////////////////////////////
-// CMemDC - memory DC
-//
-// Author: Keith Rule
-// Email: keithr@europa.com
-// Copyright 1996-1999, Keith Rule
-//
-// You may freely use or modify this code provided this
-// Copyright is included in all derived versions.
-//
-// History - 10/3/97 Fixed scrolling bug.
-// Added print support. - KR
-//
-// 11/3/99 Fixed most common complaint. Added
-// background color fill. - KR
-//
-// 11/3/99 Added support for mapping modes other than
-// MM_TEXT as suggested by Lee Sang Hun. - KR
-//
-// This class implements a memory Device Context which allows
-// flicker free drawing.
-
-class CMemDC : public CDC {
-private:
- CBitmap m_bitmap; // Offscreen bitmap
- CBitmap* m_oldBitmap; // bitmap originally found in CMemDC
- CDC* m_pDC; // Saves CDC passed in constructor
- CRect m_rect; // Rectangle of drawing area.
- BOOL m_bMemDC; // TRUE if CDC really is a Memory DC.
-public:
-
- CMemDC(CDC* pDC, const CRect* pRect = NULL) : CDC()
- {
- ASSERT(pDC != NULL);
-
- // Some initialization
- m_pDC = pDC;
- m_oldBitmap = NULL;
- m_bMemDC = !pDC->IsPrinting();
-
- // Get the rectangle to draw
- if (pRect == NULL) {
- pDC->GetClipBox(&m_rect);
- } else {
- m_rect = *pRect;
- }
-
- if (m_bMemDC) {
- // Create a Memory DC
- CreateCompatibleDC(pDC);
- pDC->LPtoDP(&m_rect);
-
- m_bitmap.CreateCompatibleBitmap(pDC, m_rect.Width(), m_rect.Height());
- m_oldBitmap = SelectObject(&m_bitmap);
-
- SetMapMode(pDC->GetMapMode());
- pDC->DPtoLP(&m_rect);
- SetWindowOrg(m_rect.left, m_rect.top);
- } else {
- // Make a copy of the relevent parts of the current DC for printing
- m_bPrinting = pDC->m_bPrinting;
- m_hDC = pDC->m_hDC;
- m_hAttribDC = pDC->m_hAttribDC;
- }
-
- // Fill background
- FillSolidRect(m_rect, pDC->GetBkColor());
- }
-
-
- ~CMemDC()
- {
- if (m_bMemDC) {
- // Copy the offscreen bitmap onto the screen.
- m_pDC->BitBlt(m_rect.left, m_rect.top, m_rect.Width(), m_rect.Height(),
- this, m_rect.left, m_rect.top, SRCCOPY);
-
- //Swap back the original bitmap.
- SelectObject(m_oldBitmap);
- } else {
- // All we need to do is replace the DC with an illegal value,
- // this keeps us from accidently deleting the handles associated with
- // the CDC that was passed to the constructor.
- m_hDC = m_hAttribDC = NULL;
- }
- }
-
- // Allow usage as a pointer
- CMemDC* operator->()
- {
- return this;
- }
-
- // Allow usage as a pointer
- operator CMemDC*()
- {
- return this;
- }
-};
-
-#endif \ No newline at end of file