Pixel-based operations
General placeholder for discussion of imagesOverText and Tackboard (a.k.a. pixel canvas). I picked the Tackboard name because it's planned to be a list of "things to draw" rather than cells, and is fundamentally very different from the text cell metaphor.
(I really need to spend more time reading up on notcurses' sprixels concept, I feel intuitively like there is some overlap; and it's likely they are quite far ahead of me in thinking through things. Dangit why am I not finding that sprixels doc on dankwiki ?)
(...and I won't even bother to pretend otherwise... notcurses is really damn cool... If I send more users that way, great! Anyway, back on topic...)
What I want:
- A much faster way to break up arbitrarily-placed bitmaps into cell-sized images offset to match the screen grid. (Tackboard.draw()) It might legitimately be better just to blit the full-size image once onto a screen-aligned surface, even if it's huge, and then cut into cells.
- Reduce the checks for transparent pixels. (Cell.isTransparentImage()) Plus make tackboard.Bitmap cache its rendered cells and only invalidate when x/y are moved.
- API for placing Tackboard on TWindow and TApplication, both over and under the text layer.
- Cleanup more API and refactor: I've got four places now where I'm blitting cell A image over cell B. Let's get just one code path for that.
Edited by Autumn Lamonte