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
176 lines
6.4 KiB
Text
176 lines
6.4 KiB
Text
qbs*oldstr4598=NULL;
|
|
if(_SUB_IDENEWSF_STRING_SF->tmp||_SUB_IDENEWSF_STRING_SF->fixed||_SUB_IDENEWSF_STRING_SF->readonly){
|
|
oldstr4598=_SUB_IDENEWSF_STRING_SF;
|
|
if (oldstr4598->cmem_descriptor){
|
|
_SUB_IDENEWSF_STRING_SF=qbs_new_cmem(oldstr4598->len,0);
|
|
}else{
|
|
_SUB_IDENEWSF_STRING_SF=qbs_new(oldstr4598->len,0);
|
|
}
|
|
memcpy(_SUB_IDENEWSF_STRING_SF->chr,oldstr4598->chr,oldstr4598->len);
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_FOCUS=NULL;
|
|
if(_SUB_IDENEWSF_LONG_FOCUS==NULL){
|
|
_SUB_IDENEWSF_LONG_FOCUS=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_FOCUS=0;
|
|
}
|
|
void *_SUB_IDENEWSF_UDT_P=NULL;
|
|
if(_SUB_IDENEWSF_UDT_P==NULL){
|
|
_SUB_IDENEWSF_UDT_P=(void*)mem_static_malloc(20);
|
|
memset(_SUB_IDENEWSF_UDT_P,0,20);
|
|
}
|
|
ptrszint *_SUB_IDENEWSF_ARRAY_UDT_O=NULL;
|
|
if (!_SUB_IDENEWSF_ARRAY_UDT_O){
|
|
_SUB_IDENEWSF_ARRAY_UDT_O=(ptrszint*)mem_static_malloc(9*ptrsz);
|
|
new_mem_lock();
|
|
mem_lock_tmp->type=4;
|
|
((ptrszint*)_SUB_IDENEWSF_ARRAY_UDT_O)[8]=(ptrszint)mem_lock_tmp;
|
|
_SUB_IDENEWSF_ARRAY_UDT_O[2]=0;
|
|
_SUB_IDENEWSF_ARRAY_UDT_O[4]=2147483647;
|
|
_SUB_IDENEWSF_ARRAY_UDT_O[5]=0;
|
|
_SUB_IDENEWSF_ARRAY_UDT_O[6]=0;
|
|
_SUB_IDENEWSF_ARRAY_UDT_O[0]=(ptrszint)nothingvalue;
|
|
}
|
|
qbs *_SUB_IDENEWSF_STRING1_SEP=NULL;
|
|
if(_SUB_IDENEWSF_STRING1_SEP==NULL){
|
|
_SUB_IDENEWSF_STRING1_SEP=qbs_new_fixed((uint8*)mem_static_malloc(1),1,0);
|
|
memset(_SUB_IDENEWSF_STRING1_SEP->chr,0,1);
|
|
}
|
|
qbs *_SUB_IDENEWSF_STRING_A=NULL;
|
|
if (!_SUB_IDENEWSF_STRING_A)_SUB_IDENEWSF_STRING_A=qbs_new(0,0);
|
|
qbs *_SUB_IDENEWSF_STRING_A2=NULL;
|
|
if (!_SUB_IDENEWSF_STRING_A2)_SUB_IDENEWSF_STRING_A2=qbs_new(0,0);
|
|
int32 *_SUB_IDENEWSF_LONG_SX1=NULL;
|
|
if(_SUB_IDENEWSF_LONG_SX1==NULL){
|
|
_SUB_IDENEWSF_LONG_SX1=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_SX1=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_SX2=NULL;
|
|
if(_SUB_IDENEWSF_LONG_SX2==NULL){
|
|
_SUB_IDENEWSF_LONG_SX2=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_SX2=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_X=NULL;
|
|
if(_SUB_IDENEWSF_LONG_X==NULL){
|
|
_SUB_IDENEWSF_LONG_X=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_X=0;
|
|
}
|
|
int64 fornext_value4600;
|
|
int64 fornext_finalvalue4600;
|
|
int64 fornext_step4600;
|
|
uint8 fornext_step_negative4600;
|
|
byte_element_struct *byte_element_4601=NULL;
|
|
if (!byte_element_4601){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4601=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4601=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_I=NULL;
|
|
if(_SUB_IDENEWSF_LONG_I==NULL){
|
|
_SUB_IDENEWSF_LONG_I=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_I=0;
|
|
}
|
|
int32 pass4602;
|
|
int32 pass4603;
|
|
int32 *_SUB_IDENEWSF_LONG_PREVFOCUS=NULL;
|
|
if(_SUB_IDENEWSF_LONG_PREVFOCUS==NULL){
|
|
_SUB_IDENEWSF_LONG_PREVFOCUS=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_PREVFOCUS=0;
|
|
}
|
|
byte_element_struct *byte_element_4604=NULL;
|
|
if (!byte_element_4604){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4604=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4604=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
byte_element_struct *byte_element_4605=NULL;
|
|
if (!byte_element_4605){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4605=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4605=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
int64 fornext_value4607;
|
|
int64 fornext_finalvalue4607;
|
|
int64 fornext_step4607;
|
|
uint8 fornext_step_negative4607;
|
|
int32 *_SUB_IDENEWSF_LONG_F=NULL;
|
|
if(_SUB_IDENEWSF_LONG_F==NULL){
|
|
_SUB_IDENEWSF_LONG_F=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_F=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_CX=NULL;
|
|
if(_SUB_IDENEWSF_LONG_CX==NULL){
|
|
_SUB_IDENEWSF_LONG_CX=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_CX=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_CY=NULL;
|
|
if(_SUB_IDENEWSF_LONG_CY==NULL){
|
|
_SUB_IDENEWSF_LONG_CY=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_CY=0;
|
|
}
|
|
int64 fornext_value4610;
|
|
int64 fornext_finalvalue4610;
|
|
int64 fornext_step4610;
|
|
uint8 fornext_step_negative4610;
|
|
int32 *_SUB_IDENEWSF_LONG_LASTFOCUS=NULL;
|
|
if(_SUB_IDENEWSF_LONG_LASTFOCUS==NULL){
|
|
_SUB_IDENEWSF_LONG_LASTFOCUS=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_LASTFOCUS=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_CHANGE=NULL;
|
|
if(_SUB_IDENEWSF_LONG_CHANGE==NULL){
|
|
_SUB_IDENEWSF_LONG_CHANGE=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_CHANGE=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_MOUSEDOWN=NULL;
|
|
if(_SUB_IDENEWSF_LONG_MOUSEDOWN==NULL){
|
|
_SUB_IDENEWSF_LONG_MOUSEDOWN=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_MOUSEDOWN=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_MOUSEUP=NULL;
|
|
if(_SUB_IDENEWSF_LONG_MOUSEUP==NULL){
|
|
_SUB_IDENEWSF_LONG_MOUSEUP=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_MOUSEUP=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_ALT=NULL;
|
|
if(_SUB_IDENEWSF_LONG_ALT==NULL){
|
|
_SUB_IDENEWSF_LONG_ALT=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_ALT=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_OLDALT=NULL;
|
|
if(_SUB_IDENEWSF_LONG_OLDALT==NULL){
|
|
_SUB_IDENEWSF_LONG_OLDALT=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_OLDALT=0;
|
|
}
|
|
qbs *_SUB_IDENEWSF_STRING_ALTLETTER=NULL;
|
|
if (!_SUB_IDENEWSF_STRING_ALTLETTER)_SUB_IDENEWSF_STRING_ALTLETTER=qbs_new(0,0);
|
|
byte_element_struct *byte_element_4612=NULL;
|
|
if (!byte_element_4612){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4612=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4612=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_K=NULL;
|
|
if(_SUB_IDENEWSF_LONG_K==NULL){
|
|
_SUB_IDENEWSF_LONG_K=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_K=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_INFO=NULL;
|
|
if(_SUB_IDENEWSF_LONG_INFO==NULL){
|
|
_SUB_IDENEWSF_LONG_INFO=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_INFO=0;
|
|
}
|
|
int64 fornext_value4614;
|
|
int64 fornext_finalvalue4614;
|
|
int64 fornext_step4614;
|
|
uint8 fornext_step_negative4614;
|
|
int32 *_SUB_IDENEWSF_LONG_T=NULL;
|
|
if(_SUB_IDENEWSF_LONG_T==NULL){
|
|
_SUB_IDENEWSF_LONG_T=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_T=0;
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_FOCUSOFFSET=NULL;
|
|
if(_SUB_IDENEWSF_LONG_FOCUSOFFSET==NULL){
|
|
_SUB_IDENEWSF_LONG_FOCUSOFFSET=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_FOCUSOFFSET=0;
|
|
}
|
|
byte_element_struct *byte_element_4615=NULL;
|
|
if (!byte_element_4615){
|
|
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4615=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4615=(byte_element_struct*)mem_static_malloc(12);
|
|
}
|
|
int32 *_SUB_IDENEWSF_LONG_Y=NULL;
|
|
if(_SUB_IDENEWSF_LONG_Y==NULL){
|
|
_SUB_IDENEWSF_LONG_Y=(int32*)mem_static_malloc(4);
|
|
*_SUB_IDENEWSF_LONG_Y=0;
|
|
}
|