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


NAME
    OpenScreenTagList -- openscreen() with tagitem extension array. (v36)
    OpenScreenTags -- Varargs stub for OpenScreenTagList. (V36)

SYNOPSIS
    screen = openscreentaglist( newscreen, tagitems )
    D0                          A0         A1

    struct screen *openscreentaglist( struct newscreen *,
            struct tagitem * );

    screen = openscreentags( newscreen, tag1, ... )

    struct screen *openscreentags( struct newscreen *,
            ULONG, ... );

FUNCTION
    Provides an extension to the parameters passed to openscreen().
    This extensions is in the form of (a pointer to) an array of
    tagitem structures, which have to fields: ti_tag, an id identifying
    the meaning of the other field, ti_Data.  See <utility/tagitem.h>.

    The tag items can supplement or override the values in newscreen.
    In fact, you can pass a NULL value of the newscreen pointer.
    For that matter, if you pass NULL in both arguments, you'll get
    a screen with defaults in all fields, including display mode,
    depth, colors, dimension, title, and so on.  We ask that
    you at least supply a title when you open a screen.

    See openscreen() documentation for parameter specifications.

INPUTS
    newscreen     - (optional) pointer to a newscreen structure.
    TagItems      - (optional) pointer to (an array of) tagitem
                    structures, terminated by the value TAG_END.

RESULT
    screen     - an open intuition screen.  see openscreen() for
            extended error codes when screen is returned null.

EXAMPLE
    The version using a variable number of arguments must be
    created for each particular compiler, and may not have
    an analogue in all versions.  For vanilla, 32-bit C
    parameter passing conventions, this works (and will
    appear in amiga.lib):

    struct screen      *
    OpenScreenTags( ns, tag1 )
    struct newscreen  *ns;
    ULONG                   tag1;
    {
        struct screen  *openscreentaglist();

        return ( OpenScreenTagList( ns, (struct tagitem *) &tag1 ) );
    }

NOTES
    We recommend this extension to openscreen() over using the
    field ExtNewScreen.Extension.  However, the ExtNewScreen.Extension
    is a convenient way to supply a few tags to V36 Intuition which
    will be ignored by V34 Intuition.  See openscreen() documentation
    for lots of details.

BUGS


SEE ALSO
    openscreen()