-
Notifications
You must be signed in to change notification settings - Fork 99
Expand file tree
/
Copy pathmouse.h
More file actions
118 lines (103 loc) · 4.26 KB
/
mouse.h
File metadata and controls
118 lines (103 loc) · 4.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/* GNUPLOT - mouse.h */
/*[
* Permission to use, copy, and distribute this software and its
* documentation for any purpose with or without fee is hereby granted,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*
* Permission to modify the software is granted, but not the right to
* distribute the complete modified source code. Modifications are to
* be distributed as patches to the released version. Permission to
* distribute binaries produced by compiling modified sources is granted,
* provided you
* 1. distribute the corresponding source modifications from the
* released version in the form of a patch file along with the binaries,
* 2. add special version identification to distinguish your version
* in addition to the base release version number,
* 3. provide your name and address as the primary contact for the
* support of your modified version, and
* 4. retain our contact information in regard to use of the base
* software.
* Permission to distribute the released version of the source code along
* with corresponding source modifications in the form of a patch file is
* granted with same provisions 2 through 4 for binary distributions.
*
* This software is provided "as is" without express or implied warranty
* to the extent permitted by applicable law.
]*/
/*
* AUTHORS
*
* Original Software (October 1999 - January 2000):
* Pieter-Tjerk de Boer <[email protected]>
* Petr Mikulik <[email protected]>
* Johannes Zellner <[email protected]>
*/
#ifndef _HAVE_MOUSE_H
#define _HAVE_MOUSE_H
#include "mousecmn.h"
#include "syscfg.h"
#include "eval.h"
/* Zoom queue
*/
struct t_zoom {
double xmin, ymin, xmax, ymax;
double x2min, y2min, x2max, y2max;
struct t_zoom *prev, *next;
};
typedef struct mouse_setting_t {
int on; /* ... */
int doubleclick; /* Button1 double / single click resolution */
int annotate_zoom_box; /* draw coordinates at zoom box */
int label; /* draw real gnuplot labels on Button 2 */
int polardistance; /* display dist. to ruler in polar coordinates */
int verbose; /* display ipc commands */
int warp_pointer; /* warp pointer after starting a zoom box */
double xmzoom_factor; /* scale factor for +/- zoom on x */
double ymzoom_factor; /* scale factor for +/- zoom on y */
char *fmt; /* fprintf format for printing numbers */
char *labelopts; /* label options */
} mouse_setting_t;
/* start with mouse on by default */
#define DEFAULT_MOUSE_MODE 1
#define DEFAULT_MOUSE_SETTING { \
DEFAULT_MOUSE_MODE, \
300, /* ms */ \
1, 0, 0, 0, 0, \
1.0, 1.0, \
mouse_fmt_default, \
NULL \
}
extern long mouse_mode;
extern char* mouse_alt_string;
extern mouse_setting_t default_mouse_setting;
extern mouse_setting_t mouse_setting;
extern char mouse_fmt_default[];
extern udft_entry mouse_readout_function;
enum {
MOUSE_COORDINATES_REAL = 0,
MOUSE_COORDINATES_REAL1, /* w/o brackets */
MOUSE_COORDINATES_FRACTIONAL,
MOUSE_COORDINATES_TIMEFMT,
MOUSE_COORDINATES_XDATE,
MOUSE_COORDINATES_XTIME,
MOUSE_COORDINATES_XDATETIME,
MOUSE_COORDINATES_ALT, /* alternative format as specified by the user */
MOUSE_COORDINATES_FUNCTION = 8 /* value needed in term.c even if no USE_MOUSE */
};
void event_plotdone(void);
void recalc_statusline(void);
void update_ruler(void);
void set_ruler(TBOOLEAN on, int mx, int my);
void UpdateStatusline(void);
void do_event(struct gp_event_t *ge);
TBOOLEAN exec_event(char type, int mx, int my, int par1, int par2, int winid); /* wrapper for do_event() */
int plot_mode(int mode);
void event_reset(struct gp_event_t *ge);
/* bind prototype(s) */
void bind_process(char* lhs, char* rhs, TBOOLEAN allwindows);
void bind_remove_all(void);
/* mechanism for the core code to query the last-known mouse coordinates */
extern void get_last_mouse_xy( double *x, double *y );
#endif /* !_HAVE_MOUSE_H */