mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-08-20 02:29:31 +00:00
* Debug.cpp: move Win32 functions to separate file. * Move _tcscat -> strcat to maximise portability. * Remove unneeded Win32 check.
89 lines
2.5 KiB
C++
89 lines
2.5 KiB
C++
#pragma once
|
|
|
|
// Win32 Debugger Font
|
|
|
|
enum ConsoleFontSize_e
|
|
{
|
|
// Grid Alignment
|
|
CONSOLE_FONT_GRID_X = 7,
|
|
CONSOLE_FONT_GRID_Y = 8,
|
|
|
|
// Font Char Width/Height in pixels
|
|
CONSOLE_FONT_WIDTH = 7,
|
|
CONSOLE_FONT_HEIGHT = 8,
|
|
|
|
CONSOLE_FONT_NUM_CHARS_PER_ROW = 16,
|
|
CONSOLE_FONT_NUM_ROWS = 16,
|
|
|
|
CONSOLE_FONT_BITMAP_WIDTH = CONSOLE_FONT_WIDTH * CONSOLE_FONT_NUM_CHARS_PER_ROW, // 112 pixels
|
|
CONSOLE_FONT_BITMAP_HEIGHT = CONSOLE_FONT_HEIGHT * CONSOLE_FONT_NUM_ROWS, // 128 pixels
|
|
};
|
|
|
|
enum
|
|
{
|
|
DISPLAY_HEIGHT = 384,
|
|
MAX_DISPLAY_LINES = DISPLAY_HEIGHT / CONSOLE_FONT_HEIGHT,
|
|
};
|
|
|
|
int GetConsoleTopPixels( int y );
|
|
|
|
extern FontConfig_t g_aFontConfig[ NUM_FONTS ];
|
|
|
|
void DebuggerSetColorFG( COLORREF nRGB );
|
|
void DebuggerSetColorBG( COLORREF nRGB, bool bTransparent = false );
|
|
|
|
void FillBackground(long left, long top, long right, long bottom);
|
|
|
|
// Display ____________________________________________________________________
|
|
void UpdateDisplay(Update_t bUpdate);
|
|
|
|
int PrintText ( const char * pText, RECT & rRect );
|
|
int PrintTextCursorX( const char * pText, RECT & rRect );
|
|
int PrintTextCursorY( const char * pText, RECT & rRect );
|
|
|
|
void PrintTextColor ( const conchar_t * pText, RECT & rRect );
|
|
|
|
void DrawWindow_Source (Update_t bUpdate);
|
|
|
|
void DrawBreakpoints ( int line);
|
|
void DrawConsoleInput ();
|
|
void DrawConsoleLine ( const conchar_t * pText, int y);
|
|
void DrawConsoleCursor ();
|
|
|
|
//
|
|
|
|
extern HDC GetDebuggerMemDC(void);
|
|
extern void ReleaseDebuggerMemDC(void);
|
|
extern void StretchBltMemToFrameDC(void);
|
|
extern HDC GetConsoleFontDC(void);
|
|
extern void ReleaseConsoleFontDC(void);
|
|
|
|
enum DebugVirtualTextScreen_e
|
|
{
|
|
DEBUG_VIRTUAL_TEXT_WIDTH = 80,
|
|
DEBUG_VIRTUAL_TEXT_HEIGHT = 43
|
|
};
|
|
|
|
extern char g_aDebuggerVirtualTextScreen[ DEBUG_VIRTUAL_TEXT_HEIGHT ][ DEBUG_VIRTUAL_TEXT_WIDTH ];
|
|
extern size_t Util_GetDebuggerText( char* &pText_ ); // Same API as Util_GetTextScreen()
|
|
|
|
extern unsigned __int64 g_nCumulativeCycles;
|
|
class VideoScannerDisplayInfo
|
|
{
|
|
public:
|
|
VideoScannerDisplayInfo(void) : isDecimal(false), isHorzReal(false), cycleMode(rel),
|
|
lastCumulativeCycles(0), savedCumulativeCycles(0), cycleDelta(0) {}
|
|
void Reset(void) { lastCumulativeCycles = savedCumulativeCycles = g_nCumulativeCycles; cycleDelta = 0; }
|
|
|
|
bool isDecimal;
|
|
bool isHorzReal;
|
|
enum CYCLE_MODE {abs=0, rel, part};
|
|
CYCLE_MODE cycleMode;
|
|
|
|
unsigned __int64 lastCumulativeCycles;
|
|
unsigned __int64 savedCumulativeCycles;
|
|
UINT cycleDelta;
|
|
};
|
|
|
|
extern VideoScannerDisplayInfo g_videoScannerDisplayInfo;
|