CLIM mail archive


Re: Screen update and feeling the bits between your toes

    Date: Fri, 11 Oct 1991 16:39 EDT
    From: (David A. Moon)

    > Date: Fri, 11 Oct 1991 15:44-0400
    > From: Scott McKay <>
    >     Date: Fri, 11 Oct 1991 11:54 EDT
    >     From:       Jim Mayer <>
    >     Is there a mechanism within CLIM that would allow me to move areas of
    >     screen real estate around without redrawing?  The kind of think I am
    >     thinking of is what most terminal emulators do when they insert a new
    >     line: rather than redraw the bottom half of the screen, they BITBLT
    >     the bottom half down one line height's worth of bits.
    > I have a working implementation of "pixmaps" for CLIM 1.0 for both
    > Genera and CLX, but have not yet installed it.  I also don't know
    > exactly how to distribute it once it's installed.
    > Regardless of that, keep in mind that COPY-AREA (that's what I call it)
    > is a pure device-oriented operation.  It does not move output records or
    > presentations, it just moves raw bits.  If you want presentations to
    > move, you will have to move them yourself.
    > I know I have hacks that can benefit from even this very restricted
    > operation, but I don't know if it is enough for anyone else?  Comments
    > on this, anyone?

    I thought CLIM's built-in incremental redisplay facilities move screen
    areas around as needed with no user programming required.  Is this just
    wishful thinking on my part?

Unfortunately, incremental redisplay does presently do BITBLT
optimizations, although it would be fairly easy to make it do so.  There
is already code in CLIM that implements "rectangle union" in an optimal
way, so doing this optimization might well be a suitable subject for a

Some requests for COPY-AREA have really been for a facility that caches
a commonly drawn piece of output and then replicates it in a new place.
Incremental redisplay is not helpful here (even if it did BITBLT

Follow-Ups: References:

Main Index | Thread Index