diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-06-01 15:06:53 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-06-01 15:06:53 -0700 |
commit | af1b96b3d2dd4c7fb3d15b278e2fbbb6bcc9065e (patch) | |
tree | 85b35c3323dcd68ee5fcebf33cfb98158b2c97f5 /xorg/X11R7.6/rdp | |
parent | 60b052965634be151d88f7011149d0edc71f23d8 (diff) | |
download | xrdp-proprietary-af1b96b3d2dd4c7fb3d15b278e2fbbb6bcc9065e.tar.gz xrdp-proprietary-af1b96b3d2dd4c7fb3d15b278e2fbbb6bcc9065e.zip |
xorg: wrap window functions
Diffstat (limited to 'xorg/X11R7.6/rdp')
-rw-r--r-- | xorg/X11R7.6/rdp/rdp.h | 15 | ||||
-rw-r--r-- | xorg/X11R7.6/rdp/rdpdraw.c | 87 | ||||
-rw-r--r-- | xorg/X11R7.6/rdp/rdpmain.c | 10 |
3 files changed, 110 insertions, 2 deletions
diff --git a/xorg/X11R7.6/rdp/rdp.h b/xorg/X11R7.6/rdp/rdp.h index 5cd84a5d..0da7d967 100644 --- a/xorg/X11R7.6/rdp/rdp.h +++ b/xorg/X11R7.6/rdp/rdp.h @@ -128,6 +128,11 @@ struct _rdpScreenInfoRec /* Window Procedures */ CreateWindowProcPtr CreateWindow; DestroyWindowProcPtr DestroyWindow; + PositionWindowProcPtr PositionWindow; + RealizeWindowProcPtr RealizeWindow; + UnrealizeWindowProcPtr UnrealizeWindow; + ChangeWindowAttributesProcPtr ChangeWindowAttributes; + WindowExposuresProcPtr WindowExposures; CreateColormapProcPtr CreateColormap; DestroyColormapProcPtr DestroyColormap; @@ -252,6 +257,16 @@ Bool rdpCreateWindow(WindowPtr pWindow); Bool rdpDestroyWindow(WindowPtr pWindow); +Bool +rdpPositionWindow(WindowPtr pWindow, int x, int y); +Bool +rdpRealizeWindow(WindowPtr pWindow); +Bool +rdpUnrealizeWindow(WindowPtr pWindow); +Bool +rdpChangeWindowAttributes(WindowPtr pWindow, unsigned long mask); +void +rdpWindowExposures(WindowPtr pWindow, RegionPtr pRegion, RegionPtr pBSRegion); Bool rdpCreateGC(GCPtr pGC); diff --git a/xorg/X11R7.6/rdp/rdpdraw.c b/xorg/X11R7.6/rdp/rdpdraw.c index f35e4de1..7cc7c66a 100644 --- a/xorg/X11R7.6/rdp/rdpdraw.c +++ b/xorg/X11R7.6/rdp/rdpdraw.c @@ -452,7 +452,7 @@ rdpCreateWindow(WindowPtr pWindow) rdpWindowRec* priv; Bool rv; - //ErrorF("rdpCreateWindow:\n"); + ErrorF("rdpCreateWindow:\n"); priv = GETWINPRIV(pWindow); //ErrorF(" %p status %d\n", priv, priv->status); pScreen = pWindow->drawable.pScreen; @@ -470,7 +470,7 @@ rdpDestroyWindow(WindowPtr pWindow) rdpWindowRec* priv; Bool rv; - //ErrorF("rdpDestroyWindow:\n"); + ErrorF("rdpDestroyWindow:\n"); priv = GETWINPRIV(pWindow); pScreen = pWindow->drawable.pScreen; pScreen->DestroyWindow = g_rdpScreen.DestroyWindow; @@ -481,6 +481,89 @@ rdpDestroyWindow(WindowPtr pWindow) /******************************************************************************/ Bool +rdpPositionWindow(WindowPtr pWindow, int x, int y) +{ + ScreenPtr pScreen; + rdpWindowRec* priv; + Bool rv; + + ErrorF("rdpPositionWindow:\n"); + priv = GETWINPRIV(pWindow); + pScreen = pWindow->drawable.pScreen; + pScreen->PositionWindow = g_rdpScreen.PositionWindow; + rv = pScreen->PositionWindow(pWindow, x, y); + pScreen->PositionWindow = rdpPositionWindow; + return rv; +} + +/******************************************************************************/ +Bool +rdpRealizeWindow(WindowPtr pWindow) +{ + ScreenPtr pScreen; + rdpWindowRec* priv; + Bool rv; + + ErrorF("rdpRealizeWindow:\n"); + priv = GETWINPRIV(pWindow); + pScreen = pWindow->drawable.pScreen; + pScreen->RealizeWindow = g_rdpScreen.RealizeWindow; + rv = pScreen->RealizeWindow(pWindow); + pScreen->RealizeWindow = rdpRealizeWindow; + return rv; +} + +/******************************************************************************/ +Bool +rdpUnrealizeWindow(WindowPtr pWindow) +{ + ScreenPtr pScreen; + rdpWindowRec* priv; + Bool rv; + + ErrorF("rdpUnrealizeWindow:\n"); + priv = GETWINPRIV(pWindow); + pScreen = pWindow->drawable.pScreen; + pScreen->UnrealizeWindow = g_rdpScreen.UnrealizeWindow; + rv = pScreen->UnrealizeWindow(pWindow); + pScreen->UnrealizeWindow = rdpUnrealizeWindow; + return rv; +} + +/******************************************************************************/ +Bool +rdpChangeWindowAttributes(WindowPtr pWindow, unsigned long mask) +{ + ScreenPtr pScreen; + rdpWindowRec* priv; + Bool rv; + + ErrorF("rdpChangeWindowAttributes:\n"); + priv = GETWINPRIV(pWindow); + pScreen = pWindow->drawable.pScreen; + pScreen->ChangeWindowAttributes = g_rdpScreen.ChangeWindowAttributes; + rv = pScreen->ChangeWindowAttributes(pWindow, mask); + pScreen->ChangeWindowAttributes = rdpChangeWindowAttributes; + return rv; +} + +/******************************************************************************/ +void +rdpWindowExposures(WindowPtr pWindow, RegionPtr pRegion, RegionPtr pBSRegion) +{ + ScreenPtr pScreen; + rdpWindowRec* priv; + + ErrorF("rdpWindowExposures:\n"); + priv = GETWINPRIV(pWindow); + pScreen = pWindow->drawable.pScreen; + pScreen->WindowExposures = g_rdpScreen.WindowExposures; + pScreen->WindowExposures(pWindow, pRegion, pBSRegion); + pScreen->WindowExposures = rdpWindowExposures; +} + +/******************************************************************************/ +Bool rdpCreateGC(GCPtr pGC) { rdpGCRec* priv; diff --git a/xorg/X11R7.6/rdp/rdpmain.c b/xorg/X11R7.6/rdp/rdpmain.c index b8b3840f..c453cb05 100644 --- a/xorg/X11R7.6/rdp/rdpmain.c +++ b/xorg/X11R7.6/rdp/rdpmain.c @@ -347,6 +347,11 @@ rdpScreenInit(int index, ScreenPtr pScreen, int argc, char** argv) /* Window Procedures */ g_rdpScreen.CreateWindow = pScreen->CreateWindow; g_rdpScreen.DestroyWindow = pScreen->DestroyWindow; + g_rdpScreen.ChangeWindowAttributes = pScreen->ChangeWindowAttributes; + g_rdpScreen.RealizeWindow = pScreen->RealizeWindow; + g_rdpScreen.UnrealizeWindow = pScreen->UnrealizeWindow; + g_rdpScreen.PositionWindow = pScreen->PositionWindow; + g_rdpScreen.WindowExposures = pScreen->WindowExposures; g_rdpScreen.CopyWindow = pScreen->CopyWindow; g_rdpScreen.ClearToBackground = pScreen->ClearToBackground; @@ -390,6 +395,11 @@ rdpScreenInit(int index, ScreenPtr pScreen, int argc, char** argv) /* Window Procedures */ pScreen->CreateWindow = rdpCreateWindow; pScreen->DestroyWindow = rdpDestroyWindow; + pScreen->ChangeWindowAttributes = rdpChangeWindowAttributes; + pScreen->RealizeWindow = rdpRealizeWindow; + pScreen->UnrealizeWindow = rdpUnrealizeWindow; + pScreen->PositionWindow = rdpPositionWindow; + pScreen->WindowExposures = rdpWindowExposures; } pScreen->CopyWindow = rdpCopyWindow; |