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>
This commit is contained in:
Francisco Jerez 2010-02-24 23:17:59 +01:00 committed by Kristian Høgsberg
parent 67a8c659f2
commit b8a3be5f34
2 changed files with 13 additions and 0 deletions

View File

@ -2303,6 +2303,9 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
return(Success); return(Success);
ActuallyDoSomething: ActuallyDoSomething:
if (pWin->drawable.pScreen->ConfigNotify)
(*pWin->drawable.pScreen->ConfigNotify)(pWin, x, y, w, h, bw, pSib);
if (SubStrSend(pWin, pParent)) if (SubStrSend(pWin, pParent))
{ {
memset(&event, 0, sizeof(xEvent)); memset(&event, 0, sizeof(xEvent));

View File

@ -399,6 +399,15 @@ typedef void (* PostChangeSaveUnderProcPtr)(
WindowPtr /*pLayerWin*/, WindowPtr /*pLayerWin*/,
WindowPtr /*firstChild*/); WindowPtr /*firstChild*/);
typedef void (* ConfigNotifyProcPtr)(
WindowPtr /*pWin*/,
int /*x*/,
int /*y*/,
int /*w*/,
int /*h*/,
int /*bw*/,
WindowPtr /*pSib*/);
typedef void (* MoveWindowProcPtr)( typedef void (* MoveWindowProcPtr)(
WindowPtr /*pWin*/, WindowPtr /*pWin*/,
int /*x*/, int /*x*/,
@ -581,6 +590,7 @@ typedef struct _Screen {
MarkOverlappedWindowsProcPtr MarkOverlappedWindows; MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
ChangeSaveUnderProcPtr ChangeSaveUnder; ChangeSaveUnderProcPtr ChangeSaveUnder;
PostChangeSaveUnderProcPtr PostChangeSaveUnder; PostChangeSaveUnderProcPtr PostChangeSaveUnder;
ConfigNotifyProcPtr ConfigNotify;
MoveWindowProcPtr MoveWindow; MoveWindowProcPtr MoveWindow;
ResizeWindowProcPtr ResizeWindow; ResizeWindowProcPtr ResizeWindow;
GetLayerWindowProcPtr GetLayerWindow; GetLayerWindowProcPtr GetLayerWindow;