[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

These functions, normally used only by the system, integrate high-level
Intuition structures with the lower-level constructs used by the graphics
library to create the display.

    Table 3-9: Screen Functions That Integrate Intuition and Graphics
 |                                                                       |
 |      MakeScreen()  Update a single screen's copper list               |
 |                                                                       |
 |  RethinkDisplay()  Merge copper lists from all screens to form a View |
 |                                                                       |
 |   RemakeDisplay()  Update all screen copper lists then merge them to  |
 |                    form a View                                        |

Advanced Intuition programmers may use these functions to achieve special
screen effects such as double-buffering or dual-playfield Intuition
screens.  For examples of these see the next section.

MakeScreen() updates, but does not install, a screen's Copper list.  This
function is the Intuition equivalent of the low-level MakeVPort() graphics
library function.  MakeScreen() performs the MakeVPort() call,
synchronized with Intuition's own use of the screen's ViewPort.  Call
RethinkDisplay() after MakeScreen() to allow the new Copper list for the
screen to take effect.  The MakeScreen() function takes one argument, a
pointer to the Screen that contains the Copper list to be updated.

RethinkDisplay() combines all the screen's copper lists into a single
view.  This procedure performs the Intuition global display
reconstruction, which includes massaging some of Intuition's internal
state data, rethinking all of the Intuition screen ViewPorts and their
relationship to one another, and, finally, reconstructing the entire
display by merging the new screens into the graphics View structure.
Custom screens that handle their own Copper instructions, use this call to
install the Copper list previously updated with MakeScreen().
RethinkDisplay() calls lower-level graphics primitives MrgCop() and
LoadView() to install the Copper list.  This function takes no arguments.

RemakeDisplay() remakes the entire Intuition display.  It is equivalent to
calling MakeScreen() for each screen in the system, then calling
RethinkDisplay().  This routine performs a MakeVPort() (graphics
primitive) on every Intuition screen and then calls RethinkDisplay() to
recreate the View.  It takes no arguments.

Both RemakeDisplay() and RethinkDisplay() take several milliseconds to run
and lock out all other tasks while they run.  This can seriously degrade
system performance, so do not use these routines lightly.

[Back to Amiga Developer Docs]