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
Dan Halbert
4fc189b60c
Merge latest 4.0.x fixes into master
2019-06-11 16:16:29 -04:00
sommersoft
9e4396bdcd
Merge pull request #1920 from tannewt/fix_rst
...
Improve rST consistency for rst2pyi use
2019-06-07 23:41:00 -05:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Scott Shawcroft
84e89146d0
Merge pull request #1893 from elvis-epx/ps2
...
Add PS/2 support with ps2io module
2019-06-06 10:24:04 -07:00
Baozhu Zuo
f45daae09c
This __init__.h should be redundant. I deleted it for you
2019-06-06 15:44:29 +08:00
Elvis Pfützenreuter
1da8d4b4da
Add PS/2 support -- ps2io module
2019-06-04 18:05:46 -03:00
Scott Shawcroft
cfe24b8532
Improve rST consistency for rst2pyi use
2019-05-30 19:02:47 -07:00
Jason Pecor
a9a2227167
Removed warning box regarding SAMD21 builds
...
The support matrix shows that pulseio is supported for all SAMD21/SAMD51 variants. Removing warning to avoid confusion.
2019-05-27 14:08:19 -05:00
Scott Shawcroft
3fad7de8db
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.
2019-05-21 17:41:06 -07:00
Scott Shawcroft
5608e273a0
Add index and remove to Group.
2019-05-15 11:33:16 -07:00
Scott Shawcroft
b7b55e0c0a
Make Group iterable via a generic native iterator.
...
Fixes #1694
2019-05-14 15:15:23 -07:00
Dan Halbert
d3ce9280e2
Merge pull request #1883 from tannewt/fix_1881
...
Check native object in case of early access
2019-05-14 15:30:44 -04:00
Scott Shawcroft
bf682d14b3
Remove native init check from stage.
...
It isn't needed because the object is passed in, not self. To be
passed in it must be inited.
2019-05-14 10:20:04 -07:00
Matt Land
0b1c1c1d92
Update Palette.c
...
Remove None, add in byte and bytearray examples
2019-05-14 08:03:34 -05:00
Scott Shawcroft
f29de51325
Check native object in case of early access
...
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
2019-05-13 17:31:30 -07:00
Matt Land
ad211b23be
add documentation of transparency
2019-05-10 17:35:51 -05:00
Matt Land
214dfed703
Add documentation for Palette shared binding
...
Add documentation for the palette subscript operator and how to use it.
2019-05-10 16:41:13 -05:00
Nick Moore
af0bba0622
reset wiznet at network deinitialize adafruit/circuitpython#1800
2019-05-10 13:55:45 +10:00
Nick Moore
e00a702ce9
Stop DHCP when configuring IP address adafruit/circuitpython#1800
2019-05-10 09:20:57 +10:00
Nick Moore
832f07a6e9
Update docs for wiznet5k adafruit/circuitpython#1800
2019-05-07 21:48:44 +10:00
Nick Moore
264fc2b070
Make wiznet5k RST pin optional adafruit/circuitpython#1800
2019-05-07 18:41:53 +10:00
Nick Moore
d97c81b0c9
Update docs to include new 'dhcp' constructor parameter
2019-05-02 19:14:22 +10:00
Nick Moore
baa9c02c8b
Add a kw-only argument "dhcp" to wiznet5k object
2019-05-02 16:05:33 +10:00
Nick Moore
58d1d99701
Fix socket.recv() buffer length from e23bad3a
2019-05-02 13:13:56 +10:00
Dan Halbert
0113e0970e
add Display.__init__() args for brightness and auto_brightness
2019-04-18 15:59:16 -04:00
Dan Halbert
4fc0f8b25c
Turn off auto_brightness if brightness is set
2019-04-18 13:57:27 -04:00
Scott Shawcroft
bfbe9323ee
Merge pull request #1807 from pewpew-game/stage-cast-native
...
Allow use of displayio.Display subclasses in _stage
2019-04-17 10:37:32 -07:00
Radomir Dopieralski
3a65ff970a
Allow use of displayio.Display subclasses in _stage
2019-04-17 17:21:34 +02:00
Dan Halbert
b5e283af68
Merge pull request #1808 from pewpew-game/gamepad-doc
...
Update GamePad docs to include pull-downs
2019-04-17 11:06:19 -04:00
Dan Halbert
6684a3c723
Merge pull request #1778 from pewpew-game/gamepad-shift
...
Add GamePadShift for handling shift-register-based buttons
2019-04-17 10:22:24 -04:00
Radomir Dopieralski
e46bf7e7c6
Update GamePad docs to include pull-downs
2019-04-17 11:18:30 +02:00
Scott Shawcroft
6132a05fd9
Include cleanup and style tweaks
2019-04-16 10:19:07 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad
2019-04-16 10:11:54 -07:00
Nick Moore
9c42a72275
Fix up single-byte access to nvm.ByteArray
2019-04-16 14:53:44 +10:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards.
2019-04-15 15:40:06 -07:00
Radomir Dopieralski
eeef5359f9
Merge branch 'master' into gamepad-shift
2019-04-13 11:54:25 +02:00
Radomir Dopieralski
c0a553e90f
Add title to docs
2019-04-12 22:52:19 +02:00
Radomir Dopieralski
016efb5c68
Add GamePadShift to docs
2019-04-12 22:00:03 +02:00
Radomir Dopieralski
7aab3e8c93
Re-use an error message in _stage
2019-04-12 21:31:06 +02:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
049e80993d
Sync gampad_singleton with the long lived copy
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
ae60968563
More refactoring
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
7e89beeb31
Optimize the size of code for gamepad
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
a7925930fa
Read one bit per system clock tick in GamePadShift
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
6ff4e0ecb0
Add GamePadShift for handling shift-register-based buttons
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
d39e7e7dd5
Use displayio.Display directly
2019-04-12 12:46:28 +02:00
Radomir Dopieralski
c3136f4f32
Enable displayio for uGame10 board
...
Also, make the _stage library work with the fourwire bus, to re-use the
display.
2019-04-12 01:10:57 +02:00
Scott Shawcroft
a152ac1cef
Merge remote-tracking branch 'adafruit/master' into pybadge_revd
2019-04-10 10:58:45 -07:00
Dan Halbert
c0c809ad4b
Fix version skew for bast_pro_mini build
2019-04-09 22:52:53 -04:00