Commit Graph

10 Commits

Author SHA1 Message Date
Kartik K. Agaram d604e68c2b . 2021-04-21 00:17:22 -07:00
Kartik K. Agaram 34596b6ee9 reimplement pixel graphics
Before: we always drew pixels atop characters, and we only drew pixels
that were explicitly requested.

After: we always draw pixels atop characters, and we only draw pixels that
don't have color 0.

Both semantics should be identical as long as pixels are never drawn atop
characters.
2021-04-19 21:05:57 -07:00
Kartik K. Agaram c22874a97f . 2021-04-19 10:47:30 -07:00
Kartik K. Agaram 8e38b86ab0 add some checks
Even if they duplicate lower-level ones, we have an opportunity for better
error messages. Any time I see a hard-to-debug error message, I should
be asking myself, "what higher-level primitive should catch and improve
this error?"
2021-04-19 10:47:30 -07:00
Kartik K. Agaram f5ece0451b start cleaning up pixel graphics
Filling pixels isn't a rare corner case. I'm going to switch to a dense
rather than sparse representation for pixels, but callers will have to
explicitly request the additional memory.
2021-04-19 10:47:30 -07:00
Kartik K. Agaram 53b56c67a9 Revert "allow drawing all pixels"
It causes us to run out of memory during tests.
2021-04-18 23:25:26 -07:00
Kartik K. Agaram 1c7799486d allow drawing all pixels
So far we aren't running out of memory. Might as well loosen our belts.
2021-04-17 22:37:29 -07:00
Kartik K. Agaram df9c71eff0 shell: horline working now
And we give a high-level error when the pixel buffer fills up.
2021-04-15 23:09:13 -07:00
Kartik K. Agaram f485bed515 shell: don't lose pixel graphics when moving cursor 2021-04-14 20:34:56 -07:00
Kartik K. Agaram bbabe8bd1a shell: pixel graphics 2021-04-13 22:27:59 -07:00