From f9dd08e10e9d0a36d86a2c2679314e7681307498 Mon Sep 17 00:00:00 2001 From: TomAwezome Date: Wed, 22 Apr 2020 03:16:08 -0400 Subject: [PATCH] more files reformatted. --- ...o => Zenith-latest-2020-04-22-03_13_25.iso | Bin 34813952 -> 34816000 bytes src/Doc/ChangeLog.DD | 5 +- src/Home/FilesRefactored.DD | 13 +- src/Zenith/Menu.CC | 296 ++-- src/Zenith/WinMgr.CC | 1209 ++++++++++------- 5 files changed, 858 insertions(+), 665 deletions(-) rename Zenith-latest-2020-04-21-18_57_55.iso => Zenith-latest-2020-04-22-03_13_25.iso (99%) diff --git a/Zenith-latest-2020-04-21-18_57_55.iso b/Zenith-latest-2020-04-22-03_13_25.iso similarity index 99% rename from Zenith-latest-2020-04-21-18_57_55.iso rename to Zenith-latest-2020-04-22-03_13_25.iso index 5003f17524d5891b209288e9fb128ec113333c76..25434d0fe2b2d3f1348ad5399133ec69305f6271 100755 GIT binary patch delta 58554 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 delta 40978 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 diff --git a/src/Doc/ChangeLog.DD b/src/Doc/ChangeLog.DD index db076cdc..25485358 100755 --- a/src/Doc/ChangeLog.DD +++ b/src/Doc/ChangeLog.DD @@ -1,5 +1,8 @@ $WW,1$$FG,5$$TX+CX,"ChangeLog"$$FG$ -$IV,1$----04/21/20 18:54:47----$IV,0$ +$IV,1$----04/22/20 03:09:47----$IV,0$ +* More files reformatted. $LK+PU,"Menu",A="FI:::/Zenith/Menu.CC"$, $LK+PU,"Window Manager",A="FI:::/Zenith/WinMgr.CC"$.$IV,1$ + +----04/21/20 18:54:47----$IV,0$ * Altered $LK+PU,"Tom Palettes",A="FF:::/Zenith/Gr/GrPalette.CC,PaletteSetTom"$ for better visibility.$IV,1$ ----04/21/20 16:13:01----$IV,0$ diff --git a/src/Home/FilesRefactored.DD b/src/Home/FilesRefactored.DD index ae3899f9..ee04f22e 100755 --- a/src/Home/FilesRefactored.DD +++ b/src/Home/FilesRefactored.DD @@ -1,19 +1,22 @@ $FG,7$Files reformatted starting from ::/ 'root' directory.$FG,0$ -StartOS.CC -Once.CC -HomeWrappers.CC -HomeSys.CC -HomeLocalize.CC HomeKeyPlugins.CC +HomeLocalize.CC +HomeSys.CC +HomeWrappers.CC +Once.CC +StartOS.CC + /Zenith/ DevInfo.CC InFile.CC MakeZenith.CC + Menu.CC TaskSettings.CC Training.CC WallPaper.CC Win.CC + WinMgr.CC $FG,7$-Tom$FG,0$ \ No newline at end of file diff --git a/src/Zenith/Menu.CC b/src/Zenith/Menu.CC index d2372001..1d1fbb2c 100755 --- a/src/Zenith/Menu.CC +++ b/src/Zenith/Menu.CC @@ -3,121 +3,129 @@ CTask *MenuTask() { - CTask *res=sys_focus_task; + CTask *res = sys_focus_task; while (res && !res->cur_menu) - res=res->parent_task; + res = res->parent_task; return res; } -CMenuEntry *sys_cur_submenu_entry=NULL; +CMenuEntry *sys_cur_submenu_entry = NULL; -public CMenuEntry *MenuSubEntryFind( - CMenuEntry *haystack_first,U8 *needle_entry_name) +public CMenuEntry *MenuSubEntryFind(CMenuEntry *haystack_first, U8 *needle_entry_name) {//You probably don't need this. Use dir / and $LK,"MenuEntryFind",A="MN:MenuEntryFind"$(). - while (haystack_first) { - if (!StrCompare(haystack_first->name,needle_entry_name)) + while (haystack_first) + { + if (!StrCompare(haystack_first->name, needle_entry_name)) return haystack_first; - haystack_first=haystack_first->next; + haystack_first = haystack_first->next; } return NULL; } -public CMenuEntry *MenuEntryFind(CMenu *haystack_menu,U8 *needle_full_name) +public CMenuEntry *MenuEntryFind(CMenu *haystack_menu, U8 *needle_full_name) {//Find pulldown entry. Fs->cur_menu is probably the menu you want. //Just 2 levels -- across top and down are valid, currently. - U8 *st,*st2; + U8 *st, *st2; CMenuEntry *tmpse; if (!haystack_menu || !needle_full_name) return NULL; - st=StrNew(needle_full_name); - st2=StrNew(needle_full_name); - tmpse=(&haystack_menu->sub)(U8 *)-offset(CMenuEntry.sub); - while (*st && tmpse) { - StrFirstRemove(st,"/",st2); - tmpse=MenuSubEntryFind(tmpse->sub,st2); + st = StrNew(needle_full_name); + st2 = StrNew(needle_full_name); + tmpse = (&haystack_menu->sub)(U8 *) - offset(CMenuEntry.sub); + while (*st && tmpse) + { + StrFirstRemove(st, "/", st2); + tmpse=MenuSubEntryFind(tmpse->sub, st2); } Free(st); Free(st2); return tmpse; } -CMenuEntry *MenuNewSub(CCompCtrl *cc,CTask *task) +CMenuEntry *MenuNewSub(CCompCtrl *cc, CTask *task) { - CMenuEntry *tmpme=NULL,*tmpse; - if (cc->token==TK_IDENT) { - tmpme=CAlloc(sizeof(CMenuEntry),task); - if (StrLen(cc->cur_str)>31) - cc->cur_str[31]=0; - StrCopy(tmpme->name,cc->cur_str); - if (Lex(cc)=='(') { - tmpme->message_code=MESSAGE_KEY_DOWN_UP; - if (Lex(cc)!=',' && cc->token!=')') - tmpme->message_code=LexExpressionI64(cc); - if (cc->token==',') + CMenuEntry *tmpme = NULL, *tmpse; + if (cc->token==TK_IDENT) + { + tmpme = CAlloc(sizeof(CMenuEntry),task); + if (StrLen(cc->cur_str) > 31) + cc->cur_str[31] = 0; + StrCopy(tmpme->name, cc->cur_str); + if (Lex(cc) == '(') + { + tmpme->message_code = MESSAGE_KEY_DOWN_UP; + if (Lex(cc) != ',' && cc->token != ')') + tmpme->message_code = LexExpressionI64(cc); + if (cc->token == ',') Lex(cc); - if (cc->token!=',' && cc->token!=')') - tmpme->arg1=LexExpressionI64(cc); - if (cc->token==',') + if (cc->token != ',' && cc->token != ')') + tmpme->arg1 = LexExpressionI64(cc); + if (cc->token == ',') Lex(cc); - if (cc->token!=',' && cc->token!=')') - tmpme->arg2=LexExpressionI64(cc); - if (cc->token!=')') - LexExcept(cc,"Missing ')' at "); - if (Lex(cc)!=';') - LexExcept(cc,"Missing ';' at"); + if (cc->token != ',' && cc->token != ')') + tmpme->arg2 = LexExpressionI64(cc); + if (cc->token != ')') + LexExcept(cc, "Missing ')' at "); + if (Lex(cc) != ';') + LexExcept(cc, "Missing ';' at"); Lex(cc); //Skip ; - } else if (cc->token=='{') { + } + else if (cc->token == '{') + { Lex(cc); //Skip { - tmpme->dir=TRUE; - tmpse=&tmpme->sub; - while (tmpse && cc->token!='}') - tmpse=tmpse->next=MenuNewSub(cc,task); - if (cc->token!='}') - LexExcept(cc,"Missing '}' at "); + tmpme->dir = TRUE; + tmpse = &tmpme->sub; + while (tmpse && cc->token != '}') + tmpse = tmpse->next = MenuNewSub(cc, task); + if (cc->token != '}') + LexExcept(cc, "Missing '}' at "); else Lex(cc); //Skip } - } else - LexExcept(cc,"Expecting '{' at "); + } + else + LexExcept(cc, "Expecting '{' at "); } return tmpme; } -public CMenu *MenuNew(U8 *st,I64 flags=0,CTask *task=NULL) +public CMenu *MenuNew(U8 *st, I64 flags = 0, CTask *task = NULL) {//Parse a menu. You probably don't need this. CMenu *m; CMenuEntry *tmpse; - CCompCtrl *cc=CompCtrlNew(st,CCF_DONT_FREE_BUF); - if (!task) task=Fs; + CCompCtrl *cc = CompCtrlNew(st, CCF_DONT_FREE_BUF); + if (!task) task = Fs; Lex(cc); - m=CAlloc(sizeof(CMenu),task); - m->task=task; - m->flags=flags; - m->attr =BLUE<<4+YELLOW; - tmpse=&m->sub; + m = CAlloc(sizeof(CMenu), task); + m->task = task; + m->flags = flags; + m->attr = BLUE << 4 + YELLOW; + tmpse = &m->sub; while (tmpse) - tmpse=tmpse->next=MenuNewSub(cc,task); + tmpse = tmpse->next = MenuNewSub(cc, task); CompCtrlDel(cc); return m; } -public CMenu *MenuFile(U8 *filename,I64 flags=0,CTask *task=NULL) +public CMenu *MenuFile(U8 *filename, I64 flags = 0, CTask *task = NULL) {//Parse a pulldown menu file. You probably don't need this. CMenu *m; - U8 *st=MStrPrint("#include \"%s\"",filename); - m=MenuNew(st,flags,task); + U8 *st = MStrPrint("#include \"%s\"", filename); + m = MenuNew(st, flags, task); Free(st); return m; } U0 MenuDelSub(CMenuEntry *tmpme) { - CMenuEntry *tmpse,*tmpse1; - if (tmpme) { - tmpse=tmpme->sub; - while (tmpse) { - tmpse1=tmpse->next; + CMenuEntry *tmpse, *tmpse1; + if (tmpme) + { + tmpse = tmpme->sub; + while (tmpse) + { + tmpse1 = tmpse->next; MenuDelSub(tmpse); - tmpse=tmpse1; + tmpse = tmpse1; } Free(tmpme); } @@ -125,119 +133,133 @@ U0 MenuDelSub(CMenuEntry *tmpme) public U0 MenuDel(CMenu *m) {//Delete a manu. You probably don't need this. - CMenuEntry *tmpme,*tmpme1; + CMenuEntry *tmpme, *tmpme1; if (!m) return; - tmpme=m->sub; - while (tmpme) { - tmpme1=tmpme->next; + tmpme = m->sub; + while (tmpme) + { + tmpme1 = tmpme->next; MenuDelSub(tmpme); - tmpme=tmpme1; + tmpme = tmpme1; } Free(m); } I64 MenuEntryWidth(CMenuEntry *tmpme) { - I64 res=StrLen(tmpme->name); - CMenuEntry *tmpse=tmpme->sub; - while (tmpse) { - res=MaxI64(res,StrLen(tmpse->name)); - tmpse=tmpse->next; + I64 res = StrLen(tmpme->name); + CMenuEntry *tmpse = tmpme->sub; + while (tmpse) + { + res = MaxI64(res, StrLen(tmpse->name)); + tmpse = tmpse->next; } - return res+1; + return res + 1; } public CMenu *MenuPush(U8 *st) {//Save old pulldown menu and replace with new from str. - CMenu *m=MenuNew(st); - m->next=Fs->cur_menu; - Fs->cur_menu=m; + CMenu *m = MenuNew(st); + m->next = Fs->cur_menu; + Fs->cur_menu = m; return m; } public CMenu *MenuFilePush(U8 *filename) {//Save old pulldown menu and replace with new from file. - CMenu *m=MenuFile(filename); - m->next=Fs->cur_menu; - Fs->cur_menu=m; + CMenu *m = MenuFile(filename); + m->next = Fs->cur_menu; + Fs->cur_menu = m; return m; } public U0 MenuPop() {//Restore old pulldown menu. Delete just-deactivated menu. - CMenu *m=Fs->cur_menu; + CMenu *m = Fs->cur_menu; if (!m) return; - Fs->cur_menu=m->next; + Fs->cur_menu = m->next; MenuDel(m); } U0 DrawMenu(CDC *dc) { CMenu *m; - CMenuEntry *tmpme,*tmpse,*cur_submenu=NULL; - U8 *st=NULL; - CTask *task=MenuTask; - I64 i,w,x0,y0,x1=mouse.pos.x,y1=mouse.pos.y; - if (!TaskValidate(task) || !(m=task->cur_menu)) { - sys_cur_submenu_entry=NULL; + CMenuEntry *tmpme, *tmpse, *cur_submenu = NULL; + U8 *st = NULL; + CTask *task = MenuTask; + I64 i, w, x0, y0, x1 = mouse.pos.x, y1 = mouse.pos.y; + if (!TaskValidate(task) || !(m = task->cur_menu)) + { + sys_cur_submenu_entry = NULL; return; } - dc->color=m->attr>>4; - GrRect(dc,0,0,GR_WIDTH,FONT_HEIGHT); - x0=0; - tmpme=m->sub; - while (tmpme) { - w=MenuEntryWidth(tmpme)*FONT_WIDTH; - if (x0<=x1color=m->attr&15; - GrRect(dc,x0,0,w,FONT_HEIGHT); - dc->color=m->attr>>4; - } else - dc->color=m->attr&15; - GrPrint(dc,x0,0,"%s",tmpme->name); - y0=FONT_HEIGHT; - tmpse=tmpme->sub; - while (tmpse) { + dc->color = m->attr >> 4; + GrRect(dc, 0, 0, GR_WIDTH, FONT_HEIGHT); + x0 = 0; + tmpme = m->sub; + while (tmpme) + { + w = MenuEntryWidth(tmpme) * FONT_WIDTH; + if (x0 <= x1 < x0 + w) { + if (0 <= y1 < FONT_HEIGHT) + { + dc->color = m->attr & 15; + GrRect(dc, x0, 0, w, FONT_HEIGHT); + dc->color = m->attr >> 4; + } + else + dc->color = m->attr & 15; + GrPrint(dc, x0, 0, "%s", tmpme->name); + y0 = FONT_HEIGHT; + tmpse = tmpme->sub; + while (tmpse) + { if (tmpse->checked) - i=m->attr^0xFF; + i = m->attr ^ 0xFF; else - i=m->attr; - if (y0<=y1message_code==MESSAGE_KEY_DOWN|| - tmpse->message_code==MESSAGE_KEY_DOWN_UP) { + i = m->attr; + if (y0 <= y1 < y0 + FONT_HEIGHT) + { + if (tmpse->message_code == MESSAGE_KEY_DOWN || + tmpse->message_code == MESSAGE_KEY_DOWN_UP) + { if (!tmpse->arg2) - tmpse->arg2=Char2ScanCode(tmpse->arg1); - st=ScanCode2KeyName(tmpse->arg2); + tmpse->arg2 = Char2ScanCode(tmpse->arg1); + st = ScanCode2KeyName(tmpse->arg2); } - sys_cur_submenu_entry=cur_submenu=tmpse; - dc->color=i&15; - GrRect(dc,x0,y0,w,FONT_HEIGHT); - dc->color=i>>4; - GrPrint(dc,x0,y0,"%s",tmpse->name); - if (st) { - dc->color=i>>4; - GrRect(dc,x0+w,y0-FONT_HEIGHT, - (StrLen(st)+1)*FONT_WIDTH,FONT_HEIGHT*3); - dc->color=i&15; - GrPrint(dc,x0+w,y0,"%s",st); + sys_cur_submenu_entry = cur_submenu = tmpse; + dc->color = i & 15; + GrRect(dc, x0, y0, w, FONT_HEIGHT); + dc->color = i >> 4; + GrPrint(dc, x0, y0, "%s", tmpse->name); + if (st) + { + dc->color = i >> 4; + GrRect(dc, x0 + w, y0 - FONT_HEIGHT, + (StrLen(st) + 1) * FONT_WIDTH, FONT_HEIGHT * 3); + dc->color = i & 15; + GrPrint(dc, x0 + w, y0, "%s", st); Free(st); } - } else { - dc->color=i>>4; - GrRect(dc,x0,y0,w,FONT_HEIGHT); - dc->color=i&15; - GrPrint(dc,x0,y0,"%s",tmpse->name); } - y0+=FONT_HEIGHT; - tmpse=tmpse->next; + else + { + dc->color = i >> 4; + GrRect(dc, x0, y0, w, FONT_HEIGHT); + dc->color = i & 15; + GrPrint(dc, x0, y0, "%s", tmpse->name); + } + y0 += FONT_HEIGHT; + tmpse = tmpse->next; } - } else { - dc->color=m->attr&15; - GrPrint(dc,x0,0,"%s",tmpme->name); } - x0+=w; - tmpme=tmpme->next; + else + { + dc->color = m->attr & 15; + GrPrint(dc, x0, 0, "%s", tmpme->name); + } + x0 += w; + tmpme = tmpme->next; } - sys_cur_submenu_entry=cur_submenu; + sys_cur_submenu_entry = cur_submenu; } diff --git a/src/Zenith/WinMgr.CC b/src/Zenith/WinMgr.CC index 3302e68c..55f92f62 100755 --- a/src/Zenith/WinMgr.CC +++ b/src/Zenith/WinMgr.CC @@ -1,187 +1,214 @@ #help_index "Windows;Task/Delay" -public U0 Refresh(I64 count=1,Bool force=FALSE) +public U0 Refresh(I64 count = 1, Bool force = FALSE) {//Wait for 60fps WinMgr to start & finish screen refresh. //0,FALSE Count Sync to WinMgr. //0,TRUE Pump Messages. //1 Count Wait and Pump Messages. //2 Count Make Sure to do a Full Refresh //and Set Cur Pos. - Bool old_full_refresh, - old_idle=LBts(&Fs->task_flags,TASKf_IDLE); - CDoc *old_doc=DocPut; + Bool old_full_refresh, old_idle = LBts(&Fs->task_flags, TASKf_IDLE); + CDoc *old_doc = DocPut; I64 update_count; - if (!count&&force) - LBts(&sys_semas[SEMA_JUST_PUMP_MESSAGES],0); - while (Bt(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0)) { + if (!count && force) + LBts(&sys_semas[SEMA_JUST_PUMP_MESSAGES], 0); + while (Bt(&sys_semas[SEMA_REFRESH_IN_PROGRESS], 0)) + { if (force && sys_winmgr_task) - sys_winmgr_task->wake_jiffy=counts.jiffies; + sys_winmgr_task->wake_jiffy = counts.jiffies; Yield; } - if (count>1 && old_doc) - old_full_refresh=LBts(&old_doc->flags,DOCf_DO_FULL_REFRESH); - update_count=winmgr.updates+count; - while (winmgr.updates 1 && old_doc) + old_full_refresh = LBts(&old_doc->flags, DOCf_DO_FULL_REFRESH); + update_count = winmgr.updates+count; + while (winmgr.updates < update_count) + { if (force && sys_winmgr_task) - sys_winmgr_task->wake_jiffy=counts.jiffies; + sys_winmgr_task->wake_jiffy = counts.jiffies; Sleep(1); } if (old_doc) - LBEqual(&old_doc->flags,DOCf_DO_FULL_REFRESH,old_full_refresh); - LBEqual(&Fs->task_flags,TASKf_IDLE,old_idle); + LBEqual(&old_doc->flags, DOCf_DO_FULL_REFRESH, old_full_refresh); + LBEqual(&Fs->task_flags, TASKf_IDLE, old_idle); } #help_index "Windows" I64 WinQueueIPMessages(Bool que) { - static CD3I64 single_mouse={0,0,0}; - F64 time=tS; - I64 message_code=0,arg1,arg2,single_arg1,single_arg2; - CTask *task_focus=sys_focus_task; + static CD3I64 single_mouse = {0, 0, 0}; + F64 time = tS; + I64 message_code = 0, arg1, arg2, single_arg1, single_arg2; + CTask *task_focus = sys_focus_task; - if (task_focus && !winmgr.grab_scroll) { - arg1=mouse.pos.x-task_focus->pix_left-task_focus->scroll_x; - arg2=mouse.pos.y-task_focus->pix_top-task_focus->scroll_y; - single_arg1=single_mouse.x-task_focus->pix_left-task_focus->scroll_x; - single_arg2=single_mouse.y-task_focus->pix_top-task_focus->scroll_y; - if (old_mouse.presnap.x!=mouse.presnap.x || old_mouse.presnap.y!=mouse.presnap.y) { + if (task_focus && !winmgr.grab_scroll) + { + arg1 = mouse.pos.x - task_focus->pix_left - task_focus->scroll_x; + arg2 = mouse.pos.y - task_focus->pix_top - task_focus->scroll_y; + single_arg1 = single_mouse.x - task_focus->pix_left - task_focus->scroll_x; + single_arg2 = single_mouse.y - task_focus->pix_top - task_focus->scroll_y; + if (old_mouse.presnap.x != mouse.presnap.x || old_mouse.presnap.y != mouse.presnap.y) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_MOVE,arg1,arg2,0); - message_code=MESSAGE_MS_MOVE; + TaskMessage(task_focus, 0, MESSAGE_MS_MOVE, arg1, arg2, 0); + message_code = MESSAGE_MS_MOVE; } //TODO que message for mouse.pos.z? - if (mouse.left_dbl_time) { - if (time>mouse.left_dbl_time) { - if (mouse.left_dbl) { - if (!mouse.left_down_sent) { + if (mouse.left_dbl_time) + { + if (time > mouse.left_dbl_time) + { + if (mouse.left_dbl) + { + if (!mouse.left_down_sent) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_D_DOWN,arg1,arg2,0); - mouse.left_down_sent=TRUE; - message_code=MESSAGE_MS_L_D_DOWN; + TaskMessage(task_focus, 0, MESSAGE_MS_L_D_DOWN, arg1, arg2, 0); + mouse.left_down_sent = TRUE; + message_code = MESSAGE_MS_L_D_DOWN; } - if (!mouse.lb) { + if (!mouse.lb) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_D_UP,arg1,arg2,0); - mouse.left_dbl_time=0; - message_code=MESSAGE_MS_L_D_UP; - } - } else { - if (!mouse.left_down_sent) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_DOWN,single_arg1,single_arg2,0); - mouse.left_down_sent=TRUE; - message_code=MESSAGE_MS_L_DOWN; - } - if (!mouse.lb) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_UP,arg1,arg2,0); - mouse.left_dbl_time=0; - message_code=MESSAGE_MS_L_UP; + TaskMessage(task_focus, 0, MESSAGE_MS_L_D_UP, arg1, arg2, 0); + mouse.left_dbl_time = 0; + message_code = MESSAGE_MS_L_D_UP; } } - } else { + else + { + if (!mouse.left_down_sent) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_L_DOWN, single_arg1, single_arg2, 0); + mouse.left_down_sent = TRUE; + message_code = MESSAGE_MS_L_DOWN; + } + if (!mouse.lb) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_L_UP, arg1, arg2, 0); + mouse.left_dbl_time = 0; + message_code = MESSAGE_MS_L_UP; + } + } + } + else + { if (mouse.lb && !mouse_last.lb) { - mouse.left_dbl_time=time; - mouse.left_dbl=TRUE; + mouse.left_dbl_time = time; + mouse.left_dbl = TRUE; } } - } else { - if (TaskValidate(task_focus) && - Bt(&task_focus->win_inhibit,WIf_FOCUS_TASK_MS_L_D)) { - if (mouse.lb && !mouse_last.lb) { + } + else + { + if (TaskValidate(task_focus) && Bt(&task_focus->win_inhibit, WIf_FOCUS_TASK_MS_L_D)) + { + if (mouse.lb && !mouse_last.lb) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_DOWN,arg1,arg2,0); - message_code=MESSAGE_MS_L_DOWN; - } else if (!mouse.lb && mouse_last.lb) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_L_UP,arg1,arg2,0); - message_code=MESSAGE_MS_L_UP; + TaskMessage(task_focus, 0, MESSAGE_MS_L_DOWN, arg1, arg2, 0); + message_code = MESSAGE_MS_L_DOWN; } - } else { - if (mouse.lb && !mouse_last.lb) { - mouse.left_dbl=FALSE; - mouse.left_down_sent=FALSE; - mouse.left_dbl_time=time+mouse.dbl_time; - single_mouse.x=mouse.pos.x; - single_mouse.y=mouse.pos.y; + else if (!mouse.lb && mouse_last.lb) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_L_UP, arg1, arg2, 0); + message_code = MESSAGE_MS_L_UP; + } + } + else + { + if (mouse.lb && !mouse_last.lb) + { + mouse.left_dbl = FALSE; + mouse.left_down_sent = FALSE; + mouse.left_dbl_time = time + mouse.dbl_time; + single_mouse.x = mouse.pos.x; + single_mouse.y = mouse.pos.y; } } } - if (mouse.right_dbl_time) { - if (time>mouse.right_dbl_time) { - if (mouse.right_dbl) { - if (!mouse.right_down_sent) { + if (mouse.right_dbl_time) + { + if (time > mouse.right_dbl_time) + { + if (mouse.right_dbl) + { + if (!mouse.right_down_sent) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_D_DOWN,arg1,arg2,0); - mouse.right_down_sent=TRUE; - message_code=MESSAGE_MS_R_D_DOWN; + TaskMessage(task_focus, 0, MESSAGE_MS_R_D_DOWN, arg1, arg2, 0); + mouse.right_down_sent = TRUE; + message_code = MESSAGE_MS_R_D_DOWN; } - if (!mouse.rb) { + if (!mouse.rb) + { if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_D_UP,arg1,arg2,0); - mouse.right_dbl_time=0; - message_code=MESSAGE_MS_R_D_UP; - } - } else { - if (!mouse.right_down_sent) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_DOWN,single_arg1,single_arg2,0); - mouse.right_down_sent=TRUE; - message_code=MESSAGE_MS_R_DOWN; - } - if (!mouse.rb) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_UP,arg1,arg2,0); - mouse.right_dbl_time=0; - message_code=MESSAGE_MS_R_UP; + TaskMessage(task_focus, 0, MESSAGE_MS_R_D_UP, arg1, arg2, 0); + mouse.right_dbl_time = 0; + message_code = MESSAGE_MS_R_D_UP; } } - } else { + else + { + if (!mouse.right_down_sent) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_R_DOWN, single_arg1, single_arg2, 0); + mouse.right_down_sent = TRUE; + message_code = MESSAGE_MS_R_DOWN; + } + if (!mouse.rb) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_R_UP, arg1, arg2, 0); + mouse.right_dbl_time = 0; + message_code = MESSAGE_MS_R_UP; + } + } + } + else + { + if (mouse.rb && !mouse_last.rb) + { + mouse.right_dbl_time = time; + mouse.right_dbl = TRUE; + } + } + } + else + { + if (TaskValidate(task_focus) && Bt(&task_focus->win_inhibit, WIf_FOCUS_TASK_MS_R_D)) + { if (mouse.rb && !mouse_last.rb) { - mouse.right_dbl_time=time; - mouse.right_dbl=TRUE; + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_R_DOWN, arg1, arg2, 0); + message_code = MESSAGE_MS_R_DOWN; + } + else if (!mouse.rb && mouse_last.rb) + { + if (que) + TaskMessage(task_focus, 0, MESSAGE_MS_R_UP, arg1, arg2, 0); + message_code = MESSAGE_MS_R_UP; } } - } else { - if (TaskValidate(task_focus) && - Bt(&task_focus->win_inhibit,WIf_FOCUS_TASK_MS_R_D)) { - if (mouse.rb && !mouse_last.rb) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_DOWN,arg1,arg2,0); - message_code=MESSAGE_MS_R_DOWN; - } else if (!mouse.rb && mouse_last.rb) { - if (que) - TaskMessage(task_focus,0, - MESSAGE_MS_R_UP,arg1,arg2,0); - message_code=MESSAGE_MS_R_UP; - } - } else { - if (mouse.rb && !mouse_last.rb) { - mouse.right_dbl=FALSE; - mouse.right_down_sent=FALSE; - mouse.right_dbl_time=time+mouse.dbl_time; - single_mouse.x=mouse.pos.x; - single_mouse.y=mouse.pos.y; + else + { + if (mouse.rb && !mouse_last.rb) { + mouse.right_dbl = FALSE; + mouse.right_down_sent = FALSE; + mouse.right_dbl_time = time + mouse.dbl_time; + single_mouse.x = mouse.pos.x; + single_mouse.y = mouse.pos.y; } } } - MemCopy(&mouse_last,&mouse,sizeof(CMouseStateGlobals)); - MemCopy(&old_mouse,&mouse,sizeof(CMouseStateGlobals)); + MemCopy(&mouse_last, &mouse, sizeof(CMouseStateGlobals)); + MemCopy(&old_mouse, &mouse, sizeof(CMouseStateGlobals)); } return message_code; } @@ -189,152 +216,171 @@ I64 WinQueueIPMessages(Bool que) U0 WinCalcIdles() { F64 calc_idle_time; - I64 i,k,total_jiffies,total_jiffies_delta,idle_pt_hits[MP_PROCESSORS_NUM]; + I64 i, k, total_jiffies, total_jiffies_delta, idle_pt_hits[MP_PROCESSORS_NUM]; CCPU *c; - CWinMgrTimingGlobals *t=winmgr.t; + CWinMgrTimingGlobals *t = winmgr.t; - if ((t->calc_idle_delta_time= - (calc_idle_time=tS)-t->last_calc_idle_time)>.25) { + if ((t->calc_idle_delta_time = (calc_idle_time = tS) - t->last_calc_idle_time) > .25) + { PUSHFD CLI - total_jiffies=cpu_structs[0].total_jiffies; - for (i=0;ilast_total_jiffies; - for (i=0;ilast_idle_pt_hits[i])>=0) - c->idle_factor=Clamp(ToF64(k)/total_jiffies_delta,0.01,0.99); + total_jiffies_delta = total_jiffies - t->last_total_jiffies; + for (i = 0; i < mp_count; i++) + { + c = &cpu_structs[i]; + if (total_jiffies_delta && (k = idle_pt_hits[i] - t->last_idle_pt_hits[i]) >= 0) + c->idle_factor = Clamp(ToF64(k) / total_jiffies_delta, 0.01, 0.99); else - c->idle_factor=0.01; - t->last_idle_pt_hits[i]=idle_pt_hits[i]; + c->idle_factor = 0.01; + t->last_idle_pt_hits[i] = idle_pt_hits[i]; } - t->last_total_jiffies=total_jiffies; - t->last_calc_idle_time=calc_idle_time; + t->last_total_jiffies = total_jiffies; + t->last_calc_idle_time = calc_idle_time; t->calc_idle_count++; } } -I64 WinMgrSleep(Bool flush_messages=FALSE) +I64 WinMgrSleep(Bool flush_messages = FALSE) { - I64 timeout_val,message_code=0; + I64 timeout_val, message_code=0; CCtrl *c; Bool que; - F64 t,t_delta; + F64 t, t_delta; U8 *st; CDC *diff; CDate cdt; TimeCal; - if ((t_delta=(t=tS)-winmgr.last_refresh_tS)>0.01) - winmgr.fps=Max(1.0/t_delta,1); + if ((t_delta = (t = tS) - winmgr.last_refresh_tS) > 0.01) + winmgr.fps = Max(1.0 / t_delta, 1); else - winmgr.fps=99; - winmgr.last_refresh_tS=t; + winmgr.fps = 99; + winmgr.last_refresh_tS = t; WinCalcIdles; if (flush_messages) FifoI64Flush(kbd.scan_code_fifo); - else if (TaskValidate(sys_focus_task)) { + else if (TaskValidate(sys_focus_task)) + { KbdMessagesQueue; - que=TRUE; - if (TaskValidate(sys_focus_task) && - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_CTRLS)) { - c=sys_focus_task->next_ctrl; - while (c!=&sys_focus_task->next_ctrl) { - if (CtrlInside(c,mouse.pos.x,mouse.pos.y)) { - que=FALSE; + que = TRUE; + if (TaskValidate(sys_focus_task) && !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_CTRLS)) { + c = sys_focus_task->next_ctrl; + while (c != &sys_focus_task->next_ctrl) + { + if (CtrlInside(c, mouse.pos.x, mouse.pos.y)) + { + que = FALSE; break; } - c=c->next; + c = c->next; } } - message_code=WinQueueIPMessages(que); - } else { + message_code = WinQueueIPMessages(que); + } + else + { WinRefocus(sys_focus_task); if (!TaskValidate(sys_focus_task)) FifoI64Flush(kbd.scan_code_fifo); } if (sys_focus_task) - LBtr(&sys_focus_task->task_flags,TASKf_HAS_SONG); + LBtr(&sys_focus_task->task_flags, TASKf_HAS_SONG); WinMouseUpdate; - if (!LBtr(&sys_semas[SEMA_JUST_PUMP_MESSAGES],0)) { - t=tS+WINMGR_PERIOD/8; - while (winmgr.ideal_refresh_tScdt=cdt; - st=MStrPrint(screencast.print_format,cdt); - GRWrite(st,screencast.dc); + LBtr(&sys_semas[SEMA_REFRESH_IN_PROGRESS], 0); + if (screencast.record && !screencast.just_audio) + { + cdt = screencast.t0_now(I64) + ToI64(CDATE_FREQ * (tS - screencast.t0_tS)); + if (!screencast.dc) + { + screencast.dc = DCCopy(screencast.dc2_alias); + screencast.dc->cdt = cdt; + st = MStrPrint(screencast.print_format, cdt); + GRWrite(st, screencast.dc); Free(st); - } else if (MemCompare(screencast.dc->body, - screencast.dc2_alias->body,MSize(screencast.dc2_alias->body))) { - diff=DCDiff(screencast.dc,screencast.dc2_alias); - diff->cdt=cdt; - st=MStrPrint(screencast.print_format,cdt); - GRWrite(st,diff); + } + else if (MemCompare(screencast.dc->body, + screencast.dc2_alias->body, MSize(screencast.dc2_alias->body))) + { + diff = DCDiff(screencast.dc, screencast.dc2_alias); + diff->cdt = cdt; + st = MStrPrint(screencast.print_format, cdt); + GRWrite(st, diff); Free(st); DCDel(diff); Free(screencast.dc->body); - screencast.dc->body=MAllocIdent(screencast.dc2_alias->body); + screencast.dc->body = MAllocIdent(screencast.dc2_alias->body); } - } else if (screencast.dc) { + } + else if (screencast.dc) + { DCDel(screencast.dc); //TODO: $LK,"MemRep",A="MN:MemRep"$ can crash. - screencast.dc=NULL; + screencast.dc = NULL; } - if (sys_focus_task && !Bt(&sys_focus_task->task_flags,TASKf_HAS_SONG)) { + if (sys_focus_task && !Bt(&sys_focus_task->task_flags, TASKf_HAS_SONG)) + { Free(music.cur_song); - music.cur_song=NULL; + music.cur_song = NULL; } - if (music.cur_song) { + if (music.cur_song) + { if (!music.cur_song_task) - music.cur_song_task=Spawn(&CurSongTask,NULL,"Song"); - } else if (music.cur_song_task) { + music.cur_song_task = Spawn(&CurSongTask, NULL, "Song"); + } + else if (music.cur_song_task) + { Kill(music.cur_song_task); - music.cur_song_task=NULL; + music.cur_song_task = NULL; } winmgr.updates++; if (mouse_hard.install_attempts) //Don't call before boot mouse install attempt - KbdMouseHandler(FALSE,TRUE); + KbdMouseHandler(FALSE, TRUE); SleepUntil(timeout_val); } return message_code; } -CDoc *WinCursorPosSet(CTask *task,I64 mouse_x,I64 mouse_y,Bool set_cursor=TRUE) +CDoc *WinCursorPosSet(CTask *task, I64 mouse_x, I64 mouse_y, Bool set_cursor = TRUE) { - CDoc *res=NULL; + CDoc *res = NULL; Bool unlock; - I64 x0,y0; - if (!task) task=Fs; - if (WinInside(mouse_x,mouse_y,task)) { - if ((res=DocDisplay(task)) && res->flags&DOCF_DONT_SHOW) - res=NULL; - else if (set_cursor) { - unlock=DocLock(res); - if (res->doc_signature!=DOC_SIGNATURE_VAL) - res=NULL; - else { - x0=res->line_start_col; - y0=res->top_line_num; - DocRecalc(res,RECALCF_HAS_CURSOR); - res->x=(mouse_x-task->pix_left-task->scroll_x)/FONT_WIDTH +x0; - res->y=(mouse_y-task->pix_top -task->scroll_y)/FONT_HEIGHT+y0; - DocRecalc(res,RECALCt_FIND_CURSOR); - task->scroll_x=0; - task->scroll_y=0; - task->scroll_z=0; + I64 x0, y0; + if (!task) task = Fs; + if (WinInside(mouse_x, mouse_y, task)) + { + if ((res = DocDisplay(task)) && res->flags & DOCF_DONT_SHOW) + res = NULL; + else if (set_cursor) + { + unlock = DocLock(res); + if (res->doc_signature != DOC_SIGNATURE_VAL) + res = NULL; + else + { + x0 = res->line_start_col; + y0 = res->top_line_num; + DocRecalc(res, RECALCF_HAS_CURSOR); + res->x = (mouse_x-task->pix_left - task->scroll_x) / FONT_WIDTH + x0; + res->y = (mouse_y-task->pix_top - task->scroll_y) / FONT_HEIGHT + y0; + DocRecalc(res, RECALCt_FIND_CURSOR); + task->scroll_x = 0; + task->scroll_y = 0; + task->scroll_z = 0; if (unlock) DocUnlock(res); } @@ -346,70 +392,87 @@ CDoc *WinCursorPosSet(CTask *task,I64 mouse_x,I64 mouse_y,Bool set_cursor=TRUE) Bool WinKeyNavMenu() { - I64 i,old_key_count; - CD3I64 old_pos,new_pos; + I64 i, old_key_count; + CD3I64 old_pos, new_pos; CMenu *m; CMenuEntry *tmpme; - CTask *focus=MenuTask; - if (Bt(kbd.down_bitmap,SC_GUI) && focus && (m=focus->cur_menu)) { - winmgr.show_menu=TRUE; - sys_cur_submenu_entry=NULL; - old_pos.x=mouse.pos.x; old_pos.y=mouse.pos.y; - mouse.pos.x=new_pos.x=mouse.pos.y=new_pos.y=0; - while (Bt(kbd.down_bitmap,SC_GUI)) { - old_key_count=kbd.count; - if (Bt(kbd.down_bitmap,SC_CURSOR_LEFT)) { - while (Bt(kbd.down_bitmap,SC_CURSOR_LEFT) && kbd.count==old_key_count) + CTask *focus = MenuTask; + if (Bt(kbd.down_bitmap, SC_GUI) && focus && (m = focus->cur_menu)) + { + winmgr.show_menu = TRUE; + sys_cur_submenu_entry = NULL; + old_pos.x = mouse.pos.x; + old_pos.y = mouse.pos.y; + mouse.pos.x = new_pos.x = mouse.pos.y = new_pos.y = 0; + while (Bt(kbd.down_bitmap, SC_GUI)) + { + old_key_count = kbd.count; + if (Bt(kbd.down_bitmap, SC_CURSOR_LEFT)) + { + while (Bt(kbd.down_bitmap, SC_CURSOR_LEFT) && kbd.count == old_key_count) WinMgrSleep(TRUE); - if (new_pos.x) { - i=0; - tmpme=m->sub; - while (tmpme) { - if (i+MenuEntryWidth(tmpme)*FONT_WIDTH==new_pos.x) { - new_pos.x=i; + if (new_pos.x) + { + i = 0; + tmpme = m->sub; + while (tmpme) + { + if (i + MenuEntryWidth(tmpme) * FONT_WIDTH == new_pos.x) + { + new_pos.x = i; break; } - i+=MenuEntryWidth(tmpme)*FONT_WIDTH; - tmpme=tmpme->next; + i += MenuEntryWidth(tmpme) * FONT_WIDTH; + tmpme = tmpme->next; } } - new_pos.y=0; - } else if (Bt(kbd.down_bitmap,SC_CURSOR_RIGHT)) { - while (Bt(kbd.down_bitmap,SC_CURSOR_RIGHT) && kbd.count==old_key_count) + new_pos.y = 0; + } + else if (Bt(kbd.down_bitmap, SC_CURSOR_RIGHT)) + { + while (Bt(kbd.down_bitmap, SC_CURSOR_RIGHT) && kbd.count == old_key_count) WinMgrSleep(TRUE); - i=0; - tmpme=m->sub; - while (tmpme) { - if (i==new_pos.x) { + i = 0; + tmpme = m->sub; + while (tmpme) + { + if (i == new_pos.x) + { if (tmpme->next) - new_pos.x=i+MenuEntryWidth(tmpme)*FONT_WIDTH; + new_pos.x = i + MenuEntryWidth(tmpme) * FONT_WIDTH; break; } - i+=MenuEntryWidth(tmpme)*FONT_WIDTH; - tmpme=tmpme->next; + i += MenuEntryWidth(tmpme) * FONT_WIDTH; + tmpme = tmpme->next; } - new_pos.y=0; - } else if (Bt(kbd.down_bitmap,SC_CURSOR_UP)) { - while (Bt(kbd.down_bitmap,SC_CURSOR_UP) && kbd.count==old_key_count) - WinMgrSleep(TRUE); - new_pos.y-=FONT_HEIGHT; - } else if (Bt(kbd.down_bitmap,SC_CURSOR_DOWN)) { - while (Bt(kbd.down_bitmap,SC_CURSOR_DOWN) && kbd.count==old_key_count) - WinMgrSleep(TRUE); - new_pos.y+=FONT_HEIGHT; + new_pos.y = 0; } - new_pos.x=ClampI64(new_pos.x,0,GR_WIDTH-1); - new_pos.y=ClampI64(new_pos.y,0,GR_HEIGHT-1); - mouse.pos.x=new_pos.x; mouse.pos.y=new_pos.y; + else if (Bt(kbd.down_bitmap, SC_CURSOR_UP)) + { + while (Bt(kbd.down_bitmap, SC_CURSOR_UP) && kbd.count == old_key_count) + WinMgrSleep(TRUE); + new_pos.y -= FONT_HEIGHT; + } + else if (Bt(kbd.down_bitmap, SC_CURSOR_DOWN)) + { + while (Bt(kbd.down_bitmap, SC_CURSOR_DOWN) && kbd.count == old_key_count) + WinMgrSleep(TRUE); + new_pos.y += FONT_HEIGHT; + } + new_pos.x = ClampI64(new_pos.x, 0, GR_WIDTH - 1); + new_pos.y = ClampI64(new_pos.y, 0, GR_HEIGHT - 1); + mouse.pos.x = new_pos.x; + mouse.pos.y = new_pos.y; WinMgrSleep(TRUE); if (!sys_cur_submenu_entry) - mouse.pos.y=new_pos.y=0; + mouse.pos.y = new_pos.y=0; } if (sys_cur_submenu_entry) - TaskMessage(sys_focus_task,0,sys_cur_submenu_entry->message_code, - sys_cur_submenu_entry->arg1,sys_cur_submenu_entry->arg2,0); - winmgr.show_menu=FALSE; - mouse.pos.x=old_pos.x; mouse.pos.y=old_pos.y; + TaskMessage(sys_focus_task, 0, sys_cur_submenu_entry->message_code, + sys_cur_submenu_entry->arg1, sys_cur_submenu_entry->arg2, 0); + winmgr.show_menu = FALSE; + mouse.pos.x = old_pos.x; + mouse.pos.y = old_pos.y; return TRUE; } return FALSE; @@ -417,447 +480,549 @@ Bool WinKeyNavMenu() U0 WinMgrTask(I64) { - CTask *task=Fs; + CTask *task = Fs; CDoc *doc; CDocEntry *doc_e; - I64 x,y,z,message_code, - my_mouse_z=0,left,top, - old_flags=RFlagsGet; + I64 x, y, z, message_code, my_mouse_z = 0, left, top, old_flags = RFlagsGet; Bool has_border; CCtrl *c; - WinHorz(0,TEXT_COLS-1); - WinVert(0,TEXT_ROWS-1); - LBts(&Fs->display_flags,DISPLAYf_NO_BORDER); - LBts(&Fs->display_flags,DISPLAYf_SHOW); - gr.dc->win_task=Fs; - Fs->win_inhibit&=~WIF_SELF_CTRLS; + WinHorz(0, TEXT_COLS - 1); + WinVert(0, TEXT_ROWS - 1); + LBts(&Fs->display_flags, DISPLAYf_NO_BORDER); + LBts(&Fs->display_flags, DISPLAYf_SHOW); + gr.dc->win_task = Fs; + Fs->win_inhibit &= ~WIF_SELF_CTRLS; GrSetUpTables; - screencast.dc2_alias=DCAlias(gr.dc2); + screencast.dc2_alias = DCAlias(gr.dc2); WinZBufUpdate; - LBts(&sys_run_level,RLf_WINMGR); - while (TRUE) { - try { + LBts(&sys_run_level, RLf_WINMGR); + while (TRUE) + { + try + { wmt_start: - if (Bt(&sys_run_level,RLf_ZENITH_SERVER)) + if (Bt(&sys_run_level, RLf_ZENITH_SERVER)) TaskKillDying; WinMgrSleep; - task=Fs->last_task; - while (TRUE) { + task = Fs->last_task; + while (TRUE) + { CLI - if (!TaskValidate(task)) { + if (!TaskValidate(task)) + { RFlagsSet(old_flags); goto wmt_start; } - TaskDerivedValsUpdate(task,FALSE); - task=task->last_task; + TaskDerivedValsUpdate(task, FALSE); + task = task->last_task; RFlagsSet(old_flags); - if (task==Fs) + if (task == Fs) break; } - TaskDerivedValsUpdate(Fs,FALSE); + TaskDerivedValsUpdate(Fs, FALSE); - task=Fs->last_task; - while (TRUE) { + task = Fs->last_task; + while (TRUE) + { CLI - if (!TaskValidate(task)) { + if (!TaskValidate(task)) + { RFlagsSet(old_flags); goto wmt_start; } - if (WinInside(mouse.pos.x,mouse.pos.y,task,FONT_WIDTH)) { + if (WinInside(mouse.pos.x, mouse.pos.y, task, FONT_WIDTH)) + { RFlagsSet(old_flags); break; } - if (task==Fs) { //Shouldn't happen + if (task == Fs) { //Shouldn't happen RFlagsSet(old_flags); goto wmt_start; } - task=task->last_task; + task = task->last_task; RFlagsSet(old_flags); } - if (Bt(&task->display_flags,DISPLAYf_NO_BORDER)) - has_border=FALSE; + if (Bt(&task->display_flags, DISPLAYf_NO_BORDER)) + has_border = FALSE; else - has_border=TRUE; + has_border = TRUE; - winmgr.show_menu=FALSE; - sys_cur_submenu_entry=NULL; - if (TaskValidate(sys_focus_task) && - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_MENU)) { + winmgr.show_menu = FALSE; + sys_cur_submenu_entry = NULL; + if (TaskValidate(sys_focus_task) && !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_MENU)) + { if (WinKeyNavMenu) goto wmt_start; - if (task==Fs && 0<=mouse.pos.ymessage_code, sys_cur_submenu_entry->arg1, - sys_cur_submenu_entry->arg2,0); - winmgr.show_menu=FALSE; - old_mouse.lb=FALSE; + sys_cur_submenu_entry->arg2, 0); + winmgr.show_menu = FALSE; + old_mouse.lb = FALSE; goto wmt_start; } } } //grab scroll - if (!Bt(&task->win_inhibit,WIf_SELF_GRAB_SCROLL) && - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_GRAB_SCROLL)) && - kbd.scan_code&SCF_CTRL && TaskValidate(task)) { - winmgr.grab_scroll_closed=FALSE; - winmgr.grab_scroll=TRUE; - while (kbd.scan_code&SCF_CTRL && TaskValidate(task) && (!ac.task || - !WinInside(mouse.pos.x,mouse.pos.y,ac.task,FONT_WIDTH))) { - if (mouse.lb) { - winmgr.grab_scroll_closed=TRUE; - x=mouse.pos.x-task->scroll_x; - y=mouse.pos.y-task->scroll_y; - z=mouse.pos.z-task->scroll_z; - while (mouse.lb && kbd.scan_code&SCF_CTRL && TaskValidate(task)) { - task->scroll_x=(mouse.pos.x-x)&~7; - task->scroll_y=(mouse.pos.y-y)&~7; - task->scroll_z=mouse.pos.z-z; + if (!Bt(&task->win_inhibit, WIf_SELF_GRAB_SCROLL) && + (!TaskValidate(sys_focus_task)|| + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_GRAB_SCROLL)) && + kbd.scan_code & SCF_CTRL && TaskValidate(task)) + { + winmgr.grab_scroll_closed = FALSE; + winmgr.grab_scroll = TRUE; + while (kbd.scan_code & SCF_CTRL && TaskValidate(task) && (!ac.task || + !WinInside(mouse.pos.x, mouse.pos.y, ac.task, FONT_WIDTH))) + { + if (mouse.lb) + { + winmgr.grab_scroll_closed = TRUE; + x = mouse.pos.x - task->scroll_x; + y = mouse.pos.y - task->scroll_y; + z = mouse.pos.z - task->scroll_z; + while (mouse.lb && kbd.scan_code & SCF_CTRL && TaskValidate(task)) + { + task->scroll_x = (mouse.pos.x - x) & ~7; + task->scroll_y = (mouse.pos.y-y) & ~7; + task->scroll_z = mouse.pos.z-z; WinMgrSleep(TRUE); } - winmgr.grab_scroll_closed=FALSE; - } else if (mouse.rb) { - task->scroll_x=0; - task->scroll_y=0; - task->scroll_z=0; + winmgr.grab_scroll_closed = FALSE; + } + else if (mouse.rb) + { + task->scroll_x = 0; + task->scroll_y = 0; + task->scroll_z = 0; WinMgrSleep(TRUE); - } else + } + else WinMgrSleep; } - winmgr.grab_scroll=FALSE; + winmgr.grab_scroll = FALSE; goto wmt_start; - } else - winmgr.grab_scroll=FALSE; + } + else + winmgr.grab_scroll = FALSE; - if (!Bt(&task->win_inhibit,WIf_SELF_CTRLS) && - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_CTRLS))) { - if (mouse.lb && !old_mouse.lb) { - c=task->next_ctrl; - while (c!=&task->next_ctrl) { - if (CtrlInside(c,mouse.pos.x,mouse.pos.y)) { - left=task->pix_left; - top =task->pix_top; - if (c->flags&CTRLF_BORDER) { - left-=FONT_WIDTH; - top -=FONT_HEIGHT; + if (!Bt(&task->win_inhibit, WIf_SELF_CTRLS) && + (!TaskValidate(sys_focus_task)|| + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_CTRLS))) + { + if (mouse.lb && !old_mouse.lb) + { + c = task->next_ctrl; + while (c != &task->next_ctrl) + { + if (CtrlInside(c, mouse.pos.x, mouse.pos.y)) + { + left = task->pix_left; + top = task->pix_top; + if (c->flags & CTRLF_BORDER) + { + left -= FONT_WIDTH; + top -= FONT_HEIGHT; } - if (c->flags&CTRLF_CAPTURE_LEFT_MS) { - while (mouse.lb && TaskValidate(task)) { + if (c->flags & CTRLF_CAPTURE_LEFT_MS) + { + while (mouse.lb && TaskValidate(task)) + { if (c->left_click) - (*c->left_click)(c,mouse.pos.x-left,mouse.pos.y-top,TRUE); + (*c->left_click)(c, mouse.pos.x - left, mouse.pos.y - top, TRUE); WinMgrSleep; } if (c->left_click) - (*c->left_click)(c,mouse.pos.x-left,mouse.pos.y-top,FALSE); - old_mouse.lb=FALSE; + (*c->left_click)(c, mouse.pos.x - left, mouse.pos.y - top, FALSE); + old_mouse.lb = FALSE; goto wmt_start; - } else { + } + else + { if (c->left_click) - (*c->left_click)(c,mouse.pos.x-left,mouse.pos.y-top,TRUE); - old_mouse.lb=TRUE; + (*c->left_click)(c, mouse.pos.x - left, mouse.pos.y - top, TRUE); + old_mouse.lb = TRUE; goto wmt_start; } } - c=c->next; + c = c->next; } } - if (old_mouse.lb && !mouse.lb) { - c=task->next_ctrl; - while (c!=&task->next_ctrl) { - if (CtrlInside(c,mouse.pos.x,mouse.pos.y)) { - left=task->pix_left; - top =task->pix_top; - if (c->flags&CTRLF_BORDER) { - left-=FONT_WIDTH; - top -=FONT_HEIGHT; + if (old_mouse.lb && !mouse.lb) + { + c = task->next_ctrl; + while (c != &task->next_ctrl) + { + if (CtrlInside(c, mouse.pos.x, mouse.pos.y)) + { + left = task->pix_left; + top = task->pix_top; + if (c->flags & CTRLF_BORDER) + { + left -= FONT_WIDTH; + top -= FONT_HEIGHT; } if (c->left_click) - (*c->left_click)(c,mouse.pos.x-left,mouse.pos.y-top,FALSE); - old_mouse.lb=FALSE; + (*c->left_click)(c, mouse.pos.x - left, mouse.pos.y - top, FALSE); + old_mouse.lb = FALSE; goto wmt_start; } - c=c->next; + c = c->next; } } - if (mouse.rb && !old_mouse.rb) { - c=task->next_ctrl; - while (c!=&task->next_ctrl) { - if (CtrlInside(c,mouse.pos.x,mouse.pos.y)) { - left=task->pix_left; - top =task->pix_top; - if (c->flags&CTRLF_BORDER) { - left-=FONT_WIDTH; - top -=FONT_HEIGHT; + if (mouse.rb && !old_mouse.rb) + { + c = task->next_ctrl; + while (c != &task->next_ctrl) + { + if (CtrlInside(c, mouse.pos.x, mouse.pos.y)) + { + left = task->pix_left; + top = task->pix_top; + if (c->flags & CTRLF_BORDER) + { + left -= FONT_WIDTH; + top -= FONT_HEIGHT; } - if (c->flags&CTRLF_CAPTURE_RIGHT_MS) { - while (mouse.rb && TaskValidate(task)) { + if (c->flags & CTRLF_CAPTURE_RIGHT_MS) + { + while (mouse.rb && TaskValidate(task)) + { if (c->right_click) - (*c->right_click)(c,mouse.pos.x-left,mouse.pos.y-top,TRUE); + (*c->right_click)(c, mouse.pos.x - left, mouse.pos.y - top, TRUE); WinMgrSleep; } if (c->right_click) - (*c->right_click)(c,mouse.pos.x-left,mouse.pos.y-top,FALSE); - old_mouse.rb=FALSE; + (*c->right_click)(c, mouse.pos.x - left, mouse.pos.y - top, FALSE); + old_mouse.rb = FALSE; goto wmt_start; - } else { + } + else + { if (c->right_click) - (*c->right_click)(c,mouse.pos.x-left,mouse.pos.y-top,TRUE); - old_mouse.rb=TRUE; + (*c->right_click)(c, mouse.pos.x - left, mouse.pos.y - top, TRUE); + old_mouse.rb = TRUE; goto wmt_start; } } - c=c->next; + c = c->next; } } - if (old_mouse.rb && !mouse.rb) { - c=task->next_ctrl; - while (c!=&task->next_ctrl) { - if (CtrlInside(c,mouse.pos.x,mouse.pos.y)) { - left=task->pix_left; - top =task->pix_top; - if (c->flags&CTRLF_BORDER) { - left-=FONT_WIDTH; - top -=FONT_HEIGHT; + if (old_mouse.rb && !mouse.rb) + { + c = task->next_ctrl; + while (c != &task->next_ctrl) + { + if (CtrlInside(c, mouse.pos.x, mouse.pos.y)) + { + left = task->pix_left; + top = task->pix_top; + if (c->flags & CTRLF_BORDER) + { + left -= FONT_WIDTH; + top -= FONT_HEIGHT; } if (c->right_click) - (*c->right_click)(c,mouse.pos.x-left,mouse.pos.y-top,FALSE); - old_mouse.rb=FALSE; + (*c->right_click)(c, mouse.pos.x - left, mouse.pos.y - top, FALSE); + old_mouse.rb = FALSE; goto wmt_start; } - c=c->next; + c = c->next; } } - if (mouse.has_wheel && my_mouse_z!=mouse.pos.z) { - if (task==sys_focus_task) { - c=task->next_ctrl; - while (c!=&task->next_ctrl) { - if (c->wheel_chg) { - (*c->wheel_chg)(c,mouse.pos.z-my_mouse_z); - my_mouse_z=mouse.pos.z; + if (mouse.has_wheel && my_mouse_z != mouse.pos.z) + { + if (task == sys_focus_task) + { + c = task->next_ctrl; + while (c != &task->next_ctrl) + { + if (c->wheel_chg) + { + (*c->wheel_chg)(c, mouse.pos.z - my_mouse_z); + my_mouse_z = mouse.pos.z; goto wmt_start; } - c=c->next; + c = c->next; } - my_mouse_z=mouse.pos.z; - } else if (!sys_focus_task) - my_mouse_z=mouse.pos.z; + my_mouse_z = mouse.pos.z; + } + else if (!sys_focus_task) + my_mouse_z = mouse.pos.z; } } - if (task==Fs) + if (task == Fs) goto wmt_start; - if (!Bt(&task->win_inhibit,WIf_SELF_MS_L)&& - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_MS_L))) { - if (!old_mouse.lb && mouse.lb) { - if (doc=WinCursorPosSet(task,mouse.pos.x,mouse.pos.y)) { + if (!Bt(&task->win_inhibit, WIf_SELF_MS_L) && + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_MS_L))) + { + if (!old_mouse.lb && mouse.lb) + { + if (doc = WinCursorPosSet(task, mouse.pos.x, mouse.pos.y)) + { DocLock(doc); - if (doc->doc_signature==DOC_SIGNATURE_VAL) { - doc_e=doc->cur_entry; - if (doc_e!=doc) { + if (doc->doc_signature == DOC_SIGNATURE_VAL) + { + doc_e = doc->cur_entry; + if (doc_e != doc) + { if (doc_e->de_flags & DOCEF_HAS_BORDER) - doc_e->de_flags|=DOCEF_SOLID_BORDER; + doc_e->de_flags |= DOCEF_SOLID_BORDER; } } DocUnlock(doc); - old_mouse.lb=TRUE; + old_mouse.lb = TRUE; goto wmt_start; } } } - if (!Bt(&task->win_inhibit,WIf_SELF_MS_R)&& - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_MS_R))) { - if (!old_mouse.rb && mouse.rb) { - if (WinCursorPosSet(task,mouse.pos.x,mouse.pos.y)) { - old_mouse.rb=TRUE; + if (!Bt(&task->win_inhibit, WIf_SELF_MS_R) && + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_MS_R))) + { + if (!old_mouse.rb && mouse.rb) + { + if (WinCursorPosSet(task, mouse.pos.x, mouse.pos.y)) + { + old_mouse.rb = TRUE; goto wmt_start; } } } - if (!Bt(&task->win_inhibit,WIf_SELF_BORDER) && has_border && - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_BORDER))) { - if (old_mouse.lb && !mouse.lb) { - if (mouse.pos_text.y==task->win_top-1) { - if (task->win_left<=mouse.pos_text.xwin_left+4) { - TaskMessage(task,0,MESSAGE_KEY_DOWN,CH_CTRLM,0x43200000432,0); - old_mouse.lb=FALSE; + if (!Bt(&task->win_inhibit, WIf_SELF_BORDER) && has_border && + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_BORDER))) + { + if (old_mouse.lb && !mouse.lb) + { + if (mouse.pos_text.y == task->win_top - 1) + { + if (task->win_left <= mouse.pos_text.x < task->win_left + 4) + { + TaskMessage(task, 0, MESSAGE_KEY_DOWN, CH_CTRLM, 0x43200000432, 0); + old_mouse.lb = FALSE; goto wmt_start; - } else if (task->win_right-2<=mouse.pos_text.x<=task->win_right) { + } + else if (task->win_right - 2 <= mouse.pos_text.x <= task->win_right) + { if (DocPut(task)) - TaskMessage(task,0,MESSAGE_KEY_DOWN,CH_SHIFT_ESC,0,0); + TaskMessage(task, 0, MESSAGE_KEY_DOWN, CH_SHIFT_ESC, 0, 0); else - Kill(task,FALSE); - old_mouse.lb=FALSE; + Kill(task, FALSE); + old_mouse.lb = FALSE; goto wmt_start; } } } } - if (!Bt(&task->win_inhibit,WIf_SELF_MS_L)&& - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_MS_L))) { - if (old_mouse.lb && !mouse.lb) { - if (doc=WinCursorPosSet(task,mouse.pos.x,mouse.pos.y,FALSE)) { - do message_code=WinMgrSleep; + if (!Bt(&task->win_inhibit, WIf_SELF_MS_L) && + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_MS_L))) + { + if (old_mouse.lb && !mouse.lb) + { + if (doc = WinCursorPosSet(task, mouse.pos.x, mouse.pos.y, FALSE)) + { + do message_code = WinMgrSleep; while (TaskValidate(task) && (mouse.lb || mouse.left_dbl_time)); - if (TaskValidate(task)) { - if (message_code==MESSAGE_MS_L_UP) { - if (doc->doc_signature==DOC_SIGNATURE_VAL) { + if (TaskValidate(task)) + { + if (message_code == MESSAGE_MS_L_UP) + { + if (doc->doc_signature == DOC_SIGNATURE_VAL) + { DocLock(doc); - if (TaskValidate(task)) { - if (doc->doc_signature==DOC_SIGNATURE_VAL) { - doc_e=doc->cur_entry; - if (doc_e!=doc) { + if (TaskValidate(task)) + { + if (doc->doc_signature == DOC_SIGNATURE_VAL) + { + doc_e = doc->cur_entry; + if (doc_e!=doc) + { if (doc_e->de_flags & DOCEF_HAS_BORDER) - doc_e->de_flags&=~DOCEF_SOLID_BORDER; - if (doc_e->de_flags & (DOCEF_TREE|DOCEF_LIST| - DOCEF_LINK|DOCEF_CHECK_COLLAPSABLE| - DOCEF_LEFT_CB|DOCEF_LEFT_MACRO|DOCEF_LEFT_EXP)) - TaskMessage(task,0,MESSAGE_KEY_DOWN,CH_SPACE,0,0); + doc_e->de_flags &= ~DOCEF_SOLID_BORDER; + if (doc_e->de_flags & (DOCEF_TREE | DOCEF_LIST | + DOCEF_LINK | DOCEF_CHECK_COLLAPSABLE | + DOCEF_LEFT_CB | DOCEF_LEFT_MACRO | DOCEF_LEFT_EXP)) + { + TaskMessage(task, 0, MESSAGE_KEY_DOWN, CH_SPACE, 0, 0); + } } } DocUnlock(doc); } } - } else if (message_code==MESSAGE_MS_L_D_UP) - TaskMessage(task,0,MESSAGE_KEY_DOWN,CH_ESC,0,0); + } + else if (message_code == MESSAGE_MS_L_D_UP) + TaskMessage(task, 0, MESSAGE_KEY_DOWN, CH_ESC, 0, 0); } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } } } if (!Bt(&task->win_inhibit,WIf_SELF_MS_R)&& - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_MS_R))) { - if (old_mouse.rb && !mouse.rb) { - if (doc=WinCursorPosSet(task,mouse.pos.x,mouse.pos.y,FALSE)) { - do message_code=WinMgrSleep; + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_MS_R))) + { + if (old_mouse.rb && !mouse.rb) + { + if (doc = WinCursorPosSet(task, mouse.pos.x, mouse.pos.y, FALSE)) + { + do message_code = WinMgrSleep; while (TaskValidate(task) && (mouse.rb || mouse.right_dbl_time)); - if (TaskValidate(task)) { - if (message_code==MESSAGE_MS_R_UP) { - if (doc->doc_signature==DOC_SIGNATURE_VAL) { + if (TaskValidate(task)) + { + if (message_code == MESSAGE_MS_R_UP) + { + if (doc->doc_signature == DOC_SIGNATURE_VAL) + { DocLock(doc); - if (TaskValidate(task)) { - if (doc->doc_signature==DOC_SIGNATURE_VAL) { - doc_e=doc->cur_entry; - if (doc_e!=doc) { - if (doc_e->de_flags&(DOCEF_LINK| - DOCEF_RIGHT_CB|DOCEF_RIGHT_MACRO|DOCEF_RIGHT_EXP)) - TaskMessage(task,0,MESSAGE_KEY_DOWN,'\n',0,0); + if (TaskValidate(task)) + { + if (doc->doc_signature == DOC_SIGNATURE_VAL) + { + doc_e = doc->cur_entry; + if (doc_e != doc) { + if (doc_e->de_flags & (DOCEF_LINK | + DOCEF_RIGHT_CB | DOCEF_RIGHT_MACRO | DOCEF_RIGHT_EXP)) + { + TaskMessage(task, 0, MESSAGE_KEY_DOWN, '\n', 0, 0); + } } } DocUnlock(doc); } } - } else if (message_code==MESSAGE_MS_R_D_UP) - TaskMessage(task,0,MESSAGE_KEY_DOWN,CH_SHIFT_ESC,0,0); + } + else if (message_code == MESSAGE_MS_R_D_UP) + TaskMessage(task, 0, MESSAGE_KEY_DOWN, CH_SHIFT_ESC, 0, 0); } - old_mouse.rb=FALSE; + old_mouse.rb = FALSE; goto wmt_start; } } } if (!Bt(&task->win_inhibit,WIf_SELF_BORDER) && has_border && - (!TaskValidate(sys_focus_task)|| - !Bt(&sys_focus_task->win_inhibit,WIf_FOCUS_TASK_BORDER))) { - if (mouse.lb && !old_mouse.lb) { - if (task->win_top==mouse.pos_text.y+1 && - task->win_left-1<=mouse.pos_text.x<=task->win_right+1) { - if (task->win_left<=mouse.pos_text.xwin_left+4) { - old_mouse.lb=TRUE; + (!TaskValidate(sys_focus_task) || + !Bt(&sys_focus_task->win_inhibit, WIf_FOCUS_TASK_BORDER))) + { + if (mouse.lb && !old_mouse.lb) + { + if (task->win_top == mouse.pos_text.y + 1 && + task->win_left - 1 <= mouse.pos_text.x <= task->win_right + 1) + { + if (task->win_left <= mouse.pos_text.x < task->win_left + 4) + { + old_mouse.lb = TRUE; goto wmt_start; } - if (task->win_right-2<=mouse.pos_text.x<=task->win_right) { - old_mouse.lb=TRUE; + if (task->win_right - 2 <= mouse.pos_text.x <= task->win_right) + { + old_mouse.lb = TRUE; goto wmt_start; } - x=mouse.pos_text.x-task->win_left; - if (mouse.lb) { + x = mouse.pos_text.x - task->win_left; + if (mouse.lb) + { WinToTop(task); - while (mouse.lb && TaskValidate(task)) { - WinHorz(mouse.pos_text.x-x,task->win_width-1+mouse.pos_text.x-x,task); - WinVert(mouse.pos_text.y+1,task->win_height+mouse.pos_text.y,task); + while (mouse.lb && TaskValidate(task)) + { + WinHorz(mouse.pos_text.x - x, task->win_width - 1 + mouse.pos_text.x - x, task); + WinVert(mouse.pos_text.y + 1, task->win_height + mouse.pos_text.y, task); WinMgrSleep; } } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } - if (task->win_left==mouse.pos_text.x+1 && - task->win_top-1<=mouse.pos_text.y<=task->win_bottom+1) { - y=mouse.pos_text.y-task->win_top; - if (mouse.lb) { + if (task->win_left == mouse.pos_text.x + 1 && + task->win_top - 1 <= mouse.pos_text.y <= task->win_bottom + 1) + { + y = mouse.pos_text.y - task->win_top; + if (mouse.lb) + { WinToTop(task); - while (mouse.lb && TaskValidate(task)) { - WinHorz(mouse.pos_text.x+1,task->win_width+mouse.pos_text.x,task); - WinVert(mouse.pos_text.y-y, - task->win_height-1+mouse.pos_text.y-y,task); + while (mouse.lb && TaskValidate(task)) + { + WinHorz(mouse.pos_text.x + 1, task->win_width + mouse.pos_text.x, task); + WinVert(mouse.pos_text.y - y, task->win_height - 1 + mouse.pos_text.y - y, task); WinMgrSleep; } } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } - if (task->win_right+1==mouse.pos_text.x && - task->win_bottom+1==mouse.pos_text.y) { - if (mouse.lb) { + if (task->win_right + 1 == mouse.pos_text.x && + task->win_bottom + 1 == mouse.pos_text.y) + { + if (mouse.lb) + { WinToTop(task); - while (mouse.lb && TaskValidate(task)) { - WinHorz(task->win_left,mouse.pos_text.x-1,task); - WinVert(task->win_top,mouse.pos_text.y-1,task); + while (mouse.lb && TaskValidate(task)) + { + WinHorz(task->win_left, mouse.pos_text.x - 1, task); + WinVert(task->win_top, mouse.pos_text.y - 1, task); WinMgrSleep; } } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } - if (task->win_bottom==mouse.pos_text.y-1 && - task->win_left<=mouse.pos_text.x<=task->win_right) { - if (mouse.lb) { + if (task->win_bottom == mouse.pos_text.y - 1 && + task->win_left <= mouse.pos_text.x <= task->win_right) + { + if (mouse.lb) + { WinToTop(task); - while (mouse.lb && TaskValidate(task)) { - WinVert(task->win_top,mouse.pos_text.y-1,task); + while (mouse.lb && TaskValidate(task)) + { + WinVert(task->win_top, mouse.pos_text.y - 1, task); WinMgrSleep; } } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } - if (task->win_right==mouse.pos_text.x-1 && - task->win_top<=mouse.pos_text.y<=task->win_bottom) { - if (mouse.lb) { + if (task->win_right == mouse.pos_text.x - 1 && + task->win_top <= mouse.pos_text.y <= task->win_bottom) + { + if (mouse.lb) + { WinToTop(task); - while (mouse.lb && TaskValidate(task)) { - WinHorz(task->win_left,mouse.pos_text.x-1,task); + while (mouse.lb && TaskValidate(task)) + { + WinHorz(task->win_left, mouse.pos_text.x - 1, task); WinMgrSleep; } } - old_mouse.lb=FALSE; + old_mouse.lb = FALSE; goto wmt_start; } } } - } catch { + } + catch + { Beep; - Fs->catch_except=TRUE; - task=Fs; + Fs->catch_except = TRUE; + task = Fs; } } }