diff options
author | Keith Packard <keithp@keithp.com> | 2014-03-31 23:55:25 -0700 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-04-01 10:30:42 -0700 |
commit | 73698d41e41ce76bef2d9a90b46ac0c24ae148dd (patch) | |
tree | 5b3071927bc4315321cc9872361b5763caf3806c /include | |
parent | 9d20d18fb9dcc74bfa5392a2da40fd41b3e640d3 (diff) |
Make XYToWindow a screen function
This allows DDXen to override the window picking to account for
native windows not seen by the X server. The bulk of the picking logic
is exposed as a new helper function, miSpriteTrace(). This function
completes the sprite trace filled out by the caller, and can be set up
to start the search from a given toplevel window.
v2: Leave existing XYToWindow API in place for API compatibility
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/input.h | 1 | ||||
-rw-r--r-- | include/scrnintstr.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/input.h b/include/input.h index 36463f2d1..cbf949b53 100644 --- a/include/input.h +++ b/include/input.h @@ -607,6 +607,7 @@ extern int GetXI2MaskByte(XI2Mask *mask, DeviceIntPtr dev, int event_type); void FixUpEventFromWindow(SpritePtr pSprite, xEvent *xE, WindowPtr pWin, Window child, Bool calcChild); +extern Bool PointInBorderSize(WindowPtr pWin, int x, int y); extern WindowPtr XYToWindow(SpritePtr pSprite, int x, int y); extern int EventIsDeliverable(DeviceIntPtr dev, int evtype, WindowPtr win); extern Bool ActivatePassiveGrab(DeviceIntPtr dev, GrabPtr grab, diff --git a/include/scrnintstr.h b/include/scrnintstr.h index 86da78966..5197c79f5 100644 --- a/include/scrnintstr.h +++ b/include/scrnintstr.h @@ -353,6 +353,9 @@ typedef Bool (*StopPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr); typedef Bool (*ReplaceScanoutPixmapProcPtr)(DrawablePtr, PixmapPtr, Bool); +typedef WindowPtr (*XYToWindowProcPtr)(ScreenPtr pScreen, + SpritePtr pSprite, int x, int y); + typedef struct _Screen { int myNum; /* index of this instance in Screens[] */ ATOM id; @@ -513,6 +516,7 @@ typedef struct _Screen { struct xorg_list offload_head; ReplaceScanoutPixmapProcPtr ReplaceScanoutPixmap; + XYToWindowProcPtr XYToWindow; } ScreenRec; static inline RegionPtr |