Subversion Repositories Kolibri OS

Rev

Rev 7779 | Rev 7781 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7779 Rev 7780
Line 77... Line 77...
77
{
77
{
78
	menu.cur_y = 0;
78
	menu.cur_y = 0;
79
	KillProcess(menu_process_id);
79
	KillProcess(menu_process_id);
80
}
80
}
Line -... Line 81...
-
 
81
 
-
 
82
#define MENU_ALIGN_TOP_LEFT  0
-
 
83
#define MENU_ALIGN_TOP_RIGHT 1
-
 
84
#define MENU_ALIGN_BOT_LEFT  2
Line 81... Line 85...
81
 
85
#define MENU_ALIGN_BOT_RIGHT 3
82
 
86
 
83
:dword shared_mem = NULL;
87
:dword shared_mem = NULL;
84
:char shared_name[] = "LMENU";
88
:char shared_name[] = "LMENU";
85
:void open_lmenu(dword _x, _y, _position, _selected, _text)
89
:void open_lmenu(dword _x, _y, _position, _selected, _text)
86
{
90
{
87
	if (!shared_mem) {
91
	if (!shared_mem) {
88
		shared_mem = memopen(#shared_name, 20, SHM_CREATE);
92
		shared_mem = memopen(#shared_name, 16, SHM_CREATE + SHM_WRITE);
-
 
93
		if (EDX) shared_mem = memopen(#shared_name, 16, SHM_WRITE);
89
		if (EDX) shared_mem = memopen(#shared_name, 20, SHM_WRITE);
94
	}
90
	}
95
	ESDWORD[shared_mem     ] = _selected;
91
	ESDWORD[shared_mem +  4] = _x;
96
	ESDWORD[shared_mem +  4] = _x;
92
	ESDWORD[shared_mem +  8] = _y;
-
 
93
	ESDWORD[shared_mem + 12] = _position;
97
	ESDWORD[shared_mem +  8] = _y;
94
	ESDWORD[shared_mem + 16] = _selected;
98
	ESDWORD[shared_mem + 12] = _position;
Line 95... Line 99...
95
	RunProgram("/sys/develop/menu", _text);
99
	menu_process_id = RunProgram("/sys/develop/menu", _text);
96
}
100
}
97
 
101
 
98
:dword get_menu_click()
102
:dword get_menu_click()
-
 
103
{
99
{
104
	if (menu_process_id) && (GetProcessSlot(menu_process_id)) {
100
	//dword res = ESDWORD[shared_mem];
105
		return NULL;
101
	char res[2];
106
	} else {
102
	ReadFile(0, 2, #res, "/tmp0/1/menu.tmp");
107
		menu_process_id = NULL;
Line 103... Line 108...
103
	//ESDWORD[shared_mem] = 0;
108
		return ESDWORD[shared_mem];		
104
	return res[0];
109
	}