blob: 859c08193f5d0a2d35e98e3b119fcc0f372dc14a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* vi:set ts=8 sts=4 sw=4:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 * Visual Workshop integration by Gordon Prieur
5 *
6 * Do ":help uganda" in Vim to read copying and usage conditions.
7 * Do ":help credits" in Vim to see a list of people who contributed.
8 */
9
10#if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO))
11#define GUI_BEVAL_H
12
13#ifdef FEAT_GUI_GTK
14# include <gtk/gtkwidget.h>
15#else
16# if defined(FEAT_GUI_X11)
17# include <X11/Intrinsic.h>
18# endif
19#endif
20
21typedef enum
22{
23 ShS_NEUTRAL, /* nothing showing or pending */
24 ShS_PENDING, /* data requested from debugger */
25 ShS_UPDATE_PENDING, /* switching information displayed */
26 ShS_SHOWING /* the balloon is being displayed */
27} BeState;
28
29typedef struct BalloonEvalStruct
30{
31#ifdef FEAT_GUI_GTK
32 GtkWidget *target; /* widget we are monitoring */
33 GtkWidget *balloonShell;
34 GtkWidget *balloonLabel;
35 unsigned int timerID; /* timer for run */
36 BeState showState; /* tells us whats currently going on */
37 int x;
38 int y;
39 unsigned int state; /* Button/Modifier key state */
40#else
41# if !defined(FEAT_GUI_W32)
42 Widget target; /* widget we are monitoring */
43 Widget balloonShell;
44 Widget balloonLabel;
45 XtIntervalId timerID; /* timer for run */
46 BeState showState; /* tells us whats currently going on */
47 XtAppContext appContext; /* used in event handler */
48 Position x;
49 Position y;
50 Position x_root;
51 Position y_root;
52 int state; /* Button/Modifier key state */
53# else
54 HWND target;
55 HWND balloon;
56 int x;
57 int y;
58 BeState showState; /* tells us whats currently going on */
59# endif
60#endif
61 int ts; /* tabstop setting for this buffer */
62 char_u *msg;
Bram Moolenaard99df422016-01-29 23:20:40 +010063 void (*msgCB)(struct BalloonEvalStruct *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000064 void *clientData; /* For callback */
65#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
66 Dimension screen_width; /* screen width in pixels */
67 Dimension screen_height; /* screen height in pixels */
68#endif
69} BalloonEval;
70
71#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
72#define EVAL_OFFSET_Y 10
73
74#include "gui_beval.pro"
75
76#endif /* GUI_BEVAL_H and FEAT_BEVAL */