summaryrefslogtreecommitdiff
path: root/wasp/draw565.py
AgeCommit message (Collapse)Author
2020-12-27draw565: Improve default argument values for line()Daniel Thompson
Currently there are default argument values for the start and end coordinates but the defaults don't really make any sense since there is no reason to prefer the value 0 over any other. Remove them. Similarly color currently defaults to 0xffff which isn't right. It should default to the foreground colour. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12draw565: Added line drawing functionKozova1
This is the API: drawable.line(x1, y1, x2, y2, color) The function has optimizations for the case of vertical or horizontal lines. Signed-off-by: Kozova1 <mug66kk@gmail.com> [daniel@redfelineninja.org.uk: Minor update to commit message] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-02draw565: Fix wrong background color of stringsSiroj42
Signed-off-by: Joris Warmbier <siroj42@t-online.de>
2020-06-22wasp: Switch to the faster fill routinesDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-22draw565: Optimize filled rectangle drawingDaniel Thompson
The original approach is *really* bad at drawing vertical lines (it ends up working a pixel at a time and works the chip select for each one. Optimize both the pixel fill and the use of the line buffer. The result is 20% faster for quarter screen fills, 3x for horizontal lines and 6x for vertical lines. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-05-24draw565: rle2bit: Add support for palette overridesDaniel Thompson
This allows some interesting manipulations of 2-bit images.
2020-05-18draw565: Switch to a different palette for RLE 2-bit imagesDaniel Thompson
This is an incompatible change... older 2-bit images will need to be re-encoded to display correctly.
2020-05-17draw565: Fix line optimization codeDaniel Thompson
sx is measured in pixels (2-bytes) and len(display.linebuffer) gives a value in bytes so the divisor isn't right. Whilst we are here let's make sure we use integer division too. Fixes: #18
2020-05-14wasp: draw565: docstrings for headings and __init__Daniel Thompson
2020-05-11wasp: draw565: docstring improvementsDaniel Thompson
2020-04-11wasp: On-device crash reportingDaniel Thompson
If an application crashes let's report it on the device so it can be distinguished from a hang (if nothing else it should mean we get better bug reports).
2020-04-10wasp: draw565: Optimize the bit expansion blitter slightly.Daniel Thompson
2020-04-10wasp: draw565: Automatic RLE format conversionDaniel Thompson
From here we can also bring colour to the launcher!
2020-04-10wasp: draw565: Fix colors when burst filling a line.Daniel Thompson
2020-04-08wasp: draw565: Optimize the 2-bit RLE drawing functionsDaniel Thompson
There's a bunch of different changes here but there are only really three big wins. The biggest win comes from restructuring the 2-bit RLE decode loop to avoid the inner function (~20%) but the switch to 16-bit writes in _fill() and adoption of quick_write (e.g. no CS toggling) are also note worthy (and about 5% each).
2020-04-06wasp: draw565: Add 2-bit RLE decoderDaniel Thompson
2020-04-06wasp: draw565: Allow the drawing context to be resetDaniel Thompson
The main reason to reset the drawing context is so that it can be reset before we call foreground() on an application.
2020-03-22Add licensing information for all wasp-os files.Daniel Thompson
2020-03-09draw565: Optimize the font renderingDaniel Thompson
This is a big one... more than 4x increase in font rendering performance!
2020-03-09wasp: draw565: Refactor to allow apps to focus on the drawable.Daniel Thompson
2020-02-23wasp: draw565: Add some docstringsDaniel Thompson
2020-02-19wasp: Add a simple font rendererDaniel Thompson