Skip to content

Determine whether DECERA applies to Sixel #16

@dankamongmen

Description

@dankamongmen

from http://vaxhaven.com/images/5/55/EK-VT420-RM-002.pdf p164 (original) p186 (pdf)

Erase Rectangular Area (DECERA)

This control function erases characters from the specified rectangular area in page memory. When an area is erased, DECERA replaces all character positions with the space character (2/0). DECERA erases character values and visual attributes from the specified area. DECERA does not erase line attributes.

Available in: VT400 mode only

Format

CSI Pt ; Pl; Pb; Pr $ z
9/11 3/n 3/11 ******** 2/4 7/10

Parameters
Pt, Pl, Pb, and Pr define the rectangular area to be erased:
Pt is the top-line border. Pt must be less than or equal to Pb.
Default: Pt = 1.

Pl is the left-column border. Pl must be less than or equal to Pr.
Default: Pl = 1.

Pb is the bottom-line border.
Default: Pb = the last line of the active page.

Pr is the right-column border.
Default: Pr = the last column of the active page.

Notes on DECERA
• The coordinates of the rectangular area are affected by the setting of
origin mode (DECOM).
• DECERA is not affected by the page margins.
• If the value of Pt, Pl, Pb, or Pr exceeds the width or height of the
active page, the value is treated as the width or height of that page.
• DECERA does not change the active cursor position.


your mission, if you choose to accept it, is to determine whether or not DECERA applies to Sixel. i've got the following patch outstanding for XTerm:

diff -ur xterm-368/screen.c xterm-368-decera/screen.c
--- xterm-368/screen.c	2021-03-01 03:54:26.000000000 -0500
+++ xterm-368-decera/screen.c	2021-06-26 02:43:34.180469144 -0400
@@ -2550,6 +2550,16 @@
 		}
 	   })
 	}
+	TRACE(("text erasing cur_col=%d cur_row=%d cols=%d rows=%d\n",
+		left,
+		top,
+		numcols,
+		numrows));
+	chararea_clear_displayed_graphics(screen,
+						left,
+						top,
+						numcols, numrows);
+
 	ScrnUpdate(xw,
 		  top,
 		  left - b_left,

but @ThomasDickey is hesitant to apply it without experimental confirmation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions