Age | Commit message (Collapse) | Author |
|
Since vcr_t implements rendering of borders and backgrounds, to
such an extent that when serializing mem->png for headless mode
it produces the background and border on the fly on a per-row
basis, let's just give it the ability to access the marker
distance in vwm_charts_t and draw the markers as needed.
It feels hacky to be passing pointers to these values but I
really despise repeating setters across abstractions to plumb
things through, so I'm doing the stupid simple thing here.
|
|
Double precision is unnecessary for this, use floats throughout,
at least for everything vmon related.
|
|
vcr_backend_poll() mirrors the poll() api, but let's clarify the
timeout units as microseconds.
|
|
This mostly works, but the maintenance of text shadows are a
gross naive conversion of the pre-nibbles code. It would
probably be better to add the shadows @ mem->png serialization
time and not bother maintaining them at all for headless.
It seems to work well enough to exercise and evaluate memory
footprints though...
The reason for "nibbles" is to save memory. Prior to this, the
mem backend would use a byte per pixel of layer information. By
not storing the background layer in this space, the current set
of layers used can fit in 4 bits (aka a nibble).
So this commit pivots to packing two pixels worth of layer data
into each of those bytes, effectively cutting the memory
requirements of the mem backend (headless mode) in half.
It matters for embedded use cases. The next step from here to
use substantially less memory in headless mode would require a
deeper refactor where we don't maintain a bitmap style
representation at all. It's doable, but not in the cards for my
free time right now.
|
|
|