Commit graph

11 commits

Author SHA1 Message Date
Daniel Eklöf
f193695960
sixel: use a struct coord for current sixel position 2020-02-22 10:54:52 +01:00
Daniel Eklöf
1b728dcac8
sixel: rename state SIXEL_SIXEL -> SIXEL_GROUND 2020-02-22 10:50:05 +01:00
Daniel Eklöf
87193ff339
sixel: raster: only resize image buffer if necessary 2020-02-22 10:49:00 +01:00
Daniel Eklöf
b03ffa3720
sixel: resize image buffer after receiving a "raster" command 2020-02-22 10:46:54 +01:00
Daniel Eklöf
00c6d4dde1
sixel: resize image buffer dynamically 2020-02-22 10:46:35 +01:00
Daniel Eklöf
bb82b9fabc
sixel: add sixel_destroy() 2020-02-22 00:23:19 +01:00
Daniel Eklöf
6f84b79810
sixel: always bump row on unhook 2020-02-22 00:19:38 +01:00
Daniel Eklöf
da76b8cbf8
sixel: ugly hack to remove over-written sixel images 2020-02-22 00:10:42 +01:00
Daniel Eklöf
63140a68f5
sixel: calculate image height in (cell) rows 2020-02-22 00:05:25 +01:00
Daniel Eklöf
f0fc82f098
sixel: wip: maintain a list of finished, and "active" sixel images
In unhook, add the generated image to a list of finished sixel images,
along with positioning and size information.

When rendering, loop this list of images, and render the images (or
parts of) that are visible.

When scrolling, check if any part of the images cover the re-cycled
lines, and if so, remove the *entire* image from the list.

This means we have the following limitations:

* The renderer always renders the whole (visible area of) the
  image(s). There are times when this isn't necessary - for example,
  when the image is scrolled inside the visible area.
* It would be nice if we could crop the image when parts of it is
  scrolled out.
2020-02-21 23:40:35 +01:00
Daniel Eklöf
9e3bfb1eab
sixel: initial support
This implements basic parsing of sixel data. Lots of limitations and
temporary solutions as this is still work-in-progress:

* Maximum image size hardcoded to 800x800
* No HLS color format support
* Image is always rendered at 0x0 in the terminal
2020-02-21 21:53:23 +01:00