align serializer with front-end changes
This commit is contained in:
+8
-2
@@ -1799,6 +1799,8 @@ utf8_remap(char *out, char g, char charset)
|
||||
struct ScreenSerializeState {
|
||||
Color lastFg;
|
||||
Color lastBg;
|
||||
Color lastLiveFg;
|
||||
Color lastLiveBg;
|
||||
CellAttrs lastAttrs;
|
||||
UnicodeCacheRef lastSymbol;
|
||||
char lastChar[4];
|
||||
@@ -2091,6 +2093,8 @@ screenSerializeToBuffer(char *buffer, size_t buf_len, ScreenNotifyTopics topics,
|
||||
ss->index = 0;
|
||||
ss->lastBg = 0;
|
||||
ss->lastFg = 0;
|
||||
ss->lastLiveBg = 0;
|
||||
ss->lastLiveFg = 0;
|
||||
ss->lastAttrs = 0;
|
||||
ss->lastCharLen = 0;
|
||||
ss->lastSymbol = 0;
|
||||
@@ -2118,8 +2122,8 @@ screenSerializeToBuffer(char *buffer, size_t buf_len, ScreenNotifyTopics topics,
|
||||
if (repCnt == 0) {
|
||||
// No repeat - first occurrence
|
||||
bool changeAttrs = ss->first || (cell0->attrs != ss->lastAttrs);
|
||||
bool changeFg = (cell0->fg != ss->lastFg) && (cell0->attrs & ATTR_FG);
|
||||
bool changeBg = (cell0->bg != ss->lastBg) && (cell0->attrs & ATTR_BG);
|
||||
bool changeFg = (cell0->fg != ss->lastLiveFg) && (cell0->attrs & ATTR_FG);
|
||||
bool changeBg = (cell0->bg != ss->lastLiveBg) && (cell0->attrs & ATTR_BG);
|
||||
bool changeColors = ss->first || (changeFg && changeBg);
|
||||
Color fg, bg;
|
||||
ss->first = false;
|
||||
@@ -2159,6 +2163,8 @@ screenSerializeToBuffer(char *buffer, size_t buf_len, ScreenNotifyTopics topics,
|
||||
|
||||
ss->lastFg = cell0->fg;
|
||||
ss->lastBg = cell0->bg;
|
||||
if (cell0->attrs & ATTR_FG) ss->lastLiveFg = cell0->fg;
|
||||
if (cell0->attrs & ATTR_BG) ss->lastLiveBg = cell0->bg;
|
||||
ss->lastAttrs = cell0->attrs;
|
||||
ss->lastSymbol = cell0->symbol;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user