Re: XForms: redrawing and freezing

Steve Lamont (spl@szechuan.ucsd.edu)
Tue, 21 Jul 98 11:40:51 PDT

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

> I must be missing something. Surely you just mark a bit in the object
> saying "I was touched while the form was frozen". Then, in some
> equivalent of fl_redraw_form(), as you iterate over the objects to be
> drawn, you only redraw those that have the bit set. If you hid one
> object, its bit would be set, and during the "redraw", it would
> vanish.

How does the object "vanish"? It must, basically, be undrawn. To do
this requires either a full Window clear (requiring that *all* objects
be redrawn, obviously) or clearing only the region under the object.
Yes, this could be done with XClearArea() but what if other objects
overlap the object being cleared? Then they must be redrawn. If
they, in turn, overlap other objects, then it might be necessary to
redraw the other objects.

Having objects overlapping is not all that rare, either. You might
have something like the following

+--------+ +--------+
| button | LABEL | button |
+--------+ +--------+
+---------------------------------+
| |
| |
| some random object here |
| |
| |
+---------------------------------+

If you make the random object disappear, then the label is also going
to go away. Since the object's bounding box includes the label, then
the two buttons would also get cleared and have to be redrawn, thus
requiring some relatively elaborate boundary checking.

spl
_________________________________________________
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/