aboutsummaryrefslogtreecommitdiff
path: root/extmod/modframebuf.c
AgeCommit message (Collapse)Author
2017-07-31extmod: Use MP_ROM_INT for int values in an mp_rom_map_elem_t.Damien George
2017-07-29extmod/modframebuf: Use correct initialization for .locals_dict.Paul Sokolovsky
2017-07-25extmod/modframebuf: Consistently use "col" as name for colour variables.Damien George
Thanks to @kamikaze, aka Oleg Korsak, for the original idea and patch.
2017-07-25extmod/modframebuf: Fix invalid stride for odd widths in GS4_HMSB fmt.Radomir Dopieralski
Since the stride is specified in pixels, in a 4-bit horizontal format it has to always be even, otherwise the computation is wrong and we can write outside of the buffer sometimes.
2017-06-15all: Make more use of mp_raise_{msg,TypeError,ValueError} helpers.Damien George
2017-06-10extmod/modframebuf: Fix signed/unsigned comparison pendantic warning.Paul Sokolovsky
Happened with 32-bit gcc 4.8.4.
2017-04-04extmod/modframebuf: Make monochrome bitmap formats start with MONO_.Peter Hinch
MONO_xxx is much easier to read if you're not familiar with the code. MVLSB is deprecated but kept for backwards compatibility, for the time being. This patch also updates the associated docs and tests.
2017-03-20extmod/modframebuf: Add support for monochrome horizontal format.Peter Hinch
MHLSB and MHMSB formats are added to the framebuf module, which have 8 adjacent horizontal pixels represented in a single byte.
2017-01-25extmod/modframebuf: Add GS4_HMSB format.Oleg Korsak
2017-01-23extmod/modframebuf: Clip pixels drawn by line method.Damien George
2017-01-08extmod/modframebuf: optimize fill_rect subroutine callOleg Korsak
2016-12-09extmod/modframebuf: Store underlying buffer object to prevent GC free.Damien George
2016-12-08extmod/modframebuf: Make framebuf implement the buffer protocol.Damien George
So that one can easily access the underlying data of the frame buffer, eg to write the data out to a display.
2016-12-05extmod/modframebuf: Add hline, vline, rect and line methods.Damien George
These are basic drawing primitives. They work in a generic way on all framebuf formats by calling the underlying setpixel or fill_rect C-level primitives.
2016-12-01extmod/modframebuf: Optimise fill and fill_rect methods.Damien George
Fill is a very common operation (eg to clear the screen) and it is worth optimising it, by providing a specialised fill_rect function for each framebuffer format. This patch improved the speed of fill by 10 times for a 16-bit display with 160*128 pixels.
2016-12-01extmod/modframebuf: Add back legacy FrameBuffer1 "class".Damien George
For backwards compatibility. It simple creates a frame buffer with the MVLSB format.
2016-12-01extmod/modframebuf: Make FrameBuffer handle 16bit depth.Radomir Dopieralski
Rename FrameBuffer1 into FrameBuffer and make it handle different bit depths via a method table that has getpixel and setpixel. Currently supported formats are MVLSB (monochrome, vertical, LSB) and RGB565. Also add blit() and fill_rect() methods.
2016-09-22all: Remove 'name' member from mp_obj_module_t struct.Damien George
One can instead lookup __name__ in the modules dict to get the value.
2016-09-05extmod/framebuf: Add the xstep!=0 case to scroll() method.Radomir Dopieralski
Adds horizontal scrolling. Right now, I'm just leaving the margins created by the scrolling as they were -- so they will repeat the edge of the framebuf. This is fast, and the user can always fill the margins themselves.
2016-09-04extmod/modframebuf: Include font from stmhal directory explicitly.Damien George
So that users of framebuf don't need to have stmhal directory in their path. (Eventually the font can be moved elsewhere.)
2016-09-02extmod/modframebuf: Fix fill and scroll when height not divisible by 8.Radomir Dopieralski
There was a bug in `framebuf1_fill` function, that makes it leave a few lines unfilled at the bottom if the height is not divisible by 8. A similar bug is fixed in the scroll method.
2016-08-27extmod/modframebuf: Fix pixel accessor to return a 1-bit result.Damien George
2016-04-12extmod: Add initial framebuf module.Damien George