Annotation of researchv10dc/man/adm/man9/button.9, revision 1.1.1.1

1.1       root        1: .TH BUTTON 9.2
                      2: .CT 2 comm_term
                      3: .SH NAME
                      4: button123, mouse, cursallow, cursinhibit, cursset, cursswitch, getrect123 \- mouse control
                      5: .SH SYNOPSIS
                      6: .B #include <jerq.h>
                      7: .PP
                      8: .B extern struct Mouse {
                      9: .br
                     10: .B "    Point xy;
                     11: .br
                     12: .B "    short buttons;
                     13: .br
                     14: .B } mouse;
                     15: .PP
                     16: .B int button(n)
                     17: .B int n;
                     18: .br
                     19: .B int button1(), button2(), button3();
                     20: .br
                     21: .B int button12(), button23(), button123();
                     22: .PP
                     23: .B void cursinhibit();
                     24: .br
                     25: .B void cursallow();
                     26: .PP
                     27: .B void cursset(p);
                     28: .B Point p;
                     29: .PP
                     30: .B Texture *cursswitch(t);
                     31: .B Texture *t;
                     32: .PP
                     33: .B Rectangle getrect(n)
                     34: .B int n;
                     35: .br
                     36: .B Rectangle getrect1(), getrect2(), getrect3();
                     37: .br
                     38: .B Rectangle getrect12(), getrect23(), getrect123();
                     39: .SH DESCRIPTION
                     40: When the mouse is requested
                     41: (see
                     42: .IR request (9.2)),
                     43: the mouse state is updated asynchronously in the structure
                     44: .BR mouse .
                     45: The coordinates of the mouse are held in
                     46: .BR mouse.xy ,
                     47: and the state of the buttons in
                     48: .BR mouse.buttons .
                     49: Each process's
                     50: .B mouse
                     51: structure is independent of the others, so that
                     52: (except for
                     53: .IR cursset )
                     54: actions such as
                     55: changing the tracking cursor do not affect the mouse in
                     56: other processes.
                     57: .PP
                     58: The macro
                     59: .I button
                     60: and its counterparts return the state of the associated mouse button:
                     61: non-zero if the button is depressed, 0 otherwise.
                     62: The buttons are numbered 1 to 3 from left to right.
                     63: .I Button12
                     64: and the other multi-button functions return the
                     65: OR
                     66: of their states: true if either button 1 or
                     67: button 2 is depressed.
                     68: .PP
                     69: .I Cursinhibit
                     70: turns off interrupt-time cursor tracking
                     71: (the drawing of the cursor on the screen),
                     72: although the mouse coordinates are still kept current
                     73: and available.
                     74: .I Cursallow
                     75: enables interrupt-time cursor tracking.
                     76: .I Cursallow
                     77: and
                     78: .I cursinhibit
                     79: stack: to enable cursor tracking after two calls to
                     80: .IR cursinhibit ,
                     81: two calls to
                     82: .I cursallow
                     83: are required.
                     84: .PP
                     85: .I Cursset
                     86: moves the mouse cursor to the Point
                     87: .I p.
                     88: .PP
                     89: .I Cursswitch
                     90: changes the mouse cursor (a 16\(mu16 pixel image) to that specified by the
                     91: Texture
                     92: .BI * t.
                     93: If the argument is
                     94: .BR (Texture*)0 ,
                     95: the cursor is restored to the default arrow.
                     96: .I Cursswitch
                     97: returns the previous value of the cursor: the argument of the previous
                     98: call to
                     99: .I cursswitch.
                    100: .PP
                    101: .I Getrect
                    102: prompts the user with a box cursor and waits for a
                    103: rectangle to be swept out with the named button,
                    104: identified as with the
                    105: .I button
                    106: primitives.
                    107: It returns the screen coordinates of the box swept.
                    108: The box may be partly or wholly outside the process's layer.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.