gfx.c
changeset 2631 2ed0eb408229
parent 2548 49c8a096033f
child 2634 0df9396b0067
equal deleted inserted replaced
2630:7206058a7e82 2631:2ed0eb408229
   432 
   432 
   433 void DrawStringMultiCenter(int x, int y, uint16 str, int maxw)
   433 void DrawStringMultiCenter(int x, int y, uint16 str, int maxw)
   434 {
   434 {
   435 	char buffer[512];
   435 	char buffer[512];
   436 	uint32 tmp;
   436 	uint32 tmp;
   437 	int num, w, mt, t;
   437 	int num, w, mt;
   438 	const char *src;
   438 	const char *src;
   439 	byte c;
   439 	byte c;
   440 
   440 
   441 	GetString(buffer, str);
   441 	GetString(buffer, str);
   442 
   442 
   443 	tmp = FormatStringLinebreaks(buffer, maxw);
   443 	tmp = FormatStringLinebreaks(buffer, maxw);
   444 	num = (uint16)tmp;
   444 	num = (uint16)tmp;
   445 	t = tmp >> 16;
   445 
   446 
   446 	switch (GB(tmp, 16, 16)) {
   447 	mt = 10;
   447 		case   0: mt = 10; break;
   448 	if (t != 0) {
   448 		case 244: mt =  6; break;
   449 		mt = 6;
   449 		default:  mt = 18; break;
   450 		if (t != 244) mt = 18;
       
   451 	}
   450 	}
   452 
   451 
   453 	y -= (mt >> 1) * num;
   452 	y -= (mt >> 1) * num;
   454 
   453 
   455 	src = buffer;
   454 	src = buffer;
   479 
   478 
   480 void DrawStringMultiLine(int x, int y, uint16 str, int maxw)
   479 void DrawStringMultiLine(int x, int y, uint16 str, int maxw)
   481 {
   480 {
   482 	char buffer[512];
   481 	char buffer[512];
   483 	uint32 tmp;
   482 	uint32 tmp;
   484 	int num, w, mt, t;
   483 	int num, w, mt;
   485 	const char *src;
   484 	const char *src;
   486 	byte c;
   485 	byte c;
   487 
   486 
   488 	GetString(buffer, str);
   487 	GetString(buffer, str);
   489 
   488 
   490 	tmp = FormatStringLinebreaks(buffer, maxw);
   489 	tmp = FormatStringLinebreaks(buffer, maxw);
   491 	num = (uint16)tmp;
   490 	num = (uint16)tmp;
   492 	t = tmp >> 16;
   491 
   493 	mt = 10;
   492 	switch (GB(tmp, 16, 16)) {
   494 	if (t != 0) {
   493 		case   0: mt = 10; break;
   495 		mt = 6;
   494 		case 244: mt =  6; break;
   496 		if (t != 244) mt = 18;
   495 		default:  mt = 18; break;
   497 	}
   496 	}
   498 
   497 
   499 	src = buffer;
   498 	src = buffer;
   500 
   499 
   501 	for(;;) {
   500 	for(;;) {