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


NAME
    LayoutMenuItemsA -- Position all the menu items. (V36)
    LayoutMenuItems -- Varargs stub for LayoutMenuItemsA(). (V36)

SYNOPSIS
    success = LayoutMenuItemsA(menuitem, vi, taglist)
    D0                         A0        A1  A2

    BOOL LayoutMenuItemsA(struct MenuItem *, APTR, struct TagItem *);

    success = LayoutMenuItems(menuitem, vi, firsttag, ...)

    BOOL LayoutMenuItemsA(struct MenuItem *, APTR, Tag, ...);

FUNCTION
    Lays out all the menu items and sub-items according to
    the supplied visual information and tag parameters.  You would use this
    if you used CreateMenusA() to make a single menu-pane (with sub-items,
    if any), instead of a whole menu strip.
    This routine attempts to columnize and/or shift the MenuItems in
    the event that a menu would be too tall or too wide.

INPUTS
    menuitem - Pointer to first MenuItem in a linked list of
        items.
    vi - Pointer returned by GetVisualInfoA().
    taglist - Pointer to a TagItem list.

TAGS
    GTMN_TextAttr (struct TextAttr *) - Text Attribute to use for
        menu-items and sub-items.  If not supplied, the screen's
        font will be used.  This font must be openable via OpenFont()
        when this function is called.
    GTMN_Menu (struct Menu *) - Pointer to the Menu structure whose
        FirstItem is the MenuItem supplied above.  If the menu items are
        such that they need to be columnized or shifted, the Menu
        structure is needed to perform the complete calculation.
        It is suggested you always provide this information.

RESULT
    success - TRUE if successful, false otherwise (signifies that
        the TextAttr wasn't openable).

EXAMPLE

NOTES

BUGS
    If a menu ends up being wider than the whole screen, it will
    run off the right-hand side.

SEE ALSO
    CreateMenusA(), GetVisualInfoA()