aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c')
-rw-r--r--nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c277
1 files changed, 0 insertions, 277 deletions
diff --git a/nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c b/nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c
deleted file mode 100644
index a8adf353f..000000000
--- a/nx-X11/programs/Xserver/hw/sun/sunMultiDepth.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/* $Xorg: sunMultiDepth.c,v 1.4 2001/02/09 02:04:44 xorgcvs Exp $ */
-/*
-
-Copyright 1992, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-/* $XFree86: xc/programs/Xserver/hw/sun/sunMultiDepth.c,v 1.5 2001/01/17 22:36:51 dawes Exp $ */
-
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include "servermd.h"
-#include "scrnintstr.h"
-#include "pixmapstr.h"
-#include "resource.h"
-#include "colormap.h"
-#include "colormapst.h"
-#include "mi.h"
-#include "mistruct.h"
-#include "dix.h"
-#include "gcstruct.h"
-#include "mibstore.h"
-
-#ifndef SINGLEDEPTH
-
-static Bool
-sunCfbCreateGC(pGC)
- GCPtr pGC;
-{
- if (pGC->depth == 1)
- {
- return mfbCreateGC (pGC);
- }
- else if (pGC->depth <= 8)
- {
- return cfbCreateGC (pGC);
- }
- else if (pGC->depth <= 16)
- {
- return cfb16CreateGC (pGC);
- }
- else if (pGC->depth <= 32)
- {
- return cfb32CreateGC (pGC);
- }
- return FALSE;
-}
-
-static void
-sunCfbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart)
- DrawablePtr pDrawable; /* drawable from which to get bits */
- int wMax; /* largest value of all *pwidths */
- register DDXPointPtr ppt; /* points to start copying from */
- int *pwidth; /* list of number of bits to copy */
- int nspans; /* number of scanlines to copy */
- char *pdstStart; /* where to put the bits */
-{
- switch (pDrawable->bitsPerPixel) {
- case 1:
- mfbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
- break;
- case 8:
- cfbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
- break;
- case 16:
- cfb16GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
- break;
- case 32:
- cfb32GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
- break;
- }
- return;
-}
-
-static void
-sunCfbGetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine)
- DrawablePtr pDrawable;
- int sx, sy, w, h;
- unsigned int format;
- unsigned long planeMask;
- char *pdstLine;
-{
- switch (pDrawable->bitsPerPixel)
- {
- case 1:
- mfbGetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
- break;
- case 8:
- cfbGetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
- break;
- case 16:
- cfb16GetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
- break;
- case 32:
- cfb32GetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
- break;
- }
-}
-
-Bool
-sunCfbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp; /* bits per pixel of root */
-{
- extern int cfbWindowPrivateIndex;
- extern int cfbGCPrivateIndex;
- int ret;
-
- sunRegisterPixmapFormat( /* depth */ 1, /* bits per pixel */ 1);
- sunRegisterPixmapFormat( /* depth */ 8, /* bits per pixel */ 8);
- sunRegisterPixmapFormat( /* depth */ 12, /* bits per pixel */ 16);
- sunRegisterPixmapFormat( /* depth */ 24, /* bits per pixel */ 32);
-
- switch (bpp) {
- case 8:
- ret = cfbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width);
- break;
- case 16:
- ret = cfb16SetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width);
- break;
- case 32:
- ret = cfb32SetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width);
- break;
- default:
- return FALSE;
- }
- pScreen->CreateGC = sunCfbCreateGC;
- pScreen->GetImage = sunCfbGetImage;
- pScreen->GetSpans = sunCfbGetSpans;
- return ret;
-}
-
-extern BSFuncRec cfbBSFuncRec, cfb16BSFuncRec, cfb32BSFuncRec;
-extern int cfb16ScreenPrivateIndex, cfb32ScreenPrivateIndex;
-extern Bool cfbCloseScreen(), cfb16CloseScreen(), cfb32CloseScreen();
-
-Bool
-sunCfbFinishScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp;
-{
- int i;
- pointer oldDevPrivate;
- VisualPtr visuals;
- int nvisuals;
- DepthPtr depths;
- int ndepths;
- VisualID defaultVisual;
- int rootdepth;
-
- if (!cfbInitVisuals(&visuals, &depths, &nvisuals, &ndepths,
- &rootdepth, &defaultVisual, 1 << (bpp - 1), 8))
- return FALSE;
- oldDevPrivate = pScreen->devPrivate;
- if (! miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width,
- rootdepth, ndepths, depths,
- defaultVisual, nvisuals, visuals))
- return FALSE;
- switch (bpp)
- {
- case 8:
- pScreen->CloseScreen = cfbCloseScreen;
- pScreen->BackingStoreFuncs = cfbBSFuncRec;
- break;
- case 16:
- pScreen->CloseScreen = cfb16CloseScreen;
- pScreen->devPrivates[cfb16ScreenPrivateIndex].ptr =
- pScreen->devPrivate;
- pScreen->devPrivate = oldDevPrivate;
- pScreen->BackingStoreFuncs = cfb16BSFuncRec;
- break;
- case 32:
- pScreen->CloseScreen = cfb32CloseScreen;
- pScreen->devPrivates[cfb32ScreenPrivateIndex].ptr =
- pScreen->devPrivate;
- pScreen->devPrivate = oldDevPrivate;
- pScreen->BackingStoreFuncs = cfb32BSFuncRec;
- break;
- }
- return TRUE;
-}
-
-
-Bool
-sunCfbScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp;
-{
- if (!sunCfbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy,
- width, bpp))
- return FALSE;
- return sunCfbFinishScreenInit(pScreen, pbits, xsize, ysize, dpix,
- dpiy, width, bpp);
-}
-
-
-#else /* SINGLEDEPTH */
-
-/* stuff for 8-bit only server */
-
-Bool
-sunCfbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp; /* bits per pixel of root */
-{
- sunRegisterPixmapFormat( /* depth */ 1, /* bits per pixel */ 1);
- sunRegisterPixmapFormat( /* depth */ 8, /* bits per pixel */ 8);
- return cfbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy,
- width);
-}
-
-Bool
-sunCfbFinishScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp;
-{
- return cfbFinishScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy,
- width);
-}
-
-Bool
-sunCfbScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)
- register ScreenPtr pScreen;
- pointer pbits; /* pointer to screen bitmap */
- int xsize, ysize; /* in pixels */
- int dpix, dpiy; /* dots per inch */
- int width; /* pixel width of frame buffer */
- int bpp;
-{
- sunRegisterPixmapFormat( /* depth */ 1, /* bits per pixel */ 1);
- sunRegisterPixmapFormat( /* depth */ 8, /* bits per pixel */ 8);
- return cfbScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width);
-}
-
-#endif /* SINGLEDEPTH */