| 798 |
ICount = 0; |
ICount = 0; |
| 799 |
FirstPrm = TRUE; |
FirstPrm = TRUE; |
| 800 |
NParam = 1; |
NParam = 1; |
| 801 |
Param[1] = -1; |
Param[1] = 0; |
| 802 |
Prv = 0; |
Prv = 0; |
| 803 |
ParseMode = ModeCSI; |
ParseMode = ModeCSI; |
| 804 |
WriteToPrnFile(0,TRUE); // flush prn buff |
WriteToPrnFile(0,TRUE); // flush prn buff |
| 942 |
ESCFlag = FALSE; |
ESCFlag = FALSE; |
| 943 |
ICount = 0; |
ICount = 0; |
| 944 |
NParam = 1; |
NParam = 1; |
| 945 |
Param[1] = -1; |
Param[1] = 0; |
| 946 |
Prv = 0; |
Prv = 0; |
| 947 |
ParseMode = ModeDCS; |
ParseMode = ModeDCS; |
| 948 |
break; |
break; |
| 954 |
ICount = 0; |
ICount = 0; |
| 955 |
FirstPrm = TRUE; |
FirstPrm = TRUE; |
| 956 |
NParam = 1; |
NParam = 1; |
| 957 |
Param[1] = -1; |
Param[1] = 0; |
| 958 |
Prv = 0; |
Prv = 0; |
| 959 |
ParseMode = ModeCSI; |
ParseMode = ModeCSI; |
| 960 |
break; |
break; |
| 1185 |
ICount = 0; |
ICount = 0; |
| 1186 |
FirstPrm = TRUE; |
FirstPrm = TRUE; |
| 1187 |
NParam = 1; |
NParam = 1; |
| 1188 |
Param[1] = -1; |
Param[1] = 0; |
| 1189 |
Prv = 0; |
Prv = 0; |
| 1190 |
WriteToPrnFile(ESC,FALSE); |
WriteToPrnFile(ESC,FALSE); |
| 1191 |
WriteToPrnFile('[',FALSE); |
WriteToPrnFile('[',FALSE); |
| 1287 |
case 'P': /* DCS */ |
case 'P': /* DCS */ |
| 1288 |
ESCFlag = FALSE; |
ESCFlag = FALSE; |
| 1289 |
NParam = 1; |
NParam = 1; |
| 1290 |
Param[1] = -1; |
Param[1] = 0; |
| 1291 |
ParseMode = ModeDCS; |
ParseMode = ModeDCS; |
| 1292 |
return; |
return; |
| 1293 |
case 'X': /* SOS */ |
case 'X': /* SOS */ |
| 1299 |
ICount = 0; |
ICount = 0; |
| 1300 |
FirstPrm = TRUE; |
FirstPrm = TRUE; |
| 1301 |
NParam = 1; |
NParam = 1; |
| 1302 |
Param[1] = -1; |
Param[1] = 0; |
| 1303 |
Prv = 0; |
Prv = 0; |
| 1304 |
ParseMode = ModeCSI; |
ParseMode = ModeCSI; |
| 1305 |
return; |
return; |
| 1445 |
|
|
| 1446 |
void CSScreenErase() |
void CSScreenErase() |
| 1447 |
{ |
{ |
|
if (Param[1] == -1) Param[1] = 0; |
|
| 1448 |
BuffUpdateScroll(); |
BuffUpdateScroll(); |
| 1449 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1450 |
case 0: |
case 0: |
| 1479 |
|
|
| 1480 |
void CSQSelScreenErase() |
void CSQSelScreenErase() |
| 1481 |
{ |
{ |
|
if (Param[1] == -1) Param[1] = 0; |
|
| 1482 |
BuffUpdateScroll(); |
BuffUpdateScroll(); |
| 1483 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1484 |
case 0: |
case 0: |
| 1517 |
|
|
| 1518 |
void CSLineErase() |
void CSLineErase() |
| 1519 |
{ |
{ |
|
if (Param[1] == -1) Param[1] = 0; |
|
| 1520 |
BuffUpdateScroll(); |
BuffUpdateScroll(); |
| 1521 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1522 |
/* erase char from cursor to end of line */ |
/* erase char from cursor to end of line */ |
| 1536 |
|
|
| 1537 |
void CSQSelLineErase() |
void CSQSelLineErase() |
| 1538 |
{ |
{ |
|
if (Param[1] == -1) Param[1] = 0; |
|
| 1539 |
BuffUpdateScroll(); |
BuffUpdateScroll(); |
| 1540 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1541 |
/* erase char from cursor to end of line */ |
/* erase char from cursor to end of line */ |
| 1615 |
{ |
{ |
| 1616 |
if (Param[1]<1) Param[1] = 1; |
if (Param[1]<1) Param[1] = 1; |
| 1617 |
Param[1]--; |
Param[1]--; |
|
if (Param[1] < 0) Param[1] = 0; |
|
| 1618 |
if (Param[1] > NumOfColumns-1) Param[1] = NumOfColumns-1; |
if (Param[1] > NumOfColumns-1) Param[1] = NumOfColumns-1; |
| 1619 |
MoveCursor(Param[1],CursorY); |
MoveCursor(Param[1],CursorY); |
| 1620 |
} |
} |
| 1681 |
|
|
| 1682 |
void CSDeleteTabStop() |
void CSDeleteTabStop() |
| 1683 |
{ |
{ |
|
if (Param[1]==-1) Param[1] = 0; |
|
| 1684 |
ClearTabStop(Param[1]); |
ClearTabStop(Param[1]); |
| 1685 |
} |
} |
| 1686 |
|
|
| 1718 |
|
|
| 1719 |
void CS_i_Mode() // MC |
void CS_i_Mode() // MC |
| 1720 |
{ |
{ |
|
if (Param[1]==-1) Param[1] = 0; |
|
| 1721 |
switch (Param[1]) { |
switch (Param[1]) { |
| 1722 |
/* print screen */ |
/* print screen */ |
| 1723 |
// PrintEX -- TRUE: print screen |
// PrintEX -- TRUE: print screen |
| 1803 |
for (i=1 ; i<=NParam ; i++) |
for (i=1 ; i<=NParam ; i++) |
| 1804 |
{ |
{ |
| 1805 |
P = Param[i]; |
P = Param[i]; |
|
if (P<0) P = 0; |
|
| 1806 |
switch (P) { |
switch (P) { |
| 1807 |
case 0: /* Clear all */ |
case 0: /* Clear all */ |
| 1808 |
if (CharAttr.Attr2 & Attr2Protect) { |
if (CharAttr.Attr2 & Attr2Protect) { |
| 1873 |
i++; |
i++; |
| 1874 |
if (i < NParam) { |
if (i < NParam) { |
| 1875 |
P = Param[++i]; |
P = Param[++i]; |
|
if (P<0) { |
|
|
P = 0; |
|
|
} |
|
| 1876 |
CharAttr.Attr2 |= Attr2Fore; |
CharAttr.Attr2 |= Attr2Fore; |
| 1877 |
CharAttr.Fore = P; |
CharAttr.Fore = P; |
| 1878 |
BuffSetCurCharAttr(CharAttr); |
BuffSetCurCharAttr(CharAttr); |
| 1904 |
i++; |
i++; |
| 1905 |
if (i < NParam) { |
if (i < NParam) { |
| 1906 |
P = Param[++i]; |
P = Param[++i]; |
|
if (P<0) { |
|
|
P = 0; |
|
|
} |
|
| 1907 |
CharAttr.Attr2 |= Attr2Back; |
CharAttr.Attr2 |= Attr2Back; |
| 1908 |
CharAttr.Back = P; |
CharAttr.Back = P; |
| 1909 |
BuffSetCurCharAttr(CharAttr); |
BuffSetCurCharAttr(CharAttr); |
| 2404 |
|
|
| 2405 |
void CSQ_i_Mode() // DECMC |
void CSQ_i_Mode() // DECMC |
| 2406 |
{ |
{ |
|
if (Param[1]==-1) Param[1] = 0; |
|
| 2407 |
switch (Param[1]) { |
switch (Param[1]) { |
| 2408 |
case 1: |
case 1: |
| 2409 |
if (ts.TermFlag&TF_PRINTERCTRL) { |
if (ts.TermFlag&TF_PRINTERCTRL) { |
| 2619 |
break; |
break; |
| 2620 |
|
|
| 2621 |
case 'q': // DECSCA |
case 'q': // DECSCA |
|
if (Param[1] < 0) |
|
|
Param[1] = 0; |
|
| 2622 |
switch (Param[1]) { |
switch (Param[1]) { |
| 2623 |
case 0: |
case 0: |
| 2624 |
case 2: |
case 2: |
| 2713 |
break; |
break; |
| 2714 |
|
|
| 2715 |
case 'z': // Enable DEC Locator reporting (DECELR) |
case 'z': // Enable DEC Locator reporting (DECELR) |
|
if (Param[1] < 0) { |
|
|
Param[1] = 0; |
|
|
} |
|
| 2716 |
switch (Param[1]) { |
switch (Param[1]) { |
| 2717 |
case 0: |
case 0: |
| 2718 |
if (MouseReportMode == IdMouseTrackDECELR) { |
if (MouseReportMode == IdMouseTrackDECELR) { |
| 2742 |
|
|
| 2743 |
case '{': // Select Locator Events (DECSLE) |
case '{': // Select Locator Events (DECSLE) |
| 2744 |
for (i=1; i<=NParam; i++) { |
for (i=1; i<=NParam; i++) { |
|
if (Param[i] < 0) { |
|
|
Param[i] = 0; |
|
|
} |
|
| 2745 |
switch (Param[i]) { |
switch (Param[i]) { |
| 2746 |
case 0: |
case 0: |
| 2747 |
DecLocatorFlag &= ~(DecLocatorButtonUp | DecLocatorButtonDown | DecLocatorFiltered); |
DecLocatorFlag &= ~(DecLocatorButtonUp | DecLocatorButtonDown | DecLocatorFiltered); |
| 2773 |
case 'q': |
case 'q': |
| 2774 |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
if (ts.WindowFlag & WF_CURSORCHANGE) { |
| 2775 |
if (NParam > 0) { |
if (NParam > 0) { |
|
if (Param[1] < 0) Param[1] = 0; |
|
| 2776 |
switch (Param[1]) { |
switch (Param[1]) { |
| 2777 |
case 0: |
case 0: |
| 2778 |
case 1: |
case 1: |
| 2958 |
} |
} |
| 2959 |
else if ((b>=0x30) && (b<=0x39)) |
else if ((b>=0x30) && (b<=0x39)) |
| 2960 |
{ |
{ |
| 2961 |
if (Param[NParam] < 0) |
Param[NParam] = Param[NParam]*10 + b - 0x30; |
|
Param[NParam] = 0; |
|
|
if (Param[NParam]<10000) |
|
|
Param[NParam] = Param[NParam]*10 + b - 0x30; |
|
| 2962 |
} |
} |
| 2963 |
else if (b==0x3B) |
else if (b==0x3B) |
| 2964 |
{ |
{ |
| 2965 |
if (NParam < NParamMax) |
if (NParam < NParamMax) |
| 2966 |
{ |
{ |
| 2967 |
NParam++; |
NParam++; |
| 2968 |
Param[NParam] = -1; |
Param[NParam] = 0; |
| 2969 |
} |
} |
| 2970 |
} |
} |
| 2971 |
else if ((b>=0x3C) && (b<=0x3F)) |
else if ((b>=0x3C) && (b<=0x3F)) |
| 3195 |
IntChar[ICount] = b; |
IntChar[ICount] = b; |
| 3196 |
} |
} |
| 3197 |
else if ((b>=0x30) && (b<=0x39)) { |
else if ((b>=0x30) && (b<=0x39)) { |
| 3198 |
if (Param[NParam] < 0) Param[NParam] = 0; |
Param[NParam] = Param[NParam]*10 + b - 0x30; |
|
if (Param[NParam]<1000) |
|
|
Param[NParam] = Param[NParam]*10 + b - 0x30; |
|
| 3199 |
} |
} |
| 3200 |
else if (b==0x3B) { |
else if (b==0x3B) { |
| 3201 |
if (NParam < NParamMax) { |
if (NParam < NParamMax) { |
| 3202 |
NParam++; |
NParam++; |
| 3203 |
Param[NParam] = -1; |
Param[NParam] = 0; |
| 3204 |
} |
} |
| 3205 |
} |
} |
| 3206 |
else if ((b>=0x40) && (b<=0x7E)) { |
else if ((b>=0x40) && (b<=0x7E)) { |
| 3402 |
switch (XsParseMode) { |
switch (XsParseMode) { |
| 3403 |
case ModeXsFirst: |
case ModeXsFirst: |
| 3404 |
if (isdigit(b)) { |
if (isdigit(b)) { |
| 3405 |
if (Param[1] < 1000) { |
Param[1] = Param[1]*10 + b - '0'; |
|
Param[1] = Param[1]*10 + b - '0'; |
|
|
} |
|
| 3406 |
} |
} |
| 3407 |
else if (b == ';') { |
else if (b == ';') { |
| 3408 |
StrBuff[0] = '\0'; |
StrBuff[0] = '\0'; |
| 3417 |
} |
} |
| 3418 |
else { |
else { |
| 3419 |
// Invalid Sequence. Ignore. |
// Invalid Sequence. Ignore. |
| 3420 |
Param[1] = -1; |
Param[1] = 0xFFFFFFFF; |
| 3421 |
StrBuff[0] = '\0'; |
StrBuff[0] = '\0'; |
| 3422 |
StrLen = 0; |
StrLen = 0; |
| 3423 |
XsParseMode = ModeXsString; |
XsParseMode = ModeXsString; |
| 3465 |
StrLen = 0; |
StrLen = 0; |
| 3466 |
} |
} |
| 3467 |
else { |
else { |
| 3468 |
Param[1] = -1; |
Param[1] = 0xFFFFFFFF; |
| 3469 |
StrBuff[0] = '\0'; |
StrBuff[0] = '\0'; |
| 3470 |
StrLen = 0; |
StrLen = 0; |
| 3471 |
XsParseMode = ModeXsString; |
XsParseMode = ModeXsString; |