| /* vi:set ts=8 sts=4 sw=4: |
| * |
| * VIM - Vi IMproved by Bram Moolenaar |
| * Visual Workshop integration by Gordon Prieur |
| * |
| * Do ":help uganda" in Vim to read copying and usage conditions. |
| * Do ":help credits" in Vim to see a list of people who contributed. |
| */ |
| |
| #if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO)) |
| #define GUI_BEVAL_H |
| |
| #ifdef FEAT_GUI_GTK |
| # ifdef USE_GTK3 |
| # include <gtk/gtk.h> |
| # else |
| # include <gtk/gtkwidget.h> |
| # endif |
| #else |
| # if defined(FEAT_GUI_X11) |
| # include <X11/Intrinsic.h> |
| # endif |
| #endif |
| |
| typedef enum |
| { |
| ShS_NEUTRAL, /* nothing showing or pending */ |
| ShS_PENDING, /* data requested from debugger */ |
| ShS_UPDATE_PENDING, /* switching information displayed */ |
| ShS_SHOWING /* the balloon is being displayed */ |
| } BeState; |
| |
| typedef struct BalloonEvalStruct |
| { |
| #ifdef FEAT_GUI_GTK |
| GtkWidget *target; /* widget we are monitoring */ |
| GtkWidget *balloonShell; |
| GtkWidget *balloonLabel; |
| unsigned int timerID; /* timer for run */ |
| BeState showState; /* tells us whats currently going on */ |
| int x; |
| int y; |
| unsigned int state; /* Button/Modifier key state */ |
| #else |
| # if !defined(FEAT_GUI_W32) |
| Widget target; /* widget we are monitoring */ |
| Widget balloonShell; |
| Widget balloonLabel; |
| XtIntervalId timerID; /* timer for run */ |
| BeState showState; /* tells us whats currently going on */ |
| XtAppContext appContext; /* used in event handler */ |
| Position x; |
| Position y; |
| Position x_root; |
| Position y_root; |
| int state; /* Button/Modifier key state */ |
| # else |
| HWND target; |
| HWND balloon; |
| int x; |
| int y; |
| BeState showState; /* tells us whats currently going on */ |
| # endif |
| #endif |
| int ts; /* tabstop setting for this buffer */ |
| char_u *msg; |
| void (*msgCB)(struct BalloonEvalStruct *, int); |
| void *clientData; /* For callback */ |
| #if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) |
| Dimension screen_width; /* screen width in pixels */ |
| Dimension screen_height; /* screen height in pixels */ |
| #endif |
| } BalloonEval; |
| |
| #define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */ |
| #define EVAL_OFFSET_Y 10 |
| |
| #include "gui_beval.pro" |
| |
| #endif /* GUI_BEVAL_H and FEAT_BEVAL */ |