Re: Making things flash...

Wouter de Waal (
Thu, 19 Dec 1996 10:38:13 +0200

To subscribers of the xforms list from (Wouter de Waal) :

Hi all
the fly?
>About the only way I can see without doing a lot of really ugly
>hackery to get around XForms's color management is to do
> fl_mapcolor( FL_FREE_COL1, red, green, blue );
> fl_redraw_object( object );
>If you collect your flashing dinguses into an XForms Group object, you
>can just do the fl_redraw_object() for the group and they should
>change color. Of course, if you've got zillions of them, you may need
>to go to double buffering.

I can't do that, unfortunately. I don't know which objects will in fact be
flashing. Objects decide (based on their value, alarm limits, alarm state
etc) whether they are red, green, flashing, whatever. ('Objects' in this
case being the C++ object wrapped around the xforms object). So the only
other way I can think of is to give every object a timer. Blech! It would
have been so much easier to have a 'flashing' color in the palette, with a
background task doing the flashing. Hmmm. Sounds like a job for xforms 0.9 :-)

>You can't directly manipulate a lot of the XForms colors because
>XForms does its best to share the colormap with other applications and
>this means that XForms will most likely try to share the real
>FL_FREE_COL1 (or any other) colormap cell, thus trying to manipulate
>that cell will most likely result in a BadAccess violation from X.

Yup, this happens. Sometimes I feel this _need_ to get the source of just
about everything I work with..... :-)


Wouter de Waal        Phone : +27 21 683 5490
Development Engineer  Fax   : +27 21 683 5435
CCII Systems
Kenilworth, South Africa