More efficient utf-8 to tchar conversion

remove 'graph' from SetColor
This commit is contained in:
Jim Monte 2020-04-25 19:29:36 +02:00 committed by Holger Vogt
parent 3b0b944128
commit ca2be5dd41
2 changed files with 16 additions and 17 deletions

View File

@ -694,10 +694,10 @@ int WIN_NewViewport(GRAPH *graph)
0, 0, WinLineWidth, i * 2 - 22, NULL, NULL, hInst, NULL);
#else
/* UTF-8 support */
const int n_byte_wide = 2 * (int)strlen(graph->plotname) + 1;
wchar_t* const wtext = TMALLOC(wchar_t, n_byte_wide);
const int n_byte_wide2 = 2 * (int)strlen(WindowName) + 1;
wchar_t* const wtext2 = TMALLOC(wchar_t, n_byte_wide2);
const int n_byte_wide = 2 * (int) strlen(graph->plotname) + 1;
wchar_t * const wtext = TMALLOC(wchar_t, n_byte_wide);
const int n_byte_wide2 = 2 * (int) strlen(WindowName) + 1;
wchar_t * const wtext2 = TMALLOC(wchar_t, n_byte_wide2);
/* translate UTF-8 to UTF-16 */
MultiByteToWideChar(CP_UTF8, 0, graph->plotname, -1, wtext, n_byte_wide);
MultiByteToWideChar(CP_UTF8, 0, WindowName, -1, wtext2, n_byte_wide2);
@ -958,7 +958,7 @@ WIN_Text_old(char *text, int x, int y, int degrees)
#endif
int WIN_Text(char *text, int x, int y, int angle)
int WIN_Text(const char *text, int x, int y, int angle)
{
tpWindowData wd;
HFONT hfont;
@ -1044,11 +1044,11 @@ int WIN_Text(char *text, int x, int y, int angle)
#ifdef EXT_ASC
TextOut(wd->hDC, x, wd->Area.bottom - y - currentgraph->fontheight, text, (int)strlen(text));
#else
const int n_byte_wide = 2 * (int)strlen(text) + 1;
wchar_t* const wtext = TMALLOC(wchar_t, n_byte_wide);
const int n_byte_wide = 2 * (int) strlen(text) + 1;
wchar_t * const wtext = TMALLOC(wchar_t, n_byte_wide);
MultiByteToWideChar(CP_UTF8, 0, text, -1, wtext, n_byte_wide);
TextOutW(wd->hDC, x, wd->Area.bottom - y - currentgraph->fontheight,
wtext, n_byte_wide);
wtext, n_byte_wide);
txfree(wtext);
#endif
DeleteObject(SelectObject(wd->hDC, hfont));
@ -1082,9 +1082,8 @@ int WIN_SetLinestyle(int style)
}
int WIN_SetColor(int color, GRAPH *graph)
int WIN_SetColor(int color)
{
NG_IGNORE(graph);
tpWindowData wd;
if (!currentgraph)

View File

@ -294,12 +294,12 @@ int WPRINT_NewViewport(GRAPH * graph)
TextOut(PrinterDC, PrinterWidth - graph->fontwidth, 1, graph->plotname,
(int)strlen(graph->plotname));
#else
const int n_byte_wide = 2 * (int)strlen(graph->plotname) + 1;
wchar_t* const wtext = TMALLOC(wchar_t, n_byte_wide);
const int n_byte_wide = 2 * (int) strlen(graph->plotname) + 1;
wchar_t * const wtext = TMALLOC(wchar_t, n_byte_wide);
MultiByteToWideChar(CP_UTF8, 0, graph->plotname, -1, wtext,
n_byte_wide);
n_byte_wide);
TextOutW(PrinterDC, PrinterWidth - graph->fontwidth, 1, wtext,
n_byte_wide);
n_byte_wide);
txfree(wtext);
#endif
SetTextAlign(PrinterDC, align);
@ -433,11 +433,11 @@ int WPRINT_Text(char * text, int x, int y, int degrees)
#ifdef EXT_ASC
TextOut(PrinterDC, x, PrinterHeight - y - currentgraph->fontheight, text, (int)strlen(text));
#else
const int n_byte_wide = 2 * (int)strlen(text) + 1;
wchar_t* const wtext = TMALLOC(wchar_t, n_byte_wide);
const int n_byte_wide = 2 * (int) strlen(text) + 1;
wchar_t * const wtext = TMALLOC(wchar_t, n_byte_wide);
MultiByteToWideChar(CP_UTF8, 0, text, -1, wtext, n_byte_wide);
TextOutW(PrinterDC, x, PrinterHeight - y - currentgraph->fontheight,
wtext, n_byte_wide);
wtext, n_byte_wide);
txfree(wtext);
#endif
return (0);