src/gfx.cpp
branch0.6
changeset 11150 4e3726a46a72
parent 11130 488ecb9d3296
equal deleted inserted replaced
11132:6dd6907c378d 11150:4e3726a46a72
   228 	for (ddd_pos = str; (c = Utf8Consume((const char **)&str)) != '\0'; ) {
   228 	for (ddd_pos = str; (c = Utf8Consume((const char **)&str)) != '\0'; ) {
   229 		if (IsPrintable(c)) {
   229 		if (IsPrintable(c)) {
   230 			w += GetCharacterWidth(size, c);
   230 			w += GetCharacterWidth(size, c);
   231 
   231 
   232 			if (w >= maxw) {
   232 			if (w >= maxw) {
   233 				/* string got too big... insert dotdotdot */
   233 				/* string got too big... insert dotdotdot, but make sure we do not
   234 				ddd_pos[0] = ddd_pos[1] = ddd_pos[2] = '.';
   234 				 * print anything beyond the string termination character. */
   235 				ddd_pos[3] = '\0';
   235 				for (int i = 0; *ddd_pos != '\0' && i < 3; i++, ddd_pos++) *ddd_pos = '.';
       
   236 				*ddd_pos = '\0';
   236 				return ddd_w;
   237 				return ddd_w;
   237 			}
   238 			}
   238 		} else {
   239 		} else {
   239 			if (c == SCC_SETX) str++;
   240 			if (c == SCC_SETX) {
   240 			else if (c == SCC_SETXY) str += 2;
   241 				w = *str;
   241 			else if (c == SCC_TINYFONT) {
   242 				str++;
       
   243 			} else if (c == SCC_SETXY) {
       
   244 				w = *str;
       
   245 				str += 2;
       
   246 			} else if (c == SCC_TINYFONT) {
   242 				size = FS_SMALL;
   247 				size = FS_SMALL;
   243 				ddd = GetCharacterWidth(size, '.') * 3;
   248 				ddd = GetCharacterWidth(size, '.') * 3;
   244 			} else if (c == SCC_BIGFONT) {
   249 			} else if (c == SCC_BIGFONT) {
   245 				size = FS_LARGE;
   250 				size = FS_LARGE;
   246 				ddd = GetCharacterWidth(size, '.') * 3;
   251 				ddd = GetCharacterWidth(size, '.') * 3;