home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / colour / modesel_1 / !ModeSel / c / ShowMenu < prev    next >
Text File  |  1994-06-20  |  977b  |  49 lines

  1. /*
  2.     Conversion from DeskLib by Andrew Campbell
  3.  
  4.     File:    Menu.AddSubMenu.c
  5.     Author:  Copyright © 1993 Shaun Blackmore and Jason Williams
  6.     Version: 1.00 (30 Apr 1993)
  7.     Purpose: Adds one menu to another as a submenu
  8. */
  9.  
  10. #include "Wimp.h"
  11. #include "ShowMenu.h"
  12.  
  13. int Menu_CalcHeight(wimp_menu *menu);
  14.  
  15. int Menu_CalcHeight(wimp_menu *menu)
  16. {
  17.   int             itemheight, count = 0;
  18.   wimp_menu_entry *item;
  19.  
  20.   item = menu-> entries;
  21.   itemheight = menu->height + menu->gap;
  22.  
  23.   while(TRUE)
  24.   {
  25.     if ((item->menu_flags) & wimp_MENU_SEPARATE) /* Count height of dotted line  */
  26.       count += 24;
  27.  
  28.     count += itemheight;                       /* Plus the height of each item */
  29.  
  30.     if ((item->menu_flags) & wimp_MENU_LAST)
  31.       break;
  32.  
  33.     item++;
  34.   }
  35.  
  36.   return(count);
  37. }
  38.  
  39.  
  40. void Menu_Show(wimp_menu *menu, int x, int y)
  41. {
  42.   x -= 64;
  43.   if (y < 0)
  44.     y = 96 + Menu_CalcHeight(menu);            /* Calculate iconbar position */
  45.  
  46.   wimp_create_menu(menu, x, y);
  47. }
  48.  
  49.