<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-bindings/displayio, branch 4.1.0-beta.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=4.1.0-beta.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=4.1.0-beta.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-06-13T07:34:19+00:00</updated>
<entry>
<title>Minor tweaks based on Dan's feedback</title>
<updated>2019-06-13T07:34:19+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-06-13T07:34:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6f6dcafd906b2ac49291f4220f3fcc7cea6112e1'/>
<id>urn:sha1:6f6dcafd906b2ac49291f4220f3fcc7cea6112e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add partial display update support.</title>
<updated>2019-06-12T18:32:39+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-06-06T22:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eb21fc3e31790cee094d5c11811b55a57625340a'/>
<id>urn:sha1:eb21fc3e31790cee094d5c11811b55a57625340a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Merge pull request #1920 from tannewt/fix_rst</title>
<updated>2019-06-08T04:41:00+00:00</updated>
<author>
<name>sommersoft</name>
<email>sommersoft@users.noreply.github.com</email>
</author>
<published>2019-06-08T04:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9e4396bdcd33740d188a59191e00f8a398ee1ed1'/>
<id>urn:sha1:9e4396bdcd33740d188a59191e00f8a398ee1ed1</id>
<content type='text'>
Improve rST consistency for rst2pyi use</content>
</entry>
<entry>
<title>Improve rST consistency for rst2pyi use</title>
<updated>2019-05-31T02:02:47+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-31T02:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cfe24b85322a029758c3376eed2726657397bf33'/>
<id>urn:sha1:cfe24b85322a029758c3376eed2726657397bf33</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework the pixel computation to use areas</title>
<updated>2019-05-22T00:41:06+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-16T23:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3fad7de8db7f1f317ab6d00a00a82e406ec6fb33'/>
<id>urn:sha1:3fad7de8db7f1f317ab6d00a00a82e406ec6fb33</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add index and remove to Group.</title>
<updated>2019-05-15T18:33:16+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-15T18:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5608e273a01d0c39d2f82c695eec860288afa4a8'/>
<id>urn:sha1:5608e273a01d0c39d2f82c695eec860288afa4a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make Group iterable via a generic native iterator.</title>
<updated>2019-05-14T22:15:23+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-14T22:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b7b55e0c0a0187f4d248d9b52cd972af5d928336'/>
<id>urn:sha1:b7b55e0c0a0187f4d248d9b52cd972af5d928336</id>
<content type='text'>
Fixes #1694
</content>
</entry>
<entry>
<title>Merge pull request #1883 from tannewt/fix_1881</title>
<updated>2019-05-14T19:30:44+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@adafruit.com</email>
</author>
<published>2019-05-14T19:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d3ce9280e2c00d62c327b25edc271d4ca97c4fae'/>
<id>urn:sha1:d3ce9280e2c00d62c327b25edc271d4ca97c4fae</id>
<content type='text'>
Check native object in case of early access </content>
</entry>
<entry>
<title>Update Palette.c</title>
<updated>2019-05-14T13:03:34+00:00</updated>
<author>
<name>Matt Land</name>
<email>matt-land@users.noreply.github.com</email>
</author>
<published>2019-05-14T13:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0b1c1c1d929352c9995bcb1e58e90309d89b9d38'/>
<id>urn:sha1:0b1c1c1d929352c9995bcb1e58e90309d89b9d38</id>
<content type='text'>
Remove None, add in byte and bytearray examples</content>
</entry>
<entry>
<title>Check native object in case of early access</title>
<updated>2019-05-14T00:31:30+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-14T00:31:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f29de5132562cd6e88661d150fa1ee3ab8b771e1'/>
<id>urn:sha1:f29de5132562cd6e88661d150fa1ee3ab8b771e1</id>
<content type='text'>
If a native displayio object is accessed before it's super().__init__()
has been called, then a placeholder is given that will cause a crash if
accessed. This is tricky to get right so we detect this case and raise
a NotInplementedError instead of crashing.

Fixes #1881
</content>
</entry>
</feed>
