nanogui: Missing events?
Subject:
Missing events?
From:
"Robbie" ####@####.####
Date:
7 Mar 2006 14:34:51 +0000
Message-Id: <20060307143443.D9D752F5C5@xprdmxin.myway.com>
Hi All,
Below is a my main loop code and it appears that I'm missing events, particularly the EXPOSE event in this case. The redraw bit is set in the parser() but the init() is only being executed on the first execution and never again. The redraw bit is being set several times which indicates the MapWindow is being called. Is their a bad sequence here? can anyone offer any advice?
Much thanks.
void eloop(void) {
do {
if(status_flags.chgaddr) {
ADDR = Get_dev_addr(MY_ADDR);
COMMUN_ID = ((SATX << 8) | ADDR );
}
if(flags.rx) {
flags.rx = 0;
if(flags.bypass) Qitem = parser();
else {
loop = false;
do {
Qitem = dequeue();
if((Qitem == SATX) || Qitem) loop = true;
}while(!loop);
if(Qitem) printf("EMPTY\n");
else {
if(Qitem == SATX) {
Qitem = dequeue();
if(Qitem == ADDR) {
Qitem = parser();
}
} /* if SATX */
} /* if !empty */
}/* if !bypass */
}/* if rx */
if(flags.redraw) { GrMapWindow(tscrn); }
GrGetNextEvent(&event);
switch(event.type) {
case GR_EVENT_TYPE_EXPOSURE:
status_flags.redraw = 0;
init(0);
break;
case GR_EVENT_TYPE_BUTTON_DOWN:
break;
case GR_EVENT_TYPE_TIMER:
break;
case GR_EVENT_TYPE_CLOSE_REQ:
GrClose();
return;
} /* event switch */
}while(EXTHMLOOP); /* While */
} //end eloop
_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!