diff options
Diffstat (limited to 'mi/miwindow.c')
-rw-r--r-- | mi/miwindow.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/mi/miwindow.c b/mi/miwindow.c index 4eac9226c..ede327204 100644 --- a/mi/miwindow.c +++ b/mi/miwindow.c @@ -55,6 +55,17 @@ SOFTWARE. #include "pixmapstr.h" #include "mivalidate.h" +#ifdef LG3D +#include "../Xext/lgeint.h" + +extern void lg3dMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pNextSib, + VTKind kind); + +extern void lg3dSlideAndSizeWindow (WindowPtr pWin, int x, int y, + unsigned int w, unsigned int h, WindowPtr pSib); + +#endif /* LG3D */ + void miClearToBackground(pWin, x, y, w, h, generateExposures) WindowPtr pWin; @@ -503,6 +514,18 @@ miMoveWindow(pWin, x, y, pNextSib, kind) #endif WindowPtr pLayerWin; +#ifdef LG3D + /* + ** TODO: I tried to do this with wrappers but it didn't work. + ** Is there a better way to override this function other than + ** just directly modifying it? + */ + if (lgeDisplayServerIsAlive) { + lg3dMoveWindow(pWin, x, y, pNextSib, kind); + return; + } +#endif /* LG3D */ + /* if this is a root window, can't be moved */ if (!(pParent = pWin->parent)) return ; @@ -637,6 +660,18 @@ miSlideAndSizeWindow(pWin, x, y, w, h, pSib) #endif WindowPtr pLayerWin; +#ifdef LG3D + /* + ** TODO: I tried to do this with wrappers but it didn't work. + ** Is there a better way to override this function other than + ** just directly modifying it? + */ + if (lgeDisplayServerIsAlive) { + lg3dSlideAndSizeWindow(pWin, x, y, w, h, pSib); + return; + } +#endif /* LG3D */ + /* if this is a root window, can't be resized */ if (!(pParent = pWin->parent)) return ; |