void MOUSE_START(void) { extern timeout firsttimeout; timeout* starttime=&firsttimeout; extern window testwindow; volatile short i=0; object* currover=0; object* currover2=0; mouse_loc.xy.x0=mouse_x; mouse_loc.xy.y0=mouse_y; mouse_loc.xy.x1=mouse_x+7; mouse_loc.xy.y1=mouse_y+10; BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); DrawMouse(0,0,0,0,0); running=1; mouse_active=1; start_mouse: while(running) { HSym hsym=SymFind(SYMSTR("")); if(mouse_active){ if(CheckTimeouts){ timeout* index=&firsttimeout; while(index) { CheckAndDoTimeout(index);index=index->next; } Counter++; CheckTimeouts=0;} i=active_wind(); currover2=currover; currover=MOUSE_ISOVERP(i); mouse_loc.xy.x0=mouse_x; mouse_loc.xy.y0=mouse_y; mouse_loc.xy.x1=mouse_x+7; mouse_loc.xy.y1=mouse_y+10; if(currover2!=currover&&currover!=0){ BitmapPutt(mouse_x,mouse_y,mouse_buffer,&mouse_loc,A_REPLACE,GrayGetPlane(LIGHT_PLANE)); BitmapPutt(mouse_x,mouse_y,mouse_bufferd,&mouse_loc,A_REPLACE,GrayGetPlane(DARK_PLANE)); MOUSE_ISOVER(i); BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); DrawMouse(0,0,0,0,1);} if(currover2!=currover&&currover2&&currover&&currover2->mouse_over&&currover2->isover){ BitmapPutt(mouse_x,mouse_y,mouse_buffer,&mouse_loc,A_REPLACE,GrayGetPlane(LIGHT_PLANE)); BitmapPutt(mouse_x,mouse_y,mouse_bufferd,&mouse_loc,A_REPLACE,GrayGetPlane(DARK_PLANE)); currover2->initiate(currover2); currover2->isover=0; BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); DrawMouse(0,0,0,0,1);} if(currover2&&!currover&&currover2->mouse_over&&currover2->isover){ BitmapPutt(mouse_x,mouse_y,mouse_buffer,&mouse_loc,A_REPLACE,GrayGetPlane(LIGHT_PLANE)); BitmapPutt(mouse_x,mouse_y,mouse_bufferd,&mouse_loc,A_REPLACE,GrayGetPlane(DARK_PLANE)); currover2->initiate(currover2); currover2->isover=0; BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE));} if(_rowread(~((short)(1<<6))) & (1<<0)) { running=0; while(_rowread(0)); } if(_rowread(~((short)(1<<0))) & (1<<4)) { i=active_start(); if(MOUSE_ISCLICKS(i)) { BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); while(_rowread(0)); DrawMouse(0,0,0,0,1); goto yedawg; } i=active_wind(); if(MOUSE_ISCLICK(i)) { BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); currover=currover2=0; } while(_rowread(0)); DrawMouse(0,0,0,0,1); } if(_rowread(~((short)(1<<0))) & (1<<6)&&_rowread(~((short)(1<<1))) & (1<<6)) { if(windowcount) { UNESTABLISH_WINDOW(windowlist[0]); BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE)); BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE)); } while(_rowread(0)); } if(_rowread(~((short)(1<<0))) & (1<<1)) { for(i=0;iexec) { starttime->exec=0; if(starttime->function) starttime->function(starttime); } starttime=starttime->next; } } yedawg: } }