- Timestamp:
- Apr 25, 2006, 6:28:00 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/import.c
r878 r879 197 197 198 198 #define IS_ALPHA(x) (x>='A' && x<='z') 199 void _update_canvas_size(cucul_canvas_t *cv, int x, int y, int *max_x, int *max_y);200 199 unsigned char _get_ansi_command(unsigned char const *buffer, int size); 201 200 int _parse_tuple(unsigned int *ret, unsigned char const *buffer, int size); … … 210 209 unsigned int count = 0; 211 210 unsigned int tuple[1024]; /* Should be enough. Will it be ? */ 212 int x = 0, y = 0, max_x = 80, max_y= 25;211 int x = 0, y = 0, width = 80, height = 25; 213 212 int save_x = 0, save_y = 0; 214 213 unsigned int j, add = 0; … … 218 217 bg = old_bg = CUCUL_COLOR_BLACK; 219 218 220 cv = cucul_create_canvas( max_x, max_y);219 cv = cucul_create_canvas(width, height); 221 220 222 221 for(i = 0; i < size; i++) … … 249 248 y = 0; 250 249 } 251 _update_canvas_size(cv, x, y, &max_x, &max_y);252 250 break; 253 251 case 'A': … … 257 255 y -= tuple[0]; 258 256 if(y < 0) y = 0; 259 _update_canvas_size(cv, x, y, &max_x, &max_y);260 257 break; 261 258 case 'B': … … 264 261 else 265 262 y += tuple[0]; 266 _update_canvas_size(cv, x, y, &max_x, &max_y);267 263 break; 268 264 case 'C': … … 271 267 else 272 268 x += tuple[0]; 273 _update_canvas_size(cv, x, y, &max_x, &max_y);274 269 break; 275 270 case 'D': … … 279 274 x -= tuple[0]; 280 275 if(x < 0) x = 0; 281 _update_canvas_size(cv, x, y, &max_x, &max_y);282 276 break; 283 277 case 's': … … 288 282 x = save_x; 289 283 y = save_y; 290 _update_canvas_size(cv, x, y, &max_x, &max_y);291 284 break; 292 285 case 'J': … … 295 288 x = 0; 296 289 y = 0; 297 _update_canvas_size(cv, x, y, &max_x, &max_y);298 290 } 299 291 break; … … 317 309 x = 0; 318 310 y++; 319 _update_canvas_size(cv, x, y, &max_x, &max_y);320 311 } 321 312 else if(buffer[i] == '\r') … … 334 325 cucul_putchar(cv, x, y, '?'); 335 326 x++; 336 _update_canvas_size(cv, x, y, &max_x, &max_y);337 327 } 328 } 329 330 if(x >= width || y >= height) 331 { 332 if(x >= width) 333 width = x + 1; 334 335 if(y >= height) 336 height = y + 1; 337 338 cucul_set_canvas_size(cv, width, height); 338 339 } 339 340 … … 470 471 } 471 472 472 void _update_canvas_size(cucul_canvas_t *cv, int x, int y, int *max_x, int *max_y)473 {474 if(x > *max_x)475 *max_x = x;476 477 if(y > *max_y)478 *max_y = y;479 480 cucul_set_canvas_size(cv, *max_x, *max_y);481 }482
Note: See TracChangeset
for help on using the changeset viewer.