MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / GetDebuggerMemDC

Function GetDebuggerMemDC

source/Debugger/Debugger_Display.cpp:507–541  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

505//===========================================================================
506
507HDC GetDebuggerMemDC(void)
508{
509 if (!g_hDebuggerMemDC)
510 {
511 Win32Frame& win32Frame = Win32Frame::GetWin32Frame();
512
513 HDC hFrameDC = win32Frame.FrameGetDC();
514 g_hDebuggerMemDC = CreateCompatibleDC(hFrameDC);
515
516 // CREATE A BITMAPINFO STRUCTURE FOR THE FRAME BUFFER
517 g_pDebuggerMemFramebufferinfo = (LPBITMAPINFO) new BYTE[sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD)];
518
519 memset(g_pDebuggerMemFramebufferinfo, 0, sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD));
520 g_pDebuggerMemFramebufferinfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
521 g_pDebuggerMemFramebufferinfo->bmiHeader.biWidth = 560;
522 g_pDebuggerMemFramebufferinfo->bmiHeader.biHeight = 384;
523 g_pDebuggerMemFramebufferinfo->bmiHeader.biPlanes = 1;
524 g_pDebuggerMemFramebufferinfo->bmiHeader.biBitCount = 32;
525 g_pDebuggerMemFramebufferinfo->bmiHeader.biCompression = BI_RGB;
526 g_pDebuggerMemFramebufferinfo->bmiHeader.biClrUsed = 0;
527
528
529 // CREATE THE FRAME BUFFER DIB SECTION
530 g_hDebuggerMemBM = CreateDIBSection(
531 hFrameDC,
532 g_pDebuggerMemFramebufferinfo,
533 DIB_RGB_COLORS,
534 (LPVOID*)&g_pDebuggerMemFramebits, 0, 0
535 );
536 SelectObject(g_hDebuggerMemDC, g_hDebuggerMemBM);
537 }
538
539 _ASSERT(g_hDebuggerMemDC); // TC: Could this be NULL?
540 return g_hDebuggerMemDC;
541}
542
543void ReleaseDebuggerMemDC(void)
544{

Callers 14

StretchBltMemToFrameDCFunction · 0.85
DebuggerSetColorFGFunction · 0.85
DebuggerSetColorBGFunction · 0.85
PrintGlyphFunction · 0.85
DrawBreakpointsFunction · 0.85
DrawDisassemblyLineFunction · 0.85
DrawFlagsFunction · 0.85
DrawSubWindow_ConsoleFunction · 0.85
UpdateDisplayFunction · 0.85

Calls 1

FrameGetDCMethod · 0.80

Tested by

no test coverage detected