Subversion Repositories Kolibri OS

Rev

Rev 7782 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef INCLUDE_MENU_H
  2. #define INCLUDE_MENU_H
  3.  
  4. :dword menu_process_id;
  5.  
  6. #define MENU_TOP_LEFT  0
  7. #define MENU_TOP_RIGHT 1
  8. #define MENU_BOT_LEFT  2
  9. #define MENU_BOT_RIGHT 3
  10.  
  11. :dword shared_mem = NULL;
  12. :char shared_name[] = "LMENU";
  13. :void open_lmenu(dword _x, _y, _position, _selected, _text1)
  14. {
  15.         if (!shared_mem) {
  16.                 shared_mem = memopen(#shared_name, 16, SHM_CREATE + SHM_WRITE);
  17.                 if (EDX) shared_mem = memopen(#shared_name, 16, SHM_WRITE);
  18.         }
  19.         ESDWORD[shared_mem     ] = _selected;
  20.         ESDWORD[shared_mem +  4] = _x + Form.left + 5;
  21.         ESDWORD[shared_mem +  8] = _y + Form.top + skin_height;
  22.         ESDWORD[shared_mem + 12] = _position;
  23.         menu_process_id = RunProgram("/sys/develop/menu", _text1);
  24. }
  25.  
  26. :dword get_menu_click()
  27. {
  28.         if (menu_process_id) && (GetProcessSlot(menu_process_id)) {
  29.                 return NULL;
  30.         } else {
  31.                 menu_process_id = NULL;
  32.                 EAX = ESDWORD[shared_mem];
  33.                 ESDWORD[shared_mem] = 0;
  34.                 return EAX;            
  35.         }
  36. }
  37.  
  38. #endif