summaryrefslogtreecommitdiffstats
path: root/src/beval.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/beval.h')
-rw-r--r--src/beval.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/beval.h b/src/beval.h
new file mode 100644
index 0000000..4332389
--- /dev/null
+++ b/src/beval.h
@@ -0,0 +1,95 @@
+/* vi:set ts=8 sts=4 sw=4 noet:
+ *
+ * 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(BEVAL__H) && (defined(FEAT_BEVAL) || defined(PROTO))
+#define 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_BEVAL_GUI
+# ifdef FEAT_GUI_GTK
+ GtkWidget *target; // widget we are monitoring
+ GtkWidget *balloonShell;
+ GtkWidget *balloonLabel;
+ unsigned int timerID; // timer for run
+ BeState showState; // tells us what's currently going on
+ int x;
+ int y;
+ unsigned int state; // Button/Modifier key state
+# else
+# if !defined(FEAT_GUI_MSWIN)
+ Widget target; // widget we are monitoring
+ Widget balloonShell;
+ Widget balloonLabel;
+ XtIntervalId timerID; // timer for run
+ BeState showState; // tells us what's 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 what's currently going on
+# endif
+# endif
+# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MSWIN)
+ Dimension screen_width; // screen width in pixels
+ Dimension screen_height; // screen height in pixels
+# endif
+ void (*msgCB)(struct BalloonEvalStruct *, int);
+ void *clientData; // For callback
+#endif
+
+ int ts; // tabstop setting for this buffer
+#ifdef FEAT_VARTABS
+ int *vts; // vartabstop setting for this buffer
+#endif
+ char_u *msg; // allocated: current text
+#ifdef FEAT_GUI_MSWIN
+ void *tofree;
+#endif
+#ifdef FEAT_GUI_HAIKU
+ int x;
+ int y;
+#endif
+} BalloonEval;
+
+#define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer
+#define EVAL_OFFSET_Y 10
+
+#ifdef FEAT_BEVAL_GUI
+# include "gui_beval.pro"
+#endif
+
+#endif // BEVAL__H and FEAT_BEVAL_GUI