XForms: redrawing and freezing

Paul Barton-Davis (pbd@Op.Net)
Sun, 19 Jul 1998 14:27:51 -0400

# To subscribers of the xforms list from Paul Barton-Davis <pbd@Op.Net> :

I have a form with about 300 objects on it.

Under certain circumstances, I have to reset attributes and sometimes
even visibility of about one third of them. The changed objects are
gathered into 8 groups (not using fl_bgn_group, just "visually
arranged").

When I do this with fl_freeze_form() and fl_unfreeze_form(), it forces
a redraw of the entire form. This is the same whether or not the
freeze/unfreeze around the entire update, or around the updates to
each group of objects. In the latter case, I get 8 full form redraws;
in the former, just one.

If I take the freeze/unfreeze pair out, nothing resembling the full
screen redraw occurs, just the predictable redraws of the objects
that are altered.

I would like to do the screen update using freeze/unfreeze(), but I
don't want it forcing a redraw of the other 200 objects on the
screen. Any ideas on ways to avoid this ? Double buffering the form is
massively slow.

--p

ps. In addition, two of the objects that are altered are *not* redrawn
correctly (or rather, fully), and this isn't fixed by adding XSync,
XFlush or fl_redraw_object() calls. Both are counters, and in both
cases, neither the labels nor any of the increment/decrement buttons
are redrawn. Moving the mouse over the area where the label should be
will cause the buttons to reappear, but only if there is some
interactions with the object will the label be redrawn. This seems
like a bug, but I'm willing to bet its something I'm doing/not
doing. This is a very asynchronous program (its gets SIGALRM every
1/100th second).

_________________________________________________
To unsubscribe, send the message "unsubscribe" to
xforms-request@bob.usuf2.usuhs.mil or see
http://bob.usuf2.usuhs.mil/mailserv/xforms.html
XForms Home Page: http://bragg.phys.uwm.edu/xforms
List Archive: http://bob.usuf2.usuhs.mil/mailserv/list-archives/