diff options
author | Marco Gerards <marco@gnu.org> | 2005-01-06 21:53:26 +0000 |
---|---|---|
committer | Marco Gerards <marco@gnu.org> | 2005-01-06 21:53:26 +0000 |
commit | f7cecd976b196288bd734eace2acff798a36513f (patch) | |
tree | 5e1015cbb3742b8167b4b53f395f273c4352503e /libcons/cons.h | |
parent | 38fc4e4d1cef98a8b3d60b717647a9c65d91307f (diff) |
2005-01-06 Marco Gerards <metgerards@student.han.nl>
* Makefile (SRCS): Add `vcons-move-mouse.c' and `vcons-event.c'.
* cons.h (mouse_movement): New enum.
(mouse_button): Likewise.
(mouse_event): New struct.
(mouse_event_t): New type.
(cons_vcons_set_mousecursor_pos): New prototype.
(cons_vcons_set_mousecursor_status): Likewise.
(cons_vcons_move_mouse): Likewise.
* file-changed.c (cons_S_file_changed): Generate the
`CONS_EVT_OUTPUT' event, in case there was output.
* opts-std-startup.c (OPT_MOUSE_SHOW, OPT_MOUSE_HIDE)
(OPT_MOUSE_SENS, DEFAULT_MOUSE_SENS, DEFAULT_MOUSE_SENS_STRING):
New macros.
(_cons_show_mouse, _cons_hide_mouse, _cons_mouse_sens): New
variables.
(startup_options): Add the options `--mouse-show-on',
`--mouse-hide-on' and `--mouse-sensitivity'.
(parse_startup_opt): Parse the options that were added to
`startup_options' using the new local function `parse_events'.
* priv.h (CONS_EVT_MOUSE_MOVE, CONS_EVT_MOUSE_BUTTON)
(CONS_EVT_KEYPRESS, CONS_EVT_OUTPUT): New macros.
(_cons_show_mouse, _cons_hide_mouse, _cons_mouse_sens): New
declarations.
(_cons_vcons_input): New prototype.
(_cons_vcons_console_event): Likewise.
* vcons-event.c: New file.
* vcons-move-mouse.c: Likewise.
* vcons-input.c (_cons_vcons_input): New function.
(cons_vcons_input): Rewritten to use _cons_vcons_input and report
the `CONS_EVT_KEYPRESS' event.
* vcons-refresh.c: Include "priv.h".
(cons_vcons_refresh): Report the `CONS_EVT_OUTPUT' event.
* vcons-scrollback.c: Include "priv.h".
(cons_vcons_scrollback): Report the `CONS_EVT_OUTPUT' event.
Diffstat (limited to 'libcons/cons.h')
-rw-r--r-- | libcons/cons.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/libcons/cons.h b/libcons/cons.h index 54868507..9915dc3b 100644 --- a/libcons/cons.h +++ b/libcons/cons.h @@ -1,5 +1,5 @@ /* cons.h - Definitions for cons helper and callback functions. - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. Written by Marcus Brinkmann. This file is part of the GNU Hurd. @@ -123,6 +123,34 @@ struct cons int slack; }; +/* Determines if the mouse moves relatively, to an absolute location + or to an absolute location expressed by a percentage. */ +enum mouse_movement + { + CONS_VCONS_MOUSE_MOVE_REL, + CONS_VCONS_MOUSE_MOVE_ABS, + CONS_VCONS_MOUSE_MOVE_ABS_PERCENT + }; + +/* The status of a mouse button. */ +enum mouse_button + { + CONS_VCONS_MOUSE_BUTTON_NO_OP, + CONS_VCONS_MOUSE_BUTTON_PRESSED, + CONS_VCONS_MOUSE_BUTTON_RELEASED + }; + +/* An event produced by mouse movement an button presses. */ +typedef struct mouse_event +{ + enum mouse_movement mouse_movement; + float x; + float y; + + enum mouse_button mouse_button; + int button; +} *mouse_event_t; + /* The user must define this variable. Set this to the name of the console client. */ @@ -256,6 +284,14 @@ typedef enum down. */ int cons_vcons_scrollback (vcons_t vcons, cons_scroll_t type, float value); +/* Set the mouse cursor position to X, Y. VCONS is locked. */ +error_t cons_vcons_set_mousecursor_pos (vcons_t vcons, float x, float y); + +/* If STATUS is set to 0, hide the mouse cursor, otherwise show + it. VCONS is locked. */ +error_t cons_vcons_set_mousecursor_status (vcons_t vcons, int status); + + extern const struct argp cons_startup_argp; @@ -286,4 +322,7 @@ void cons_vcons_destroy (void *port); /* Redraw the virtual console VCONS, which is locked. */ void cons_vcons_refresh (vcons_t vcons); +/* Handle the event EV on the virtual console VCONS. */ +error_t cons_vcons_move_mouse (vcons_t vcons, mouse_event_t ev); + #endif /* hurd/cons.h */ |