[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 an array of tags providing optional extra
		  parameters, or NULL.

   TAGS
	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. (V36)

	For the following tags, please see the description under
	LayoutMenusA().  Their behavior is identical when used in
	LayoutMenuItemsA().

	    GTMN_TextAttr
	    GTMN_NewLookMenus
	    GTMN_Checkmark
	    GTMN_AmigaKey
	    GTMN_FrontPen

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

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

   SEE ALSO
	CreateMenusA(), GetVisualInfoA()