|
|
| version 1.11, 2005/02/15 18:42:20 | version 1.12, 2005/02/16 09:31:55 |
|---|---|
| Line 47 enum { | Line 47 enum { |
| IDM_TRACECL | IDM_TRACECL |
| }; | }; |
| static const char ProgTitle[] = "console"; | static const TCHAR ProgTitle[] = _T("console"); |
| static const char ClassName[] = "TRACE-console"; | static const TCHAR ClassName[] = _T("TRACE-console"); |
| static const char ClassEdit[] = "EDIT"; | static const TCHAR ClassEdit[] = _T("EDIT"); |
| static const char trace1[] = "TRACE"; | static const TCHAR trace1[] = _T("TRACE"); |
| static const char trace2[] = "VERBOSE"; | static const TCHAR trace2[] = _T("VERBOSE"); |
| static const char traceen[] = "Enable"; | static const TCHAR traceen[] = _T("Enable"); |
| static const char tracefh[] = "File out"; | static const TCHAR tracefh[] = _T("File out"); |
| static const char tracecl[] = "Clear"; | static const TCHAR tracecl[] = _T("Clear"); |
| static const char crlf[] = "\r\n"; | static const TCHAR fontface[] = _T(VIEW_TEXT); |
| static const TCHAR crlf[] = _T("\r\n"); | |
| static TRACEWIN tracewin; | static TRACEWIN tracewin; |
| static HWND hView = NULL; | static HWND hView = NULL; |
| static HFONT hfView = NULL; | static HFONT hfView = NULL; |
| static HBRUSH hBrush = NULL; | static HBRUSH hBrush = NULL; |
| static char szView[VIEW_BUFFERSIZE]; | static int viewpos; |
| static int viewleng; | |
| static TCHAR viewbuf[VIEW_BUFFERSIZE * 2]; | |
| static TRACECFG tracecfg; | static TRACECFG tracecfg; |
| static int devpos; | static int devpos; |
| static char devstr[256]; | static char devstr[256]; |
| static const char np2trace[] = "np2trace.ini"; | static const OEMCHAR np2trace[] = OEMTEXT("np2trace.ini"); |
| static const char inititle[] = "TRACE"; | static const char inititle[] = "TRACE"; |
| static const INITBL initbl[4] = { | static const INITBL initbl[4] = { |
| {"posx", INITYPE_SINT32, &tracecfg.posx, 0}, | {"posx", INITYPE_SINT32, &tracecfg.posx, 0}, |
| Line 85 static void View_ScrollToBottom(HWND hWn | Line 88 static void View_ScrollToBottom(HWND hWn |
| static void View_ClrString(void) { | static void View_ClrString(void) { |
| szView[0] = '\0'; | viewpos = 0; |
| SetWindowText(hView, szView); | viewleng = 0; |
| viewbuf[0] = '\0'; | |
| SetWindowText(hView, viewbuf); | |
| } | } |
| static void View_AddString(const char *lpszString) { | static void View_AddString(const TCHAR *string) { |
| int len, vlen; | int slen; |
| char *p; | int vpos; |
| int vlen; | |
| TCHAR c; | |
| len = strlen(lpszString); | slen = lstrlen(string); |
| if ((!len) || ((len + 3) > VIEW_BUFFERSIZE)) { | if ((slen == 0) || ((slen + 3) > VIEW_BUFFERSIZE)) { |
| return; | return; |
| } | } |
| vlen = strlen(szView); | vpos = viewpos; |
| if ((vlen + len + 3) > VIEW_BUFFERSIZE) { | vlen = viewleng; |
| p = szView; | if ((vpos + vlen + slen + 3) > (VIEW_BUFFERSIZE * 2)) { |
| while(*p) { | while(vlen > 0) { |
| vlen--; | vlen--; |
| if ((*p++ == 0x0a) && ((vlen + len + 3) <= VIEW_BUFFERSIZE)) { | c = viewbuf[vpos++]; |
| if ((c == 0x0a) && ((vlen + slen + 3) <= VIEW_BUFFERSIZE)) { | |
| break; | break; |
| } | } |
| } | } |
| strcpy(szView, p); | if (vpos >= VIEW_BUFFERSIZE) { |
| if (vlen) { | |
| CopyMemory(viewbuf, viewbuf + vpos, vlen * sizeof(TCHAR)); | |
| } | |
| vpos = 0; | |
| viewpos = 0; | |
| } | |
| } | } |
| strcat(szView, lpszString); | CopyMemory(viewbuf + vpos + vlen, string, slen * sizeof(TCHAR)); |
| strcat(szView, crlf); | vlen += slen; |
| SetWindowText(hView, szView); | viewbuf[vpos + vlen + 0] = '\r'; |
| viewbuf[vpos + vlen + 1] = '\n'; | |
| viewbuf[vpos + vlen + 2] = '\0'; | |
| viewleng = vlen + 3; | |
| SetWindowText(hView, viewbuf + vpos); | |
| View_ScrollToBottom(hView); | View_ScrollToBottom(hView); |
| } | } |
| Line 145 static void trfh_close(void) { | Line 163 static void trfh_close(void) { |
| } | } |
| } | } |
| static void trfh_open(const char *fname) { | static void trfh_open(const OEMCHAR *fname) { |
| trfh_close(); | trfh_close(); |
| tracewin.fh = file_create(fname); | tracewin.fh = file_create(fname); |
| Line 228 static LRESULT CALLBACK traceproc(HWND h | Line 246 static LRESULT CALLBACK traceproc(HWND h |
| hfView = CreateFont(VIEW_SIZE, 0, 0, 0, 0, 0, 0, 0, | hfView = CreateFont(VIEW_SIZE, 0, 0, 0, 0, 0, 0, 0, |
| SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, | SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, |
| DEFAULT_QUALITY, FIXED_PITCH, VIEW_TEXT); | DEFAULT_QUALITY, FIXED_PITCH, fontface); |
| if (!hfView) { | if (!hfView) { |
| break; | break; |
| } | } |
| Line 349 void trace_init(void) { | Line 367 void trace_init(void) { |
| HWND hwnd; | HWND hwnd; |
| ZeroMemory(&tracewin, sizeof(tracewin)); | |
| if (!hPrev) { | if (!hPrev) { |
| WNDCLASS wc; | WNDCLASS wc; |
| wc.style = CS_HREDRAW | CS_VREDRAW; | wc.style = CS_HREDRAW | CS_VREDRAW; |