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

Method DrawFrameWindow

source/Windows/WinFrame.cpp:464–532  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

462
463//===========================================================================
464void Win32Frame::DrawFrameWindow (bool bPaintingWindow/*=false*/)
465{
466 FrameReleaseDC();
467 PAINTSTRUCT ps;
468 HDC dc = bPaintingWindow
469 ? BeginPaint(g_hFrameWindow,&ps)
470 : GetDC(g_hFrameWindow);
471
472 if (!g_bIsFullScreen)
473 {
474 // DRAW THE 3D BORDER AROUND THE EMULATED SCREEN
475 Draw3dRect(dc,
476 VIEWPORTX-2,VIEWPORTY-2,
477 VIEWPORTX+g_nViewportCX+2,VIEWPORTY+g_nViewportCY+2,
478 0);
479 Draw3dRect(dc,
480 VIEWPORTX-3,VIEWPORTY-3,
481 VIEWPORTX+g_nViewportCX+3,VIEWPORTY+g_nViewportCY+3,
482 0);
483 SelectObject(dc,btnfacepen);
484 Rectangle(dc,
485 VIEWPORTX-4,VIEWPORTY-4,
486 VIEWPORTX+g_nViewportCX+4,VIEWPORTY+g_nViewportCY+4);
487 Rectangle(dc,
488 VIEWPORTX-5,VIEWPORTY-5,
489 VIEWPORTX+g_nViewportCX+5,VIEWPORTY+g_nViewportCY+5);
490
491 // DRAW THE TOOLBAR BUTTONS
492 int iButton = BUTTONS;
493 while (iButton--)
494 {
495 DrawButton(dc,iButton);
496 }
497
498 if (g_nViewportScale == 2 || GetVideo().HasVidHD())
499 {
500 const int x = buttonx + 1;
501 const int y = buttony + BUTTONS * BUTTONCY + 36; // 36 = height of StatusArea
502 RECT rect = { x, y, x + BUTTONCX, y + BUTTONS * BUTTONCY + 22 };
503
504 if (GetVideo().HasVidHD())
505 {
506 if (g_nViewportScale == 1)
507 rect.bottom += 14;
508 else
509 rect.bottom += 32;
510 }
511
512 int res = FillRect(dc, &rect, btnfacebrush);
513 }
514 }
515
516 // DRAW THE STATUS AREA
517 DrawStatusArea(dc,DRAW_BACKGROUND | DRAW_LEDS | DRAW_DISK_STATUS);
518
519 // DRAW THE CONTENTS OF THE EMULATED SCREEN
520 if (g_nAppMode == MODE_LOGO)
521 DisplayLogo();

Callers

nothing calls this directly

Calls 2

DebugDisplayFunction · 0.85
HasVidHDMethod · 0.80

Tested by

no test coverage detected