mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 11:25:08 +00:00
Window's CONSOLE support has been extended so that: CSRLIN support added. POS(0) support added. LOCATE support added. (Works with optional parameters.) COLOR support added. SCREEN support added to get both character and color information of any point on the console. tab() glitch fixed. (Which could cause an endless loop when printing with comma spaced text/numbers.) _WIDTH support added. _HEIGHT support added. WIDTH support added, with 2 new parameters added so we can set the buffer width and buffer height also. CLS support semi-added. (Doesn't accept colored backgrounds; it clears the screen black. I'm getting tired of working up console stuff which I probably won't ever use myself...) SLEEP support added. END support added so we now end with any keypress and not just enter. _CONSOLEINPUT added, so we can tell the difference in mouse and keyboard input. _CINP(toggle) support added, which allows us to get single character keystrokes from the console. _CONSOLEFONT FontName, FontSize support added, which allows us to change the font and font size we use for the console. _CONSOLECURSOR _SHOW|_HIDE, cursorsize support added, which allows us to show or hide the cursor in the console, and to change its size (from 0 to 100), as desired. New keyboard commands added: _CAPSLOCK -- returns 1 if caps lock is on, 0 if it isn't. _NUMLOCK -- as above, but for num lock _SCROLLOCK -- as above, but for scroll lock _TOGGLE_CAPSLOCK -- toggles the caps lock state for us. _TOGGLE_NUMLOCK -- same, but for num lock _TOGGLE_SCROLLOCK -- same, but for scroll lock
139 lines
5.5 KiB
Text
139 lines
5.5 KiB
Text
qbs*oldstr2956=NULL;
|
|
if(_SUB_SETREFER_STRING_A2->tmp||_SUB_SETREFER_STRING_A2->fixed||_SUB_SETREFER_STRING_A2->readonly){
|
|
oldstr2956=_SUB_SETREFER_STRING_A2;
|
|
if (oldstr2956->cmem_descriptor){
|
|
_SUB_SETREFER_STRING_A2=qbs_new_cmem(oldstr2956->len,0);
|
|
}else{
|
|
_SUB_SETREFER_STRING_A2=qbs_new(oldstr2956->len,0);
|
|
}
|
|
memcpy(_SUB_SETREFER_STRING_A2->chr,oldstr2956->chr,oldstr2956->len);
|
|
}
|
|
qbs*oldstr2957=NULL;
|
|
if(_SUB_SETREFER_STRING_E2->tmp||_SUB_SETREFER_STRING_E2->fixed||_SUB_SETREFER_STRING_E2->readonly){
|
|
oldstr2957=_SUB_SETREFER_STRING_E2;
|
|
if (oldstr2957->cmem_descriptor){
|
|
_SUB_SETREFER_STRING_E2=qbs_new_cmem(oldstr2957->len,0);
|
|
}else{
|
|
_SUB_SETREFER_STRING_E2=qbs_new(oldstr2957->len,0);
|
|
}
|
|
memcpy(_SUB_SETREFER_STRING_E2->chr,oldstr2957->chr,oldstr2957->len);
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_A=NULL;
|
|
if (!_SUB_SETREFER_STRING_A)_SUB_SETREFER_STRING_A=qbs_new(0,0);
|
|
int32 *_SUB_SETREFER_LONG_TYP=NULL;
|
|
if(_SUB_SETREFER_LONG_TYP==NULL){
|
|
_SUB_SETREFER_LONG_TYP=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_TYP=0;
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_E=NULL;
|
|
if (!_SUB_SETREFER_STRING_E)_SUB_SETREFER_STRING_E=qbs_new(0,0);
|
|
qbs *_SUB_SETREFER_STRING_TL=NULL;
|
|
if (!_SUB_SETREFER_STRING_TL)_SUB_SETREFER_STRING_TL=qbs_new(0,0);
|
|
int32 *_SUB_SETREFER_LONG_I=NULL;
|
|
if(_SUB_SETREFER_LONG_I==NULL){
|
|
_SUB_SETREFER_LONG_I=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_I=0;
|
|
}
|
|
int32 *_SUB_SETREFER_LONG_IDNUMBER=NULL;
|
|
if(_SUB_SETREFER_LONG_IDNUMBER==NULL){
|
|
_SUB_SETREFER_LONG_IDNUMBER=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_IDNUMBER=0;
|
|
}
|
|
byte_element_struct *byte_element_2958=NULL;
|
|
if (!byte_element_2958){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2958=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2958=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
int32 *_SUB_SETREFER_LONG_U=NULL;
|
|
if(_SUB_SETREFER_LONG_U==NULL){
|
|
_SUB_SETREFER_LONG_U=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_U=0;
|
|
}
|
|
byte_element_struct *byte_element_2959=NULL;
|
|
if (!byte_element_2959){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2959=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2959=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_O=NULL;
|
|
if (!_SUB_SETREFER_STRING_O)_SUB_SETREFER_STRING_O=qbs_new(0,0);
|
|
byte_element_struct *byte_element_2960=NULL;
|
|
if (!byte_element_2960){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2960=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2960=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_N=NULL;
|
|
if (!_SUB_SETREFER_STRING_N)_SUB_SETREFER_STRING_N=qbs_new(0,0);
|
|
qbs *_SUB_SETREFER_STRING_LHSSCOPE=NULL;
|
|
if (!_SUB_SETREFER_STRING_LHSSCOPE)_SUB_SETREFER_STRING_LHSSCOPE=qbs_new(0,0);
|
|
int32 *_SUB_SETREFER_LONG_T2=NULL;
|
|
if(_SUB_SETREFER_LONG_T2==NULL){
|
|
_SUB_SETREFER_LONG_T2=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_T2=0;
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_SRC=NULL;
|
|
if (!_SUB_SETREFER_STRING_SRC)_SUB_SETREFER_STRING_SRC=qbs_new(0,0);
|
|
int32 *_SUB_SETREFER_LONG_E2=NULL;
|
|
if(_SUB_SETREFER_LONG_E2==NULL){
|
|
_SUB_SETREFER_LONG_E2=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_E2=0;
|
|
}
|
|
int32 *_SUB_SETREFER_LONG_U2=NULL;
|
|
if(_SUB_SETREFER_LONG_U2==NULL){
|
|
_SUB_SETREFER_LONG_U2=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_U2=0;
|
|
}
|
|
int32 *_SUB_SETREFER_LONG_IDNUMBER2=NULL;
|
|
if(_SUB_SETREFER_LONG_IDNUMBER2==NULL){
|
|
_SUB_SETREFER_LONG_IDNUMBER2=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_IDNUMBER2=0;
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_N2=NULL;
|
|
if (!_SUB_SETREFER_STRING_N2)_SUB_SETREFER_STRING_N2=qbs_new(0,0);
|
|
byte_element_struct *byte_element_2961=NULL;
|
|
if (!byte_element_2961){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2961=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2961=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
byte_element_struct *byte_element_2962=NULL;
|
|
if (!byte_element_2962){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2962=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2962=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_O2=NULL;
|
|
if (!_SUB_SETREFER_STRING_O2)_SUB_SETREFER_STRING_O2=qbs_new(0,0);
|
|
byte_element_struct *byte_element_2963=NULL;
|
|
if (!byte_element_2963){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_2963=(byte_element_struct*)(mem_static_pointer-12); else byte_element_2963=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
qbs *_SUB_SETREFER_STRING_DST=NULL;
|
|
if (!_SUB_SETREFER_STRING_DST)_SUB_SETREFER_STRING_DST=qbs_new(0,0);
|
|
int32 pass2964;
|
|
int32 pass2965;
|
|
qbs *_SUB_SETREFER_STRING_R=NULL;
|
|
if (!_SUB_SETREFER_STRING_R)_SUB_SETREFER_STRING_R=qbs_new(0,0);
|
|
int32 pass2966;
|
|
qbs *_SUB_SETREFER_STRING_T=NULL;
|
|
if (!_SUB_SETREFER_STRING_T)_SUB_SETREFER_STRING_T=qbs_new(0,0);
|
|
int8 pass2970;
|
|
qbs *_SUB_SETREFER_STRING_OFFSET=NULL;
|
|
if (!_SUB_SETREFER_STRING_OFFSET)_SUB_SETREFER_STRING_OFFSET=qbs_new(0,0);
|
|
qbs *_SUB_SETREFER_STRING_L=NULL;
|
|
if (!_SUB_SETREFER_STRING_L)_SUB_SETREFER_STRING_L=qbs_new(0,0);
|
|
int8 pass2976;
|
|
int32 pass2977;
|
|
int32 *_SUB_SETREFER_LONG_T=NULL;
|
|
if(_SUB_SETREFER_LONG_T==NULL){
|
|
_SUB_SETREFER_LONG_T=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_T=0;
|
|
}
|
|
int8 pass2984;
|
|
int32 *_SUB_SETREFER_LONG_B=NULL;
|
|
if(_SUB_SETREFER_LONG_B==NULL){
|
|
_SUB_SETREFER_LONG_B=(int32*)mem_static_malloc(4);
|
|
*_SUB_SETREFER_LONG_B=0;
|
|
}
|
|
int32 pass2985;
|
|
int32 pass2986;
|
|
int32 pass2987;
|
|
int32 pass2989;
|
|
int32 pass2990;
|
|
int32 pass2991;
|
|
int32 pass2993;
|
|
int32 pass2996;
|
|
int8 pass3000;
|
|
int8 pass3003;
|