circuitpython/shared-bindings
Scott Shawcroft eb21fc3e31
Add partial display update support.
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.

Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.

This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.

Fixes #1169. Fixes #1705. Fixes #1923.
2019-06-12 11:32:39 -07:00
..
_pew Add better PewPew error messages and update translations 2019-03-12 17:21:15 -07:00
_pixelbuf Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
_stage Remove native init check from stage. 2019-05-14 10:20:04 -07:00
analogio Add subclass support to displayio. 2019-01-14 17:29:19 -08:00
audiobusio Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
audioio Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
bitbangio Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
bleio Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
board Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
busio Merge pull request #1920 from tannewt/fix_rst 2019-06-07 23:41:00 -05:00
digitalio Fully split gamepadshift from gamepad 2019-04-16 10:11:54 -07:00
displayio Add partial display update support. 2019-06-12 11:32:39 -07:00
fontio Move Glyph and BuiltinFont into fontio 2019-03-19 16:22:09 -07:00
frequencyio update RTD documentation 2019-03-02 18:33:37 -06:00
gamepad Merge pull request #1808 from pewpew-game/gamepad-doc 2019-04-17 11:06:19 -04:00
gamepadshift Include cleanup and style tweaks 2019-04-16 10:19:07 -07:00
i2cslave Add subclass support to displayio. 2019-01-14 17:29:19 -08:00
math Support internationalisation. 2018-08-07 14:58:57 -07:00
microcontroller Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
multiterminal Support internationalisation. 2018-08-07 14:58:57 -07:00
neopixel_write Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
network Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
nvm Fix up single-byte access to nvm.ByteArray 2019-04-16 14:53:44 +10:00
os Compress all translated strings with Huffman coding. 2018-08-16 17:40:57 -07:00
ps2io Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
pulseio Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
random Support internationalisation. 2018-08-07 14:58:57 -07:00
rotaryio Add subclass support to displayio. 2019-01-14 17:29:19 -08:00
rtc Remove unnecessary MP_WEAK declarations 2019-04-02 13:33:22 +11:00
socket Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
storage Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
struct Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
supervisor Remove nRF52832 support 2018-12-30 22:49:20 -05:00
terminalio Fix up sphinx 2019-03-19 18:37:41 -07:00
time Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
touchio Add subclass support to displayio. 2019-01-14 17:29:19 -08:00
uheap Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
usb_hid A variety of displayio improvements 2019-02-11 20:55:05 -08:00
usb_midi Remove usb_midi.PortIn and PortOut constructors. 2019-02-06 22:22:15 -06:00
ustack Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
wiznet Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
help.c Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
index.rst Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
util.c Support internationalisation. 2018-08-07 14:58:57 -07:00
util.h Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00