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

In addition to the Screen structure, Intuition uses some other supporting
structures defined in the include file <intuition/screens.h> and in
<utility/tagitems.h>.  (See the Amiga ROM Kernel Reference Manual:
Includes and Autodocs for a complete listing.)


      Table 3-2: Data Structures Used with Intuition Screens


  Structure Name  Description                    Defined in Include File
  --------------  -----------                    -----------------------
  Screen          Main Intuition structure that   <intuition/screens.h>
                  defines a screen (see above)

  DrawInfo        Holds the screen's pen, font    <intuition/screens.h>
                  and aspect data for Intuition

  TagItem         General purpose parameter        <utility/tagitem.h>
                  structure used to set up
                  screens in V36

  NewScreen       Parameter structure used to     <intuition/screens.h>
                  create a screen in V34

  ExtNewScreen    An extension to the NewScreen   <intuition/screens.h>
                  structure used in V37 for
                  backward compatibility with
                  older systems


As previously mentioned, there is an Intuition Screen structure (and a
corresponding graphics ViewPort) for every screen in memory.  Under
Release 2, whenever a new screen is created, Intuition also creates an
auxiliary data structure called a DrawInfo.

The DrawInfo structure is similar to a RastPort in that it holds drawing
information.  But where a RastPort is used at the lower graphics level,
the DrawInfo structure is used at the higher Intuition level.
Specifically, DrawInfo contains data needed to support the New Look of
Intuition in Release 2.  (For more information see the section below,
"DrawInfo and the 3D Look".)

Another new feature of Release 2 is tag items.  A TagItem is a general
purpose parameter structure used to pass arguments to many of the
functions in the Release 2 system software.  Each tag consists of a LONG
tag ID (ti_Tag) and a LONG tag data value (ti_Data).  With screens, tag
items are used to describe the attributes an application wants for a new,
custom screen.  Tag items replace the NewScreen structure, the set of
parameters used in older versions of the OS to set up a screen.

Applications may wish to use tag items to set up a new screen instead of
the NewScreen structure since tag items are often more convenient.  For
the sake of backwards compatibility, the ExtNewScreen structure is
available.  ExtNewScreen combines the NewScreen method used to define
screens in older versions of the OS with the tag item method used in
Release 2.  The examples listed in the next section show how these various
data structures can be used to set up a new screen.