<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-bindings/displayio/TileGrid.c, branch 5.0.0-beta.3</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.0.0-beta.3</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.0.0-beta.3'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-09-03T23:15:27+00:00</updated>
<entry>
<title>Add .hidden to TileGrid and Group</title>
<updated>2019-09-03T23:15:27+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-08-27T23:03:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=949f8761b8c41ecbf8660bcd5a333890a37e426e'/>
<id>urn:sha1:949f8761b8c41ecbf8660bcd5a333890a37e426e</id>
<content type='text'>
This allows for one to preserve ordering within a Group while
hiding something temporarily.

Fixes #1688
</content>
</entry>
<entry>
<title>Track a dirty area for in-memory bitmaps</title>
<updated>2019-07-18T23:47:28+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-07-18T23:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4a6bdb6fe471b3024b2ca1d977ef02bfd94cc12a'/>
<id>urn:sha1:4a6bdb6fe471b3024b2ca1d977ef02bfd94cc12a</id>
<content type='text'>
This fixes the bug that bitmap changes do not cause screen updates
and optimizes the refresh when the bitmap is simply shown on the
screen. If the bitmap is used in tiles, then changing it will
cause all TileGrids using it to do a full refresh.

Fixes #1981
</content>
</entry>
<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>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>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>
<entry>
<title>Tweak pybadge and fix display bugs</title>
<updated>2019-04-10T01:32:52+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-04-05T20:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5028f87b0988775d37c59ac2f65035468936bb0c'/>
<id>urn:sha1:5028f87b0988775d37c59ac2f65035468936bb0c</id>
<content type='text'>
* Update pybadge pins and flash for rev D
* TileGrid now validates the type of the pixel_shader.
* Display actually handles incoming subclass objects.
* MicroPython will inspect native parents to see if special
  accessors are used.
</content>
</entry>
<entry>
<title>Always check TileGrid's x, y</title>
<updated>2019-04-05T20:10:47+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-04-05T20:10:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=04a4e8a38dcbbce97a46b1980d9d505d095a2404'/>
<id>urn:sha1:04a4e8a38dcbbce97a46b1980d9d505d095a2404</id>
<content type='text'>
When using an int index you could end up writing past the end of
TileGrid's memory.

Fixes #1747
</content>
</entry>
<entry>
<title>Standardize TileGrid to x and y properties over position</title>
<updated>2019-03-13T00:18:33+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-03-12T22:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=224e9b10092c7142857cafb7df712843906401fd'/>
<id>urn:sha1:224e9b10092c7142857cafb7df712843906401fd</id>
<content type='text'>
This brings it inline with Group. Also fixes #1613

This also includes a number of fixes for where a method is called
through a subclass. We now correctly get the native object.
Fixes #1567

Lastly, this adds subscript support to TileGrid for changing tile
indices. Similar to Bitmap, it accepts ints or 2-tuples.
</content>
</entry>
<entry>
<title>A variety of displayio improvements</title>
<updated>2019-02-12T04:55:05+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-02-06T20:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c17f147be95e7490e5207c747add2da1cc8b167f'/>
<id>urn:sha1:c17f147be95e7490e5207c747add2da1cc8b167f</id>
<content type='text'>
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
</content>
</entry>
</feed>
