rendered paste bodyvoid 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;i<mousedelay;i++);
DrawMouse(0,0,1,0,1);
}
if(_rowread(~((short)(1<<0))) & (1<<3))
{
for(i=0;i<mousedelay;i++);
DrawMouse(1,0,0,0,1);
}
if(_rowread(~((short)(1<<0))) & (1<<2))
{
for(i=0;i<mousedelay;i++);
DrawMouse(0,1,0,0,1);
}
if(_rowread(~((short)(1<<0))) & (1<<0))
{
for(i=0;i<mousedelay;i++);
DrawMouse(0,0,0,1,1);
}
if(_rowread(~((short)(1<<1))) & (1<<5))
{
ESTABLISH_WINDOW(&DMNDUP);
BitmapGettt(&mouse_loc,mouse_buffer,GrayGetPlane(LIGHT_PLANE));
BitmapGettt(&mouse_loc,mouse_bufferd,GrayGetPlane(DARK_PLANE));
}
while(starttime)
{
if(starttime->exec)
{
starttime->exec=0;
if(starttime->function)
starttime->function(starttime);
}
starttime=starttime->next;
}
}
yedawg:
}
}