|
346 | 346 | MIN(x_end, dst_width), MIN(y_end, dst_height),
|
347 | 347 | dst_width, dst_height, bytes_per_pixel, rgb565_dither);
|
348 | 348 | } else {
|
349 |
| - y_end += 1; |
| 349 | + y_end += 1; // removes black lines between blocks |
350 | 350 | if (rotate == RGB_BUS_ROTATION_90 || rotate == RGB_BUS_ROTATION_270) {
|
351 | 351 | x_start = MIN(x_start, dst_height);
|
352 | 352 | x_end = MIN(x_end, dst_height);
|
|
380 | 380 | if(x_start == 0 && x_end == (dst_width - 1) && !rgb565_dither) {
|
381 | 381 | memcpy(dst, src, dst_width * (y_end - y_start + 1) * bytes_per_pixel);
|
382 | 382 | } else {
|
383 |
| - uint32_t src_bytes_per_line = (x_end - x_start) * bytes_per_pixel; |
| 383 | + uint32_t src_bytes_per_line = (x_end - x_start + 1) * bytes_per_pixel; |
384 | 384 | uint32_t dst_bytes_per_line = dst_width * bytes_per_pixel;
|
385 | 385 |
|
386 | 386 | if (rgb565_dither) {
|
|
409 | 409 | uint32_t i;
|
410 | 410 | uint32_t j;
|
411 | 411 |
|
412 |
| - uint32_t src_bytes_per_line = x_end - x_start; |
| 412 | + uint32_t src_bytes_per_line = x_end - x_start + 1; |
413 | 413 | uint32_t offset = y_start * src_bytes_per_line + x_start;
|
414 | 414 |
|
415 | 415 | switch (rotate) {
|
|
436 | 436 | src++;
|
437 | 437 | i--;
|
438 | 438 | }
|
| 439 | + src++; |
439 | 440 | }
|
440 | 441 | break;
|
441 | 442 |
|
|
468 | 469 | uint32_t i;
|
469 | 470 | uint32_t j;
|
470 | 471 |
|
471 |
| - uint32_t src_bytes_per_line = x_end - x_start; |
| 472 | + uint32_t src_bytes_per_line = x_end - x_start + 1; |
472 | 473 | uint32_t offset = y_start * src_bytes_per_line + x_start;
|
473 | 474 |
|
474 | 475 | if (rgb565_dither) {
|
|
498 | 499 | src++;
|
499 | 500 | i--;
|
500 | 501 | }
|
| 502 | + src++; |
501 | 503 | }
|
502 | 504 | break;
|
503 | 505 |
|
|
545 | 547 | src++;
|
546 | 548 | i--;
|
547 | 549 | }
|
548 |
| - } |
| 550 | + src++; |
| 551 | + } |
549 | 552 | break;
|
550 | 553 |
|
551 | 554 | // SWAP_XY MIRROR_X
|
|
577 | 580 | uint32_t i;
|
578 | 581 | uint32_t j;
|
579 | 582 |
|
580 |
| - uint32_t src_bytes_per_line = (x_end - x_start) * 3; |
| 583 | + uint32_t src_bytes_per_line = (x_end - x_start + 1) * 3; |
581 | 584 | uint32_t offset = y_start * src_bytes_per_line + x_start * 3;
|
582 | 585 |
|
583 | 586 | switch (rotate) {
|
|
605 | 608 | src += 3;
|
606 | 609 | i -= 3;
|
607 | 610 | }
|
| 611 | + src++; |
608 | 612 | }
|
609 | 613 | break;
|
610 | 614 |
|
|
636 | 640 | uint32_t i;
|
637 | 641 | uint32_t j;
|
638 | 642 |
|
639 |
| - uint32_t src_bytes_per_line = x_end - x_start; |
| 643 | + uint32_t src_bytes_per_line = x_end - x_start + 1; |
640 | 644 | uint32_t offset = y_start * src_bytes_per_line + x_start;
|
641 | 645 |
|
642 | 646 | switch (rotate) {
|
|
663 | 667 | src++;
|
664 | 668 | i--;
|
665 | 669 | }
|
| 670 | + src++; |
666 | 671 | }
|
667 | 672 | break;
|
668 | 673 |
|
|
0 commit comments