[nccell] add comment about pixel gclusters #1401

This commit is contained in:
nick black 2021-03-15 21:28:46 -04:00 committed by Nick Black
parent 0e3ece88e7
commit 6ce1daee74

View File

@ -586,9 +586,13 @@ typedef struct nccell {
// are single-byte ASCII-derived values. The XXXXXX is interpreted as a 24-bit
// index into the egcpool. These pools may thus be up to 16MB.
//
// The cost of this scheme is that the character 0x01 (SOH) cannot be encoded
// in a nccell, which is absolutely fine because what 70s horseshit is SOH?
// It must not be allowed through the API, or havoc will result.
// A pixel graphic is indicated by the value 0x02XXXXXX. This is safe for the
// same reasons listed above. The XXXXXX is interpreted as a unique 24-bit
// sprixel identifier, and can be used to search the sprixel cache.
//
// The cost of this scheme is that the characters 0x01 (SOH) and 0x02 (STX)
// cannot be encoded in a nccell, which we want anyway. They must not be
// allowed through the API, or havoc will result.
uint32_t gcluster; // 4B → 4B little endian EGC
uint8_t gcluster_backstop; // 1B → 5B (8 bits of zero)
// we store the column width in this field. for a multicolumn EGC of N