| 122 |
|
|
| 123 |
static _locale_t CLocale = NULL; |
static _locale_t CLocale = NULL; |
| 124 |
|
|
| 125 |
void ResetSBuffers() |
void ResetSBuffer(PStatusBuff sbuff) |
| 126 |
{ |
{ |
| 127 |
SBuff1.CursorX = 0; |
sbuff->CursorX = 0; |
| 128 |
SBuff1.CursorY = 0; |
sbuff->CursorY = 0; |
| 129 |
SBuff1.Attr = DefCharAttr; |
sbuff->Attr = DefCharAttr; |
| 130 |
if (ts.Language==IdJapanese) |
if (ts.Language==IdJapanese) |
| 131 |
{ |
{ |
| 132 |
SBuff1.Gn[0] = IdASCII; |
sbuff->Gn[0] = IdASCII; |
| 133 |
SBuff1.Gn[1] = IdKatakana; |
sbuff->Gn[1] = IdKatakana; |
| 134 |
SBuff1.Gn[2] = IdKatakana; |
sbuff->Gn[2] = IdKatakana; |
| 135 |
SBuff1.Gn[3] = IdKanji; |
sbuff->Gn[3] = IdKanji; |
| 136 |
SBuff1.Glr[0] = 0; |
sbuff->Glr[0] = 0; |
| 137 |
if ((ts.KanjiCode==IdJIS) && |
if ((ts.KanjiCode==IdJIS) && |
| 138 |
(ts.JIS7Katakana==0)) |
(ts.JIS7Katakana==0)) |
| 139 |
SBuff1.Glr[1] = 2; // 8-bit katakana |
sbuff->Glr[1] = 2; // 8-bit katakana |
| 140 |
else |
else |
| 141 |
SBuff1.Glr[1] = 3; |
sbuff->Glr[1] = 3; |
| 142 |
} |
} |
| 143 |
else { |
else { |
| 144 |
SBuff1.Gn[0] = IdASCII; |
sbuff->Gn[0] = IdASCII; |
| 145 |
SBuff1.Gn[1] = IdSpecial; |
sbuff->Gn[1] = IdSpecial; |
| 146 |
SBuff1.Gn[2] = IdASCII; |
sbuff->Gn[2] = IdASCII; |
| 147 |
SBuff1.Gn[3] = IdASCII; |
sbuff->Gn[3] = IdASCII; |
| 148 |
SBuff1.Glr[0] = 0; |
sbuff->Glr[0] = 0; |
| 149 |
SBuff1.Glr[1] = 0; |
sbuff->Glr[1] = 0; |
| 150 |
} |
} |
| 151 |
SBuff1.AutoWrapMode = TRUE; |
sbuff->AutoWrapMode = TRUE; |
| 152 |
SBuff1.RelativeOrgMode = FALSE; |
sbuff->RelativeOrgMode = FALSE; |
| 153 |
|
} |
| 154 |
|
|
| 155 |
|
void ResetAllSBuffers() |
| 156 |
|
{ |
| 157 |
|
ResetSBuffer(&SBuff1); |
| 158 |
// copy SBuff1 to SBuff2 |
// copy SBuff1 to SBuff2 |
| 159 |
SBuff2 = SBuff1; |
SBuff2 = SBuff1; |
| 160 |
SBuff3 = SBuff1; |
SBuff3 = SBuff1; |
| 161 |
} |
} |
| 162 |
|
|
| 163 |
|
void ResetCurSBuffer() |
| 164 |
|
{ |
| 165 |
|
PStatusBuff Buff; |
| 166 |
|
|
| 167 |
|
if (AltScr) { |
| 168 |
|
Buff = &SBuff3; // Alternate screen buffer |
| 169 |
|
} |
| 170 |
|
else { |
| 171 |
|
Buff = &SBuff1; // Normal screen buffer |
| 172 |
|
} |
| 173 |
|
ResetSBuffer(Buff); |
| 174 |
|
SBuff2 = *Buff; |
| 175 |
|
} |
| 176 |
|
|
| 177 |
void ResetTerminal() /*reset variables but don't update screen */ |
void ResetTerminal() /*reset variables but don't update screen */ |
| 178 |
{ |
{ |
| 179 |
DispReset(); |
DispReset(); |
| 216 |
PrinterMode = FALSE; |
PrinterMode = FALSE; |
| 217 |
|
|
| 218 |
// status buffers |
// status buffers |
| 219 |
ResetSBuffers(); |
ResetAllSBuffers(); |
| 220 |
|
|
| 221 |
// Alternate Screen Buffer |
// Alternate Screen Buffer |
| 222 |
AltScr = FALSE; |
AltScr = FALSE; |
| 2356 |
BuffSetCurCharAttr(CharAttr); |
BuffSetCurCharAttr(CharAttr); |
| 2357 |
|
|
| 2358 |
// status buffers |
// status buffers |
| 2359 |
ResetSBuffers(); |
ResetCurSBuffer(); |
| 2360 |
} |
} |
| 2361 |
|
|
| 2362 |
void CSExc(BYTE b) |
void CSExc(BYTE b) |