void mui_keyboard(unsigned char c, int x, int y) { Window win = &winList[glutGetWindow()-1]; muiSetActiveUIList(win->uilist); muiHandleEvent(MUI_KEYSTROKE, c, x, win->mui_ysize-y); glutPostRedisplay(); }
void mui_glutpassivemotion(int x, int y) { Window win = &winList[glutGetWindow()-1]; muiSetActiveUIList(win->uilist); muiHandleEvent(MUI_DEVICE_UP, 0, x, win->mui_ysize-y); glutPostRedisplay(); }
void mui_glutmotion(int x, int y) { Window win = &winList[glutGetWindow()-1]; muiSetActiveUIList(win->uilist); if (win->mbleft == 0) return; muiHandleEvent(MUI_DEVICE_DOWN, 0, x, win->mui_ysize-y); glutPostRedisplay(); }
void muiNewUIList(int listid) { static int inited = 0; int i; if (inited == 0) { inited = 1; for (i = 1; i < MAX_UI_LISTS; i++) muilistindex[i] = -1; muilistindex[0] = listid; muiSetActiveUIList(listid); return; } for (i = 0; i < MAX_UI_LISTS; i++) if (muilistindex[i] == -1) { muilistindex[i] = listid; muiSetActiveUIList(listid); return; } muiError("muiNewUIList: No more UI lists available"); }
void mui_mouse(int b, int s, int x, int y) { Window win = &winList[glutGetWindow()-1]; muiSetActiveUIList(win->uilist); setmousebuttons(b, s); if (b == GLUT_MIDDLE_BUTTON && s == GLUT_DOWN) { muiHandleEvent(MUI_DEVICE_DOUBLE_CLICK, 0, x, win->mui_ysize-y); glutPostRedisplay(); } if (b != GLUT_LEFT_BUTTON) { return; } muiHandleEvent((s==GLUT_DOWN)?MUI_DEVICE_PRESS:MUI_DEVICE_RELEASE, 0, x, win->mui_ysize-y); glutPostRedisplay(); }