summaryrefslogtreecommitdiff
path: root/shared-module/displayio/TileGrid.c
AgeCommit message (Collapse)Author
2020-06-03Fix up end of file and trailing whitespace.Diego Elio Pettenò
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2019-09-09Merge pull request #2101 from matthewnewberg/display_io_ditherScott Shawcroft
Add random dithering to ColorConverter
2019-09-03Add .hidden to TileGrid and GroupScott Shawcroft
This allows for one to preserve ordering within a Group while hiding something temporarily. Fixes #1688
2019-08-31Add random dithering to ColorConverterMatthew Newberg
2019-08-22Regular display fixes including refresh tweaksScott Shawcroft
2019-08-22EPaper displays work mostly.Scott Shawcroft
2019-08-05Merge remote-tracking branch 'adafruit/4.1.x' into merge_in_410Scott Shawcroft
2019-07-25Add knobs for SSD1322 and two fixes.Scott Shawcroft
* Fix terminal clear after first successful code.py run. * Fix transmitting too many bytes for column constraint with single byte bounds.
2019-07-19Review feedback including NO_BRIGHTNESS_COMMAND macroScott Shawcroft
2019-07-19Add support for grayscale displays that are < 8 bit depth.Scott Shawcroft
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
2019-07-19Fix it's -> itsScott Shawcroft
2019-07-18Track a dirty area for in-memory bitmapsScott Shawcroft
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
2019-07-09merge from masterDan Halbert
2019-06-17Handle None for BLE name; fix ScanEntry bug; compile issueDan Halbert
2019-06-17Use width for x. Thanks @deshipuScott Shawcroft
2019-06-17Fix TileGrid's dirty tracking when changing top leftScott Shawcroft
2019-06-13Minor tweaks based on Dan's feedbackScott Shawcroft
2019-06-12Add partial display update support.Scott Shawcroft
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-05-31Fix off-by-one errorScott Shawcroft
It caused the bottom and right edges to be one pixel short.
2019-05-22Make point 2 in areas exclusive and simplify full_coverage.Scott Shawcroft
2019-05-21Rework the pixel computation to use areasScott Shawcroft
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-03-27TileGrid: pixel_shader is not always a paletteDan Halbert
2019-03-12Standardize TileGrid to x and y properties over positionScott Shawcroft
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.
2019-02-13A safe mode fix and displayio fixesScott Shawcroft
* Fixes safe mode on the SAMD51. The "preserved" value was being clobbered by the bootloader. * Fixes auto-reload loop when in safe mode. * Fixes reading Group children with []. * Check that a TileGrid actually moves before queueing a refresh.
2019-02-11A variety of displayio improvementsScott Shawcroft
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
2019-01-31More improvements to Terminal:Scott Shawcroft
* Fix Hallowing. * Fix builds without displayio. * Fix y bounds that appears as untrollable row of pixels. * Add scrolling to TileGrid. * Remove Sprite to save space. TileGrid is a drop in replacement.
2019-01-31Hook up the terminal based on the first display.Scott Shawcroft
2019-01-31Add terminalioScott Shawcroft
2019-01-31Add TileGridScott Shawcroft