diff options
author | Francisco Jerez <currojerez@riseup.net> | 2010-02-24 23:17:59 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-03-16 09:51:08 -0400 |
commit | b8a3be5f34016b745e38cd53825a4e398c6127bc (patch) | |
tree | dda6762bf6ea8f1ce90c09dd6655212b4a346570 | |
parent | 67a8c659f25218904bae64aac6e98e326c90330b (diff) |
Add a ConfigNotify hook.
Executed from the ConfigureWindow request, right before sending
ConfigureNotify to the clients.
This commit breaks the ScreenRec ABI.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
-rw-r--r-- | dix/window.c | 3 | ||||
-rw-r--r-- | include/scrnintstr.h | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/dix/window.c b/dix/window.c index 2676a546a..c7201df09 100644 --- a/dix/window.c +++ b/dix/window.c @@ -2303,6 +2303,9 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client) return(Success); ActuallyDoSomething: + if (pWin->drawable.pScreen->ConfigNotify) + (*pWin->drawable.pScreen->ConfigNotify)(pWin, x, y, w, h, bw, pSib); + if (SubStrSend(pWin, pParent)) { memset(&event, 0, sizeof(xEvent)); diff --git a/include/scrnintstr.h b/include/scrnintstr.h index ab50e7a32..c42119d0d 100644 --- a/include/scrnintstr.h +++ b/include/scrnintstr.h @@ -399,6 +399,15 @@ typedef void (* PostChangeSaveUnderProcPtr)( WindowPtr /*pLayerWin*/, WindowPtr /*firstChild*/); +typedef void (* ConfigNotifyProcPtr)( + WindowPtr /*pWin*/, + int /*x*/, + int /*y*/, + int /*w*/, + int /*h*/, + int /*bw*/, + WindowPtr /*pSib*/); + typedef void (* MoveWindowProcPtr)( WindowPtr /*pWin*/, int /*x*/, @@ -581,6 +590,7 @@ typedef struct _Screen { MarkOverlappedWindowsProcPtr MarkOverlappedWindows; ChangeSaveUnderProcPtr ChangeSaveUnder; PostChangeSaveUnderProcPtr PostChangeSaveUnder; + ConfigNotifyProcPtr ConfigNotify; MoveWindowProcPtr MoveWindow; ResizeWindowProcPtr ResizeWindow; GetLayerWindowProcPtr GetLayerWindow; |