summaryrefslogtreecommitdiff
path: root/shared-bindings/displayio
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-05-16 16:45:38 -0700
committerScott Shawcroft <scott@tannewt.org>2019-05-21 17:41:06 -0700
commit3fad7de8db7f1f317ab6d00a00a82e406ec6fb33 (patch)
treed3c50c49fdbb62c69feec210531b5b02e3e6304d /shared-bindings/displayio
parenta888fe4c8e12144141b9c0730d3d25ebea33cbc7 (diff)
Rework the pixel computation to use areas
This changes the displayio pixel computation from per-pixel to per-area. This is precursor work to updating portions of the screen (#1169). It should provide mild speedups because bounds checks are done once per area rather than once per pixel. Filling by area also allows TileGrid to maintain a row-associative fill pattern even when the display's refresh is orthogonal to it.
Diffstat (limited to 'shared-bindings/displayio')
-rw-r--r--shared-bindings/displayio/Display.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h
index 3136ae88a..6695da32b 100644
--- a/shared-bindings/displayio/Display.h
+++ b/shared-bindings/displayio/Display.h
@@ -53,6 +53,7 @@ void common_hal_displayio_display_refresh_soon(displayio_display_obj_t* self);
bool displayio_display_begin_transaction(displayio_display_obj_t* self);
void displayio_display_end_transaction(displayio_display_obj_t* self);
+// The second point of the region is exclusive.
void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
bool displayio_display_frame_queued(displayio_display_obj_t* self);