summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c')
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c b/xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c
new file mode 100644
index 000000000..d1dece31b
--- /dev/null
+++ b/xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c
@@ -0,0 +1,59 @@
+/* **********************************************************
+ * Copyright (C) 1998-2001 VMware, Inc.
+ * All Rights Reserved
+ * **********************************************************/
+#ifdef VMX86_DEVEL
+char rcsId_vmwareimage[] =
+
+ "Id: vmwareimage.c,v 1.3 2001/01/26 23:32:16 yoel Exp $";
+#endif
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/vmwareimage.c,v 1.1 2001/04/05 19:29:44 dawes Exp $ */
+
+#include "vmware.h"
+
+/*
+ * vmwarePutImage does not optimize ops because a downstream call is made
+ * to CopyArea.
+ */
+
+static __inline void
+vmwareImageToBox(BoxPtr BB, DrawablePtr pDrawable, int x, int y, int w, int h)
+{
+ BB->x2 = (BB->x1 = pDrawable->x + x) + w;
+ BB->y2 = (BB->y1 = pDrawable->y + y) + h;
+}
+
+void
+vmwarePutImage(DrawablePtr pDrawable,
+ GCPtr pGC,
+ int depth,
+ int x, int y, int w, int h, int leftPad, int format, char *pImage)
+{
+ TRACEPOINT
+
+ GC_FUNC_WRAPPER(pDrawable->type == DRAWABLE_WINDOW,
+ pGC->pScreen,
+ vmwareImageToBox(&BB, pDrawable, x, y, w, h),
+ GC_OPS(pGC)->PutImage(pDrawable, pGC, depth, x, y,
+ w, h, leftPad, format, pImage));
+}
+
+void
+vmwareGetImage(DrawablePtr pDrawable,
+ int x,
+ int y,
+ int w,
+ int h, unsigned int format, unsigned long planeMask, char *pBinImage)
+{
+ VMWAREPtr pVMWARE = VMWAREPTR(infoFromScreen(pDrawable->pScreen));
+
+ TRACEPOINT
+
+ VM_FUNC_WRAPPER(pDrawable->type == DRAWABLE_WINDOW,
+ vmwareImageToBox(&BB, pDrawable, x, y, w, h),
+ pVMWARE->ScrnFuncs.GetImage(pDrawable, x, y, w, h, format, planeMask, pBinImage));
+}
+
+
+
+