<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-module/displayio/Group.h, branch 6.0.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-09-04T17:27:21+00:00</updated>
<entry>
<title>Bitpack bools in TileGrid and Group</title>
<updated>2019-09-04T17:27:21+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-09-04T17:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=70407e4d871ad7e42e707e2e0b53c50c32872cc5'/>
<id>urn:sha1:70407e4d871ad7e42e707e2e0b53c50c32872cc5</id>
<content type='text'>
</content>
</entry>
<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>Add support for grayscale displays that are &lt; 8 bit depth.</title>
<updated>2019-07-19T23:06:11+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-07-06T02:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6797ec6ed396f65916fe816f8b2b49114253dd86'/>
<id>urn:sha1:6797ec6ed396f65916fe816f8b2b49114253dd86</id>
<content type='text'>
This also improves Palette so it stores the original RGB888 colors.

Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.

Fixes #1828. Fixes #1956
</content>
</entry>
<entry>
<title>Refactor deinit check to reduce code size.</title>
<updated>2019-06-12T18:36:43+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-06-12T08:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a35d9b469d4ed65fd992771aa98ac57241983794'/>
<id>urn:sha1:a35d9b469d4ed65fd992771aa98ac57241983794</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>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>Accept x and y kwargs into Group for initial position.</title>
<updated>2019-03-13T00:17:32+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-03-12T21:39:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ea45877ca52c1f3d8e5f0e8547ffdcb982090ff9'/>
<id>urn:sha1:ea45877ca52c1f3d8e5f0e8547ffdcb982090ff9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Store the original layer in Group</title>
<updated>2019-02-15T22:29:59+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-02-15T22:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c9f036ed405f8e5ddf34dd2e15ad4074a270c3c4'/>
<id>urn:sha1:c9f036ed405f8e5ddf34dd2e15ad4074a270c3c4</id>
<content type='text'>
As is we would return the native superclass object only.

Fixes #1551
</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>
<entry>
<title>pyportal compiles and tweak blinka colors</title>
<updated>2019-01-17T18:57:05+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-01-17T18:57:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5277138c992b860cfbdb767f18e034c42e31b6a1'/>
<id>urn:sha1:5277138c992b860cfbdb767f18e034c42e31b6a1</id>
<content type='text'>
</content>
</entry>
</feed>
