diff options
| author | Jeff Epler <jeff@adafruit.com> | 2021-03-01 09:19:20 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-01 09:19:20 -0600 |
| commit | 58de61121777b836d525ea5e24973909bdb8a7fa (patch) | |
| tree | fc07ad19e6e1b95d113e24f1a29766e033dd8e0f | |
| parent | 538cd7eadad5a7364cd33650ecbdb735ca89d27d (diff) | |
| parent | 3afc269b18dd8239b170ecbbe47e506306b3db8a (diff) | |
Merge pull request #4278 from kmatch98/blit_self
fix two off by one errors
| -rw-r--r-- | shared-module/displayio/Bitmap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/shared-module/displayio/Bitmap.c b/shared-module/displayio/Bitmap.c index cf34f2d35..c9ea83428 100644 --- a/shared-module/displayio/Bitmap.c +++ b/shared-module/displayio/Bitmap.c @@ -130,14 +130,14 @@ void common_hal_displayio_bitmap_blit(displayio_bitmap_t *self, int16_t x, int16 // simplest version - use internal functions for get/set pixels for (int16_t i=0; i < (x2-x1); i++) { - const int xs_index = x_reverse ? ( (x2 - 1) - i ) : x1+i; // x-index into the source bitmap - const int xd_index = x_reverse ? ((x + (x2-x1)) - i ) : x+i; // x-index into the destination bitmap + const int xs_index = x_reverse ? ( (x2) - i - 1) : x1+i; // x-index into the source bitmap + const int xd_index = x_reverse ? ((x + (x2-x1)) - i - 1) : x+i; // x-index into the destination bitmap if ( (xd_index >= 0) && (xd_index < self->width) ) { for (int16_t j=0; j < (y2-y1) ; j++){ - const int ys_index = y_reverse ? ( (y2 - 1) - j ) : y1+j ; // y-index into the source bitmap - const int yd_index = y_reverse ? ((y + (y2-y1)) - j ) : y+j ; // y-index into the destination bitmap + const int ys_index = y_reverse ? ( (y2 ) - j - 1) : y1+j ; // y-index into the source bitmap + const int yd_index = y_reverse ? ((y + (y2-y1)) - j - 1) : y+j ; // y-index into the destination bitmap if ((yd_index >= 0) && (yd_index < self->height) ) { uint32_t value = common_hal_displayio_bitmap_get_pixel(source, xs_index, ys_index); |
