home *** CD-ROM | disk | FTP | other *** search
- *** cellscr_orig.c Thu Jan 31 08:36:19 1991
- --- cellscr.c Thu Jan 31 08:39:09 1991
- ***************
- *** 1707,1723 ****
-
- set_run_mode()
- { /* disable panel & canvas input */
- - int fd; /* window file descriptor */
-
- frame_mask = *((Inputmask *) window_get(frame, WIN_PICK_INPUT_MASK));
- ! window_set(frame, WIN_CONSUME_PICK_EVENT, MS_LEFT, 0);
- panel_mask = *((Inputmask *) window_get(panel, WIN_PICK_INPUT_MASK));
- ! window_set(panel, WIN_CONSUME_PICK_EVENT, WIN_NO_EVENTS, 0);
- canvas_mask = *((Inputmask *) window_get(canvas, WIN_PICK_INPUT_MASK));
- ! window_set(canvas, WIN_CONSUME_PICK_EVENT, WIN_NO_EVENTS, 0);
- ! fd = (int) window_get(frame, WIN_FD);
- ! fcntl(fd, F_SETFL, FNDELAY);
- ! /* set non-blocking mode */
- }
-
-
- --- 1707,1719 ----
-
- set_run_mode()
- { /* disable panel & canvas input */
-
- frame_mask = *((Inputmask *) window_get(frame, WIN_PICK_INPUT_MASK));
- ! window_set(frame, WIN_CONSUME_PICK_EVENT, WIN_NO_EVENTS, 0);
- panel_mask = *((Inputmask *) window_get(panel, WIN_PICK_INPUT_MASK));
- ! window_set(panel, WIN_CONSUME_PICK_EVENT, MS_LEFT, 0);
- canvas_mask = *((Inputmask *) window_get(canvas, WIN_PICK_INPUT_MASK));
- ! window_set(canvas, WIN_CONSUME_PICK_EVENT, MS_LEFT, 0);
- }
-
-
- ***************
- *** 1732,1746 ****
- check_button()
- { /* return TRUE iff the left button has
- * been pressed */
- ! int err, button;
- Event event;
- ! do { /* check all events in pending queue */
- ! err = window_read_event(frame, &event);
- ! button = ((err == 0) && (event_is_up(&event)) &&
- (event_id(&event) == MS_LEFT));
- ! } while ((err == 0) && !button);
- /* if no events remain, err will equal -1 */
- ! return (button);
- }
-
-
- --- 1728,1762 ----
- check_button()
- { /* return TRUE iff the left button has
- * been pressed */
- ! int err, button1, button2;
- ! int fd1, ff1, fd2, ff2;
- Event event;
- !
- ! /* set non-blocking mode in panel */
- ! fd1 = (int) window_get(panel, WIN_FD);
- ! ff1 = fcntl(fd1, F_GETFL, 0);
- ! fcntl(fd1, F_SETFL, FNDELAY);
- ! /* non-blocking mode in canvas */
- ! fd2 = (int) window_get(canvas, WIN_FD);
- ! ff2 = fcntl(fd2, F_GETFL, 0);
- ! fcntl(fd2, F_SETFL, FNDELAY);
- ! do {
- ! err = window_read_event(panel, &event);
- ! button1 = ((err == 0) && (event_is_up(&event)) &&
- (event_id(&event) == MS_LEFT));
- ! } while ((err == 0) && !button1);
- ! do {
- ! err = window_read_event(canvas, &event);
- ! button2 = ((err == 0) && (event_is_up(&event)) &&
- ! (event_id(&event) == MS_LEFT));
- ! } while ((err == 0) && !button2);
- /* if no events remain, err will equal -1 */
- !
- ! /* Restore blocking mode in panel and canvas */
- ! fcntl(fd1, F_SETFL, ff1);
- ! fcntl(fd2, F_SETFL, ff2);
- ! /* if button was pressed in either panel or canvas, return 1 */
- ! return (button1 | button2);
- }
-
-
-