Re: Making things flash...

Steve Lamont (spl@szechuan.ucsd.edu)
Tue, 17 Dec 96 10:58:35 PST

To subscribers of the xforms list from spl@szechuan.ucsd.edu (Steve Lamont) :

> I want to have a flashing red spot or two on the screen. But I don't
> specifically want to redraw everything every time. So I thought of changing
> the color pointed to by FL_FREE_COL1 every now & then, using a timer.

The problem is likely that your changes are not flushed to the
server. To force a flush, execute

XFlush( fl_get_display() );

after you do your operations.

I do something similar (it's kind of a hack) to flash an object:

for ( i = 0; i < 7; i++ ) {

struct timeval timeout;

timeout.tv_sec = 0;
timeout.tv_usec = 500000;
select( 0, NULL, NULL, NULL, &timeout );
if ( visible )
fl_show_object( fd_edit_form->multi_object );
else
fl_hide_object( fd_edit_form->multi_object );
visible = !visible;
XFlush( display );

}

which causes a message to flash on a form.

spl