diff options
Diffstat (limited to 'firmware/drivers/lcd-2bit-horz.c')
-rw-r--r-- | firmware/drivers/lcd-2bit-horz.c | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c index 37125679ad..1b192377f6 100644 --- a/firmware/drivers/lcd-2bit-horz.c +++ b/firmware/drivers/lcd-2bit-horz.c | |||
@@ -417,102 +417,6 @@ void lcd_clear_viewport(void) | |||
417 | lcd_current_viewport->flags &= ~(VP_FLAG_VP_SET_CLEAN); | 417 | lcd_current_viewport->flags &= ~(VP_FLAG_VP_SET_CLEAN); |
418 | } | 418 | } |
419 | 419 | ||
420 | /* Set a single pixel */ | ||
421 | void lcd_drawpixel(int x, int y) | ||
422 | { | ||
423 | if (lcd_clip_viewport_pixel(&x, &y)) | ||
424 | lcd_pixelfuncs[lcd_current_viewport->drawmode](x, y); | ||
425 | } | ||
426 | |||
427 | /* Draw a line */ | ||
428 | void lcd_drawline(int x1, int y1, int x2, int y2) | ||
429 | { | ||
430 | int numpixels; | ||
431 | int i; | ||
432 | int deltax, deltay; | ||
433 | int d, dinc1, dinc2; | ||
434 | int x, xinc1, xinc2; | ||
435 | int y, yinc1, yinc2; | ||
436 | int x_vp, y_vp, w_vp, h_vp; | ||
437 | lcd_pixelfunc_type *pfunc = lcd_pixelfuncs[lcd_current_viewport->drawmode]; | ||
438 | |||
439 | deltay = abs(y2 - y1); | ||
440 | if (deltay == 0) | ||
441 | { | ||
442 | /* DEBUGF("lcd_drawline() called for horizontal line - optimisation.\n"); */ | ||
443 | lcd_hline(x1, x2, y1); | ||
444 | return; | ||
445 | } | ||
446 | deltax = abs(x2 - x1); | ||
447 | if (deltax == 0) | ||
448 | { | ||
449 | /* DEBUGF("lcd_drawline() called for vertical line - optimisation.\n"); */ | ||
450 | lcd_vline(x1, y1, y2); | ||
451 | return; | ||
452 | } | ||
453 | xinc2 = 1; | ||
454 | yinc2 = 1; | ||
455 | |||
456 | if (deltax >= deltay) | ||
457 | { | ||
458 | numpixels = deltax; | ||
459 | d = 2 * deltay - deltax; | ||
460 | dinc1 = deltay * 2; | ||
461 | dinc2 = (deltay - deltax) * 2; | ||
462 | xinc1 = 1; | ||
463 | yinc1 = 0; | ||
464 | } | ||
465 | else | ||
466 | { | ||
467 | numpixels = deltay; | ||
468 | d = 2 * deltax - deltay; | ||
469 | dinc1 = deltax * 2; | ||
470 | dinc2 = (deltax - deltay) * 2; | ||
471 | xinc1 = 0; | ||
472 | yinc1 = 1; | ||
473 | } | ||
474 | numpixels++; /* include endpoints */ | ||
475 | |||
476 | if (x1 > x2) | ||
477 | { | ||
478 | xinc1 = -xinc1; | ||
479 | xinc2 = -xinc2; | ||
480 | } | ||
481 | |||
482 | if (y1 > y2) | ||
483 | { | ||
484 | yinc1 = -yinc1; | ||
485 | yinc2 = -yinc2; | ||
486 | } | ||
487 | |||
488 | x = x1; | ||
489 | y = y1; | ||
490 | |||
491 | x_vp = lcd_current_viewport->x; | ||
492 | y_vp = lcd_current_viewport->y; | ||
493 | w_vp = lcd_current_viewport->width; | ||
494 | h_vp = lcd_current_viewport->height; | ||
495 | |||
496 | for (i = 0; i < numpixels; i++) | ||
497 | { | ||
498 | if (x >= 0 && y >= 0 && x < w_vp && y < h_vp) | ||
499 | pfunc(x + x_vp, y + y_vp); | ||
500 | |||
501 | if (d < 0) | ||
502 | { | ||
503 | d += dinc1; | ||
504 | x += xinc1; | ||
505 | y += yinc1; | ||
506 | } | ||
507 | else | ||
508 | { | ||
509 | d += dinc2; | ||
510 | x += xinc2; | ||
511 | y += yinc2; | ||
512 | } | ||
513 | } | ||
514 | } | ||
515 | |||
516 | /* Draw a horizontal line (optimised) */ | 420 | /* Draw a horizontal line (optimised) */ |
517 | void lcd_hline(int x1, int x2, int y) | 421 | void lcd_hline(int x1, int x2, int y) |
518 | { | 422 | { |
@@ -564,21 +468,6 @@ void lcd_vline(int x, int y1, int y2) | |||
564 | while (dst <= dst_end); | 468 | while (dst <= dst_end); |
565 | } | 469 | } |
566 | 470 | ||
567 | /* Draw a rectangular box */ | ||
568 | void lcd_drawrect(int x, int y, int width, int height) | ||
569 | { | ||
570 | if ((width <= 0) || (height <= 0)) | ||
571 | return; | ||
572 | |||
573 | int x2 = x + width - 1; | ||
574 | int y2 = y + height - 1; | ||
575 | |||
576 | lcd_vline(x, y, y2); | ||
577 | lcd_vline(x2, y, y2); | ||
578 | lcd_hline(x, x2, y); | ||
579 | lcd_hline(x, x2, y2); | ||
580 | } | ||
581 | |||
582 | /* Fill a rectangular area */ | 471 | /* Fill a rectangular area */ |
583 | void lcd_fillrect(int x, int y, int width, int height) | 472 | void lcd_fillrect(int x, int y, int width, int height) |
584 | { | 473 | { |