Sat, 23 Jul 2016 12:27:03 +0300
Merged with default
97
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
1 | /* Public Domain Curses */ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
2 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
3 | #include <curspriv.h> |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
4 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
5 | RCSID("$Id: mouse.c,v 1.45 2008/07/13 16:08:18 wmcbrine Exp $") |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
6 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
7 | /*man-start************************************************************** |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
8 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
9 | Name: mouse |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
10 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
11 | Synopsis: |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
12 | int mouse_set(unsigned long mbe); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
13 | int mouse_on(unsigned long mbe); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
14 | int mouse_off(unsigned long mbe); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
15 | int request_mouse_pos(void); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
16 | int map_button(unsigned long button); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
17 | void wmouse_position(WINDOW *win, int *y, int *x); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
18 | unsigned long getmouse(void); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
19 | unsigned long getbmap(void); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
20 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
21 | int mouseinterval(int wait); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
22 | bool wenclose(const WINDOW *win, int y, int x); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
23 | bool wmouse_trafo(const WINDOW *win, int *y, int *x, bool to_screen); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
24 | bool mouse_trafo(int *y, int *x, bool to_screen); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
25 | mmask_t mousemask(mmask_t mask, mmask_t *oldmask); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
26 | int nc_getmouse(MEVENT *event); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
27 | int ungetmouse(MEVENT *event); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
28 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
29 | Description: |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
30 | As of PDCurses 3.0, there are two separate mouse interfaces: the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
31 | classic interface, which is based on the undocumented Sys V |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
32 | mouse functions; and an ncurses-compatible interface. Both are |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
33 | active at all times, and you can mix and match functions from |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
34 | each, though it's not recommended. The ncurses interface is |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
35 | essentially an emulation layer built on top of the classic |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
36 | interface; it's here to allow easier porting of ncurses apps. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
37 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
38 | The classic interface: mouse_set(), mouse_on(), mouse_off(), |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
39 | request_mouse_pos(), map_button(), wmouse_position(), |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
40 | getmouse(), and getbmap(). An application using this interface |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
41 | would start by calling mouse_set() or mouse_on() with a non-zero |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
42 | value, often ALL_MOUSE_EVENTS. Then it would check for a |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
43 | KEY_MOUSE return from getch(). If found, it would call |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
44 | request_mouse_pos() to get the current mouse status. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
45 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
46 | mouse_set(), mouse_on() and mouse_off() are analagous to |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
47 | attrset(), attron() and attroff(). These functions set the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
48 | mouse button events to trap. The button masks used in these |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
49 | functions are defined in curses.h and can be or'ed together. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
50 | They are the group of masks starting with BUTTON1_RELEASED. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
51 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
52 | request_mouse_pos() requests curses to fill in the Mouse_status |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
53 | structure with the current state of the mouse. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
54 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
55 | map_button() enables the specified mouse action to activate the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
56 | Soft Label Keys if the action occurs over the area of the screen |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
57 | where the Soft Label Keys are displayed. The mouse actions are |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
58 | defined in curses.h in the group that starts with BUTTON_RELEASED. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
59 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
60 | wmouse_position() determines if the current mouse position is |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
61 | within the window passed as an argument. If the mouse is |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
62 | outside the current window, -1 is returned in the y and x |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
63 | arguments; otherwise the y and x coordinates of the mouse |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
64 | (relative to the top left corner of the window) are returned in |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
65 | y and x. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
66 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
67 | getmouse() returns the current status of the trapped mouse |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
68 | buttons as set by mouse_set() or mouse_on(). |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
69 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
70 | getbmap() returns the current status of the button action used |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
71 | to map a mouse action to the Soft Label Keys as set by the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
72 | map_button() function. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
73 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
74 | The ncurses interface: mouseinterval(), wenclose(), |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
75 | wmouse_trafo(), mouse_trafo(), mousemask(), nc_getmouse(), and |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
76 | ungetmouse(). A typical application using this interface would |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
77 | start by calling mousemask() with a non-zero value, often |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
78 | ALL_MOUSE_EVENTS. Then it would check for a KEY_MOUSE return |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
79 | from getch(). If found, it would call nc_getmouse() to get the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
80 | current mouse status. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
81 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
82 | mouseinterval() sets the timeout for a mouse click. On all |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
83 | current platforms, PDCurses receives mouse button press and |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
84 | release events, but must synthesize click events. It does this |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
85 | by checking whether a release event is queued up after a press |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
86 | event. If it gets a press event, and there are no more events |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
87 | waiting, it will wait for the timeout interval, then check again |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
88 | for a release. A press followed by a release is reported as |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
89 | BUTTON_CLICKED; otherwise it's passed through as BUTTON_PRESSED. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
90 | The default timeout is 150ms; valid values are 0 (no clicks |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
91 | reported) through 1000ms. In x11, the timeout can also be set |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
92 | via the clickPeriod resource. The return value from |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
93 | mouseinterval() is the old timeout. To check the old value |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
94 | without setting a new one, call it with a parameter of -1. Note |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
95 | that although there's no classic equivalent for this function |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
96 | (apart from the clickPeriod resource), the value set applies in |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
97 | both interfaces. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
98 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
99 | wenclose() reports whether the given screen-relative y, x |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
100 | coordinates fall within the given window. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
101 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
102 | wmouse_trafo() converts between screen-relative and window- |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
103 | relative coordinates. A to_screen parameter of TRUE means to |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
104 | convert from window to screen; otherwise the reverse. The |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
105 | function returns FALSE if the coordinates aren't within the |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
106 | window, or if any of the parameters are NULL. The coordinates |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
107 | have been converted when the function returns TRUE. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
108 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
109 | mouse_trafo() is the stdscr version of wmouse_trafo(). |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
110 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
111 | mousemask() is nearly equivalent to mouse_set(), but instead of |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
112 | OK/ERR, it returns the value of the mask after setting it. (This |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
113 | isn't necessarily the same value passed in, since the mask could |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
114 | be altered on some platforms.) And if the second parameter is a |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
115 | non-null pointer, mousemask() stores the previous mask value |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
116 | there. Also, since the ncurses interface doesn't work with |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
117 | PDCurses' BUTTON_MOVED events, mousemask() filters them out. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
118 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
119 | nc_getmouse() returns the current mouse status in an MEVENT |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
120 | struct. This is equivalent to ncurses' getmouse(), renamed to |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
121 | avoid conflict with PDCurses' getmouse(). But if you define |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
122 | NCURSES_MOUSE_VERSION (preferably as 2) before including |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
123 | curses.h, it defines getmouse() to nc_getmouse(), along with a |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
124 | few other redefintions needed for compatibility with ncurses |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
125 | code. nc_getmouse() calls request_mouse_pos(), which (not |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
126 | getmouse()) is the classic equivalent. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
127 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
128 | ungetmouse() is the mouse equivalent of ungetch(). However, |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
129 | PDCurses doesn't maintain a queue of mouse events; only one can |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
130 | be pushed back, and it can overwrite or be overwritten by real |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
131 | mouse events. |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
132 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
133 | Portability X/Open BSD SYS V |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
134 | mouse_set - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
135 | mouse_on - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
136 | mouse_off - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
137 | request_mouse_pos - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
138 | map_button - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
139 | wmouse_position - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
140 | getmouse - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
141 | getbmap - - 4.0 |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
142 | mouseinterval - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
143 | wenclose - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
144 | wmouse_trafo - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
145 | mouse_trafo - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
146 | mousemask - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
147 | nc_getmouse - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
148 | ungetmouse - - - |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
149 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
150 | **man-end****************************************************************/ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
151 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
152 | #include <string.h> |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
153 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
154 | static bool ungot = FALSE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
155 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
156 | int mouse_set(unsigned long mbe) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
157 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
158 | PDC_LOG(("mouse_set() - called: event %x\n", mbe)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
159 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
160 | SP->_trap_mbe = mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
161 | return PDC_mouse_set(); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
162 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
163 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
164 | int mouse_on(unsigned long mbe) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
165 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
166 | PDC_LOG(("mouse_on() - called: event %x\n", mbe)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
167 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
168 | SP->_trap_mbe |= mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
169 | return PDC_mouse_set(); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
170 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
171 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
172 | int mouse_off(unsigned long mbe) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
173 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
174 | PDC_LOG(("mouse_off() - called: event %x\n", mbe)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
175 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
176 | SP->_trap_mbe &= ~mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
177 | return PDC_mouse_set(); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
178 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
179 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
180 | int map_button(unsigned long button) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
181 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
182 | PDC_LOG(("map_button() - called: button %x\n", button)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
183 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
184 | /****************** this does nothing at the moment ***************/ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
185 | SP->_map_mbe_to_key = button; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
186 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
187 | return OK; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
188 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
189 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
190 | int request_mouse_pos(void) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
191 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
192 | PDC_LOG(("request_mouse_pos() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
193 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
194 | Mouse_status = pdc_mouse_status; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
195 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
196 | return OK; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
197 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
198 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
199 | void wmouse_position(WINDOW *win, int *y, int *x) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
200 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
201 | PDC_LOG(("wmouse_position() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
202 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
203 | if (win && wenclose(win, MOUSE_Y_POS, MOUSE_X_POS)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
204 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
205 | if (y) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
206 | *y = MOUSE_Y_POS - win->_begy; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
207 | if (x) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
208 | *x = MOUSE_X_POS - win->_begx; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
209 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
210 | else |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
211 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
212 | if (y) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
213 | *y = -1; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
214 | if (x) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
215 | *x = -1; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
216 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
217 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
218 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
219 | unsigned long getmouse(void) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
220 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
221 | PDC_LOG(("getmouse() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
222 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
223 | return SP->_trap_mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
224 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
225 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
226 | unsigned long getbmap(void) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
227 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
228 | PDC_LOG(("getbmap() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
229 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
230 | return SP->_map_mbe_to_key; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
231 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
232 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
233 | /* ncurses mouse interface */ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
234 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
235 | int mouseinterval(int wait) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
236 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
237 | int old_wait; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
238 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
239 | PDC_LOG(("mouseinterval() - called: %d\n", wait)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
240 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
241 | old_wait = SP->mouse_wait; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
242 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
243 | if (wait >= 0 && wait <= 1000) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
244 | SP->mouse_wait = wait; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
245 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
246 | return old_wait; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
247 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
248 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
249 | bool wenclose(const WINDOW *win, int y, int x) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
250 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
251 | PDC_LOG(("wenclose() - called: %p %d %d\n", win, y, x)); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
252 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
253 | return (win && y >= win->_begy && y < win->_begy + win->_maxy |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
254 | && x >= win->_begx && x < win->_begx + win->_maxx); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
255 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
256 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
257 | bool wmouse_trafo(const WINDOW *win, int *y, int *x, bool to_screen) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
258 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
259 | int newy, newx; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
260 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
261 | PDC_LOG(("wmouse_trafo() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
262 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
263 | if (!win || !y || !x) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
264 | return FALSE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
265 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
266 | newy = *y; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
267 | newx = *x; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
268 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
269 | if (to_screen) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
270 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
271 | newy += win->_begy; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
272 | newx += win->_begx; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
273 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
274 | if (!wenclose(win, newy, newx)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
275 | return FALSE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
276 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
277 | else |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
278 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
279 | if (wenclose(win, newy, newx)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
280 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
281 | newy -= win->_begy; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
282 | newx -= win->_begx; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
283 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
284 | else |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
285 | return FALSE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
286 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
287 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
288 | *y = newy; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
289 | *x = newx; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
290 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
291 | return TRUE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
292 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
293 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
294 | bool mouse_trafo(int *y, int *x, bool to_screen) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
295 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
296 | PDC_LOG(("mouse_trafo() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
297 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
298 | return wmouse_trafo(stdscr, y, x, to_screen); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
299 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
300 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
301 | mmask_t mousemask(mmask_t mask, mmask_t *oldmask) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
302 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
303 | PDC_LOG(("mousemask() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
304 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
305 | if (oldmask) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
306 | *oldmask = SP->_trap_mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
307 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
308 | /* The ncurses interface doesn't work with our move events, so |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
309 | filter them here */ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
310 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
311 | mask &= ~(BUTTON1_MOVED | BUTTON2_MOVED | BUTTON3_MOVED); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
312 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
313 | mouse_set(mask); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
314 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
315 | return SP->_trap_mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
316 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
317 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
318 | int nc_getmouse(MEVENT *event) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
319 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
320 | int i; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
321 | mmask_t bstate = 0; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
322 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
323 | PDC_LOG(("nc_getmouse() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
324 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
325 | if (!event) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
326 | return ERR; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
327 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
328 | ungot = FALSE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
329 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
330 | request_mouse_pos(); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
331 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
332 | event->id = 0; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
333 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
334 | event->x = Mouse_status.x; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
335 | event->y = Mouse_status.y; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
336 | event->z = 0; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
337 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
338 | for (i = 0; i < 3; i++) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
339 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
340 | if (Mouse_status.changes & (1 << i)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
341 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
342 | int shf = i * 5; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
343 | short button = Mouse_status.button[i] & BUTTON_ACTION_MASK; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
344 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
345 | if (button == BUTTON_RELEASED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
346 | bstate |= (BUTTON1_RELEASED << shf); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
347 | else if (button == BUTTON_PRESSED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
348 | bstate |= (BUTTON1_PRESSED << shf); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
349 | else if (button == BUTTON_CLICKED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
350 | bstate |= (BUTTON1_CLICKED << shf); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
351 | else if (button == BUTTON_DOUBLE_CLICKED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
352 | bstate |= (BUTTON1_DOUBLE_CLICKED << shf); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
353 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
354 | button = Mouse_status.button[i] & BUTTON_MODIFIER_MASK; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
355 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
356 | if (button & PDC_BUTTON_SHIFT) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
357 | bstate |= BUTTON_MODIFIER_SHIFT; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
358 | if (button & PDC_BUTTON_CONTROL) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
359 | bstate |= BUTTON_MODIFIER_CONTROL; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
360 | if (button & PDC_BUTTON_ALT) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
361 | bstate |= BUTTON_MODIFIER_ALT; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
362 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
363 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
364 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
365 | if (MOUSE_WHEEL_UP) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
366 | bstate |= BUTTON4_PRESSED; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
367 | else if (MOUSE_WHEEL_DOWN) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
368 | bstate |= BUTTON5_PRESSED; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
369 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
370 | /* extra filter pass -- mainly for button modifiers */ |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
371 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
372 | event->bstate = bstate & SP->_trap_mbe; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
373 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
374 | return OK; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
375 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
376 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
377 | int ungetmouse(MEVENT *event) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
378 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
379 | int i; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
380 | unsigned long bstate; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
381 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
382 | PDC_LOG(("ungetmouse() - called\n")); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
383 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
384 | if (!event || ungot) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
385 | return ERR; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
386 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
387 | ungot = TRUE; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
388 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
389 | pdc_mouse_status.x = event->x; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
390 | pdc_mouse_status.y = event->y; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
391 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
392 | pdc_mouse_status.changes = 0; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
393 | bstate = event->bstate; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
394 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
395 | for (i = 0; i < 3; i++) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
396 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
397 | int shf = i * 5; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
398 | short button = 0; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
399 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
400 | if (bstate & ((BUTTON1_RELEASED | BUTTON1_PRESSED | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
401 | BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED) << shf)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
402 | { |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
403 | pdc_mouse_status.changes |= 1 << i; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
404 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
405 | if (bstate & (BUTTON1_PRESSED << shf)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
406 | button = BUTTON_PRESSED; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
407 | if (bstate & (BUTTON1_CLICKED << shf)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
408 | button = BUTTON_CLICKED; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
409 | if (bstate & (BUTTON1_DOUBLE_CLICKED << shf)) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
410 | button = BUTTON_DOUBLE_CLICKED; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
411 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
412 | if (bstate & BUTTON_MODIFIER_SHIFT) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
413 | button |= PDC_BUTTON_SHIFT; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
414 | if (bstate & BUTTON_MODIFIER_CONTROL) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
415 | button |= PDC_BUTTON_CONTROL; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
416 | if (bstate & BUTTON_MODIFIER_ALT) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
417 | button |= PDC_BUTTON_ALT; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
418 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
419 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
420 | pdc_mouse_status.button[i] = button; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
421 | } |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
422 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
423 | if (bstate & BUTTON4_PRESSED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
424 | pdc_mouse_status.changes |= PDC_MOUSE_WHEEL_UP; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
425 | else if (bstate & BUTTON5_PRESSED) |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
426 | pdc_mouse_status.changes |= PDC_MOUSE_WHEEL_DOWN; |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
427 | |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
428 | return ungetch(KEY_MOUSE); |
2d43f05b284c
Added pdcurses source files, if no curses library is provided, these source files will be fallen back to instead of raising an error. Should make compiling on windows slightly less painful.
Teemu Piippo <tsapii@utu.fi>
parents:
diff
changeset
|
429 | } |