Commit 8987b2c1 authored by Keith Packard's avatar Keith Packard

Make more extensions optional in build (for kdrive). Fix kdrive build for

    actual hardware. Fix kdrive pointer signed/unsigned types. Add
    kdrive-required YX rotation functions. Replace rgb text file loading
    with static rgb color table.
parent c8acb342
2006-02-15 Keith Packard <keithp@keithp.com>
* Makefile.am:
* Xext/Makefile.am:
* configure.ac:
* hw/kdrive/chips/Makefile.am:
* hw/kdrive/epson/Makefile.am:
* hw/kdrive/fbdev/Makefile.am:
* hw/kdrive/fbdev/fbdev.c: (fbdevInitialize):
* hw/kdrive/i810/Makefile.am:
* hw/kdrive/linux/mouse.c: (ps2Init):
* hw/kdrive/linux/ms.c: (MsRead):
* hw/kdrive/linux/ps2.c: (Ps2Read):
* hw/kdrive/mach64/Makefile.am:
* hw/kdrive/mga/Makefile.am:
* hw/kdrive/nvidia/Makefile.am:
* hw/kdrive/pm2/Makefile.am:
* hw/kdrive/r128/Makefile.am:
* hw/kdrive/sdl/Makefile.am:
* hw/kdrive/smi/Makefile.am:
* hw/kdrive/src/kaa.c: (kaaMoveInPixmap):
* hw/kdrive/src/kinput.c: (KdKeybdProc):
* hw/kdrive/vesa/Makefile.am:
* hw/kdrive/via/Makefile.am:
* include/kdrive-config.h.in:
* miext/damage/damage.c: (DamageSetup):
* miext/shadow/Makefile.am:
* miext/shadow/shadow.h:
* miext/shadow/shrot16pack_270YX.c:
* miext/shadow/shrot16pack_90YX.c:
* os/oscolor.c: (OsToLower), (OsStrCaseCmp), (OsInitColors),
(OsLookupColor):
* os/osdep.h:
* os/utils.c:
Make more extensions optional in build (for kdrive).
Fix kdrive build for actual hardware.
Fix kdrive pointer signed/unsigned types.
Add kdrive-required YX rotation functions.
Replace rgb text file loading with static rgb color table.
2006-02-16 Benjamin Herrenschmidt <benh@kernel.crashing.org>
* hw/xfree86/ramdac/xf86Cursor.c:
......
......@@ -35,6 +35,14 @@ if LBX
LBX_DIR=lbx
endif
if XINPUT
XINPUT_DIR=Xi
endif
if DBE
DBE_DIR=dbe
endif
SUBDIRS = \
doc \
include \
......@@ -46,9 +54,9 @@ SUBDIRS = \
os \
randr \
render \
Xi \
$(XINPUT_DIR) \
xkb \
dbe \
$(DBE_DIR) \
$(MFB_DIR) \
$(AFB_DIR) \
$(CFB_DIR) \
......
......@@ -4,7 +4,11 @@
# Xorg by default
# libXextmodule.la: includes those extensions that are built into a module
# that Xorg loads
if XORG
noinst_LTLIBRARIES = libXext.la libXextbuiltin.la libXextmodule.la
else
noinst_LTLIBRARIES = libXext.la
endif
INCLUDES = -I$(top_srcdir)/hw/xfree86/dixmods/extmod
......@@ -22,8 +26,7 @@ BUILTIN_SRCS = \
xtest.c \
xtest1di.c \
xtest1dd.c \
xtest1dd.h \
xf86bigfont.c
xtest1dd.h
# Sources always included in libXextmodule.la & libXext.la
MODULE_SRCS = \
......@@ -31,9 +34,7 @@ MODULE_SRCS = \
mitmisc.c \
shape.c \
sync.c \
xcmisc.c \
dpms.c \
dpmsproc.h
xcmisc.c
# Optional sources included if extension enabled by configure.ac rules
......@@ -123,13 +124,27 @@ if FONTCACHE
MODULE_SRCS += $(FONTCACHE_SRCS)
endif
# XF86 Big Font extension
BIGFONT_SRCS = xf86bigfont.c
if XF86BIGFONT
MODULE_SRCS += $(BIGFONT_SRCS)
endif
# DPMS extension
DPMS_SRCS = dpms.c dpmsproc.h
if DPMSExtension
MODULE_SRCS += $(DPMS_SRCS)
endif
# Now take all of the above, mix well, bake for 10 minutes and get libXext*.la
libXext_la_SOURCES = $(BUILTIN_SRCS) $(MODULE_SRCS)
if XORG
libXextbuiltin_la_SOURCES = $(BUILTIN_SRCS)
libXextmodule_la_SOURCES = $(MODULE_SRCS)
endif
EXTRA_DIST = \
README.xtest1-ddx \
......@@ -147,5 +162,7 @@ EXTRA_DIST = \
$(EVI_SRCS) \
$(MULTIBUFFER_SRCS) \
$(EXTRA_MULTIBUFFER_SRCS) \
$(FONTCACHE_SRCS)
$(FONTCACHE_SRCS) \
$(BIGFONT_SRCS) \
$(DPMS_SRCS)
......@@ -390,6 +390,9 @@ AC_ARG_ENABLE(evi, AS_HELP_STRING([--disable-evi], [Build Extended-Vi
AC_ARG_ENABLE(multibuffer, AS_HELP_STRING([--enable-multibuffer], [Build Multibuffer extension (default: disabled)]), [MULTIBUFFER=$enableval], [MULTIBUFFER=no])
AC_ARG_ENABLE(fontcache, AS_HELP_STRING([--enable-fontcache], [Build FontCache extension (default: disabled)]), [FONTCACHE=$enableval], [FONTCACHE=no])
AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled (sigh))]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes])
AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled (sigh))]), [DPMS=$enableval], [DPMSExtension=yes])
AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$ENABLEVAL], [XINPUT=yes])
dnl DDXes.
AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
......@@ -632,6 +635,16 @@ if test "x$DBE" = xyes; then
DBE_LIB='$(top_builddir)/dbe/libdbe.la'
fi
AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes])
if test "x$XF86BIGFONT" = xyes; then
AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension])
fi
AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes])
if test "x$DPMSExtension" = xyes; then
AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
fi
if test "x$XF86VIDMODE" = xyes; then
AC_DEFINE(XF86VIDMODE, 1, [Support XFree86 Video Mode extension])
fi
......@@ -671,9 +684,12 @@ if test "$COMPOSITE" = yes; then
fi
MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
AC_DEFINE(XINPUT, 1, [Support X Input extension])
XI_LIB='$(top_builddir)/Xi/libXi.la'
XI_INC='-I$(top_srcdir)/Xi'
AM_CONDITIONAL(XINPUT, [test "x$XINPUT" = xyes])
if test "x$XINPUT" = xyes; then
AC_DEFINE(XINPUT, 1, [Support X Input extension])
XI_LIB='$(top_builddir)/Xi/libXi.la'
XI_INC='-I$(top_srcdir)/Xi'
fi
AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
......@@ -1355,10 +1371,10 @@ AC_SUBST(KDRIVE_PURE_LIBS)
AC_SUBST(KDRIVE_LIBS)
AM_CONDITIONAL(TSLIB, false)
AM_CONDITIONAL(H3600_TS, false)
#AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
#AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
AM_CONDITIONAL(KDRIVEVESA, false)
AM_CONDITIONAL(KDRIVEFBDEV, false)
AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
#AM_CONDITIONAL(KDRIVEVESA, false)
#AM_CONDITIONAL(KDRIVEFBDEV, false)
AM_CONDITIONAL(XEPHYR, [test x"$xephyr" = xyes])
XEPHYR_LIBS="$XEPHYR_LIBS $XSERVER_LIBS"
......@@ -1401,9 +1417,7 @@ AC_SUBST(XKB_COMPILED_DIR)
dnl and the rest of these are generic, so they're in config.h
AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
AC_DEFINE(XF86BIGFONT, 1, [Build XFree86 BigFont extension])
AC_DEFINE(XResExtension, 1, [Build XRes extension])
AC_DEFINE(DPMSExtension, 1, [Build DPMS extension])
dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined
dnl _*_SOURCE on Solaris restricts to the standards, and removes non-standard
......
2006-02-15 Keith Packard <keithp@keithp.com>
* Makefile.am:
* ati.c: (ATIMapReg):
* ati.h:
* ati_cursor.c: (ATIMoveCursor), (ClassicSetCursorColors),
(ClassicLoadCursor), (RadeonLoadCursor), (ATIUnloadCursor):
Fix kdrive pointer signed/unsigned types.
2006-02-14 Eric Anholt <anholt@FreeBSD.org>
* ati_draw.c: (ATIDrawDisable):
......
......@@ -65,7 +65,8 @@ ATI_LIBS = \
Xati_LDADD = \
$(ATI_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xati_DEPENDENCIES = $(ATI_LIBS) @KDRIVE_LIBS@
Xati_DEPENDENCIES = $(ATI_LIBS)
......@@ -532,7 +532,7 @@ ATIScreenFini(KdScreenInfo *screen)
Bool
ATIMapReg(KdCardInfo *card, ATICardInfo *atic)
{
atic->reg_base = (CARD8 *)KdMapDevice(ATI_REG_BASE(card),
atic->reg_base = (char *)KdMapDevice(ATI_REG_BASE(card),
ATI_REG_SIZE(card));
if (atic->reg_base == NULL)
......
......@@ -139,7 +139,7 @@ typedef struct _ATICardInfo {
struct backend_funcs backend_funcs;
struct pci_id_entry *pci_id;
CARD8 *reg_base;
char *reg_base;
Bool is_radeon;
Bool is_r100;
Bool is_r200;
......
......@@ -37,7 +37,7 @@ ATIMoveCursor(ScreenPtr pScreen, int x, int y)
ATIScreenInfo(pScreenPriv);
ATICursor *pCurPriv = &atis->cursor;
CARD16 xoff, yoff;
CARD8 *mmio = atic->reg_base;
char *mmio = atic->reg_base;
int stride = atic->is_radeon ? 256 : 16;
if (!pCurPriv->has_cursor)
......@@ -99,7 +99,7 @@ ClassicSetCursorColors(ScreenPtr pScreen)
ATICardInfo(pScreenPriv);
ATIScreenInfo(pScreenPriv);
ATICursor *pCurPriv = &atis->cursor;
CARD8 *mmio = atic->reg_base;
char *mmio = atic->reg_base;
MMIO_OUT32(mmio, ATI_REG_CUR_CLR0, pCurPriv->mask);
MMIO_OUT32(mmio, ATI_REG_CUR_CLR1, pCurPriv->source);
......@@ -154,7 +154,7 @@ ClassicLoadCursor(ScreenPtr pScreen)
int i;
int lwsrc;
CARD32 tmp;
CARD8 *mmio = atic->reg_base;
char *mmio = atic->reg_base;
ClassicAllocCursorColors(pScreen);
......@@ -243,7 +243,7 @@ RadeonLoadCursor(ScreenPtr pScreen)
CARD32 *ram, *msk, *mskLine, *src, *srcLine;
int lwsrc;
CARD32 tmp;
CARD8 *mmio = atic->reg_base;
char *mmio = atic->reg_base;
pCurPriv->pCursor = pCursor;
pCurPriv->xhot = pCursor->bits->xhot;
......@@ -351,7 +351,7 @@ ATIUnloadCursor(ScreenPtr pScreen)
{
KdScreenPriv(pScreen);
ATICardInfo(pScreenPriv);
CARD8 *mmio = atic->reg_base;
char *mmio = atic->reg_base;
CARD32 tmp;
tmp = MMIO_IN32(mmio, ATI_REG_GEN_CNTL);
......
......@@ -27,6 +27,7 @@ CHIPS_LIBS = \
Xchips_LDADD = \
$(CHIPS_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xchips_DEPENDENCIES = $(CHIPS_LIBS) @KDRIVE_LIBS@
......@@ -27,6 +27,7 @@ EPSON_LIBS = \
Xepson_LDADD = \
$(EPSON_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xepson_DEPENDENCIES = $(EPSON_LIBS) @KDRIVE_LIBS@
......@@ -20,7 +20,7 @@ Xfbdev_SOURCES = \
Xfbdev_LDADD = \
libfbdev.a \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xfbdev_DEPENDENCIES = \
......
......@@ -58,11 +58,11 @@ fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
return FALSE;
}
priv->fb_base = (unsigned char *) mmap ((caddr_t) NULL,
priv->fix.smem_len,
PROT_READ|PROT_WRITE,
MAP_SHARED,
priv->fd, 0);
priv->fb_base = (char *) mmap ((caddr_t) NULL,
priv->fix.smem_len,
PROT_READ|PROT_WRITE,
MAP_SHARED,
priv->fd, 0);
if (priv->fb_base == (char *)-1)
{
......
......@@ -29,6 +29,7 @@ I810_LIBS = \
Xi810_LDADD = \
$(I810_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xi810_DEPENDENCIES = $(I810_LIBS) @KDRIVE_LIBS@
......@@ -491,7 +491,7 @@ ps2Init (KdMouseInfo *mi)
int ninit;
/* Send Intellimouse initialization sequence */
MouseWriteBytes (km->iob.fd, intelli_init, strlen (intelli_init), 100);
MouseWriteBytes (km->iob.fd, intelli_init, strlen ((char *) intelli_init), 100);
/*
* Send ID command
*/
......@@ -518,7 +518,7 @@ ps2Init (KdMouseInfo *mi)
break;
}
if (init)
MouseWriteBytes (km->iob.fd, init, strlen (init), 100);
MouseWriteBytes (km->iob.fd, init, strlen ((char *) init), 100);
/*
* Flush out the available data to eliminate responses to the
* initialization string. Make sure any partial event is
......
......@@ -74,7 +74,7 @@ MsRead (int port, void *closure)
int dx, dy;
unsigned long flags;
while ((n = MsReadBytes (port, buf, sizeof (buf), 3)) > 0)
while ((n = MsReadBytes (port, (char *) buf, sizeof (buf), 3)) > 0)
{
b = buf;
while (n >= 3)
......
......@@ -90,7 +90,7 @@ Ps2Read (int ps2Port, void *closure)
right_button = KD_BUTTON_1;
}
#endif
while ((n = Ps2ReadBytes (ps2Port, buf, sizeof (buf), 3)) > 0)
while ((n = Ps2ReadBytes (ps2Port, (char *) buf, sizeof (buf), 3)) > 0)
{
b = buf;
while (n >= 3)
......
......@@ -30,7 +30,7 @@ MACH64_LIBS = \
Xmach64_LDADD = \
$(MACH64_LIBS) \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
......
......@@ -29,6 +29,7 @@ MGA_LIBS = \
Xmga_LDADD = \
$(MGA_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xmga_DEPENDENCIES = $(MGA_LIBS) @KDRIVE_LIBS@
2006-02-15 Keith Packard <keithp@keithp.com>
* Makefile.am:
Add XSERVER_LIBS to build in xorg tree
2005-08-07 Keith Packard <keithp@keithp.com>
* neo_draw.c:
......
......@@ -41,7 +41,7 @@ NEOMAGIC_LIBS = \
Xneomagic_LDADD = \
$(NEOMAGIC_LIBS) \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xneomagic_DEPENDENCIES = $(NEOMAGIC_LIBS) @KDRIVE_LIBS@
......@@ -30,7 +30,7 @@ NVIDIA_LIBS = \
Xnvidia_LDADD = \
$(NVIDIA_LIBS) \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xnvidia_DEPENDENCIES = $(NVIDIA_LIBS) @KDRIVE_LIBS@
......@@ -28,6 +28,7 @@ PM2_LIBS = \
Xpm2_LDADD = \
$(PM2_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xpm2_DEPENDENCIES = $(PM2_LIBS) @KDRIVE_LIBS@
......@@ -27,6 +27,7 @@ R128_LIBS = \
Xr128_LDADD = \
$(R128_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xr128_DEPENDENCIES = $(R128_LIBS) @KDRIVE_LIBS@
......@@ -13,6 +13,7 @@ Xsdl_SOURCES = sdl.c
Xsdl_LDADD = @KDRIVE_PURE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG) \
@XSDL_LIBS@
......
......@@ -32,6 +32,7 @@ SMI_LIBS = \
Xsmi_LDADD = \
$(SMI_LIBS) \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xsmi_DEPENDENCIES = $(SMI_LIBS) @KDRIVE_LIBS@
......@@ -192,7 +192,7 @@ kaaMoveInPixmap (PixmapPtr pPixmap)
if (pKaaScr->info->UploadToScreen)
{
if (pKaaScr->info->UploadToScreen(pPixmap, src, src_pitch))
if (pKaaScr->info->UploadToScreen(pPixmap, (char *) src, src_pitch))
return;
}
......
......@@ -39,7 +39,6 @@
#include <stdio.h>
#ifdef XKB
#define XKB_IN_SERVER
#include <X11/extensions/XKBsrv.h>
#endif
......@@ -457,7 +456,7 @@ KdKeybdProc(DeviceIntPtr pDevice, int onoff)
names.keymap = XkbInitialMap;
XkbSetRulesDflts ("base", "pc101", "us", NULL, NULL);
ret = XkbInitKeyboardDeviceStruct (pDev,
ret = XkbInitKeyboardDeviceStruct ((DeviceIntPtr) pDev,
&names,
&kdKeySyms,
kdModMap,
......
......@@ -28,7 +28,8 @@ Xvesa_LDADD = \
libvesa.a \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
$(TSLIB_FLAG)
$(TSLIB_FLAG) \
@XSERVER_LIBS@
Xvesa_DEPENDENCIES = \
libvesa.a \
......
......@@ -28,7 +28,7 @@ VIA_LIBS = \
Xvia_LDADD = \
$(VIA_LIBS) \
@KDRIVE_LIBS@ \
@KDRIVE_LIBS@ \
@XSERVER_LIBS@ \
$(TSLIB_FLAG)
Xvia_DEPENDENCIES = $(VIA_LIBS) @KDRIVE_LIBS@
......@@ -10,4 +10,16 @@
/* Building kdrive server. */
#undef KDRIVESERVER
#endif /* _XORG_CONFIG_H_ */
/* Include framebuffer support in X servers */
#undef KDRIVEFBDEV
/* Include vesa support in X servers */
#undef KDRIVEVESA
/* Enable touchscreen support */
#undef TOUCHSCREEN
/* Support tslib touchscreen abstraction library */
#undef TSLIB
#endif /* _KDRIVE_CONFIG_H_ */
......@@ -1773,6 +1773,7 @@ DamageSetup (ScreenPtr pScreen)
if (!pScrPriv)
return FALSE;
#ifdef XFree86Server
#ifdef COMPOSITE
/* This is a kludge to ensure wrapping order with the composite wrapper.
* If it's done from compinit.c, then DamageSetup may be called before the
......@@ -1781,6 +1782,7 @@ DamageSetup (ScreenPtr pScreen)
*/
if (!noCompositeExtension)
miInitializeCompositeWrapper (pScreen);
#endif
#endif
pScrPriv->internalLevel = 0;
......
......@@ -17,7 +17,9 @@ libshadow_la_SOURCES = \
shplanar.c \
shrot16pack_180.c \
shrot16pack_270.c \
shrot16pack_270YX.c \
shrot16pack_90.c \
shrot16pack_90YX.c \
shrot16pack.c \
shrot32pack_180.c \
shrot32pack_270.c \
......@@ -28,4 +30,5 @@ libshadow_la_SOURCES = \
shrot8pack_90.c \
shrot8pack.c \
shrotate.c \
shrotpack.h
shrotpack.h \
shrotpackYX.h
......@@ -128,6 +128,10 @@ void
shadowUpdateRotate16_90 (ScreenPtr pScreen,
shadowBufPtr pBuf);
void
shadowUpdateRotate16_90YX (ScreenPtr pScreen,
shadowBufPtr pBuf);
void
shadowUpdateRotate32_90 (ScreenPtr pScreen,
shadowBufPtr pBuf);
......@@ -152,10 +156,18 @@ void
shadowUpdateRotate16_270 (ScreenPtr pScreen,
shadowBufPtr pBuf);
void
shadowUpdateRotate16_270YX (ScreenPtr pScreen,
shadowBufPtr pBuf);
void
shadowUpdateRotate32_270 (ScreenPtr pScreen,
shadowBufPtr pBuf);
void
shadowUpdateRotate16 (ScreenPtr pScreen,
shadowBufPtr pBuf);
typedef void (* shadowUpdateProc)(ScreenPtr, shadowBufPtr);
shadowUpdateProc shadowUpdatePackedWeak(void);
......
/*
* $Id$
*
* Copyright 2000 Keith Packard
*
* 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, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#define FUNC shadowUpdateRotate16_270YX
#define Data CARD16
#define ROTATE 270
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
#include "shrotpackYX.h"
/*
* $Id$
*
* Copyright 2000 Keith Packard
*
* 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, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#define FUNC shadowUpdateRotate16_90YX
#define Data CARD16
#define ROTATE 90
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
#include "shrotpackYX.h"
......@@ -51,6 +51,101 @@ SOFTWARE.
#include <dix-config.h>
#endif
#define USE_RGB_BUILTIN 1
#if USE_RGB_BUILTIN
#include <X11/keysym.h>
#include "os.h"
static unsigned char
OsToLower (unsigned char a)
{
if ((a >= XK_A) && (a <= XK_Z))
return a + (XK_a - XK_A);
else if ((a >= XK_Agrave) && (a <= XK_Odiaeresis))
return a + (XK_agrave - XK_Agrave);
else if ((a >= XK_Ooblique) && (a <= XK_Thorn))
return a + (XK_oslash - XK_Ooblique);
else
return a;
}
static int
OsStrCaseCmp (const unsigned char *s1, const unsigned char *s2, int l2)
{
unsigned char c1, c2;
for (;;)
{
c1 = OsToLower (*s1++);
if (l2 == 0)
c2 = '\0';
else
c2 = OsToLower (*s2++);
if (!c1 || !c2)
break;
if (c1 != c2)
break;
l2--;
}
return c2 - c1;
}