1/* 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; 63 void (*msgCB)__ARGS((struct BalloonEvalStruct *, int)); 64 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 */ 77