Mercurial > vim
view src/gui_beval.h @ 9885:4e8b05fa12c6 v7.4.2217
commit https://github.com/vim/vim/commit/4f416e41243ca151b95d39d81ce23d00b1484755
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 16 16:08:18 2016 +0200
patch 7.4.2217
Problem: When using matchaddpos() a character after the end of the line can
be highlighted.
Solution: Only highlight existing characters. (Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 16 Aug 2016 16:15:06 +0200 |
parents | 3456e2ebebd4 |
children | 4aead6a9b7a9 |
line wrap: on
line source
/* 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 */