summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-03-31 23:55:25 -0700
committerKristian Høgsberg <krh@bitplanet.net>2014-04-01 10:30:42 -0700
commit73698d41e41ce76bef2d9a90b46ac0c24ae148dd (patch)
tree5b3071927bc4315321cc9872361b5763caf3806c /include
parent9d20d18fb9dcc74bfa5392a2da40fd41b3e640d3 (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.h1
-rw-r--r--include/scrnintstr.h4
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