b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/hw/xfree86/xf4bpp/ppcGCstr.h,v 1.3 2003/02/18 21:29:59 tsi Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright IBM Corporation 1987,1988,1989
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * All Rights Reserved
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, and distribute this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose and without fee is hereby granted,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * provided that the above copyright notice appear in all copies and that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * both that copyright notice and this permission notice appear in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * supporting documentation, and that the name of IBM not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * used in advertising or publicity pertaining to distribution of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * software without specific, written prior permission.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/***********************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Copyright IBM Corporation 1988
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync All Rights Reserved
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission to use, copy, modify, and distribute this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdocumentation for any purpose and without fee is hereby granted,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncprovided that the above copyright notice appear in all copies and that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncboth that copyright notice and this permission notice appear in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsupporting documentation, and that the name of IBM not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncused in advertising or publicity pertaining to distribution of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsoftware without specific, written prior permission.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XConsortium: ppcGCstr.h /main/3 1996/02/21 17:57:42 kaleb $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef HAVE_XORG_CONFIG_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <xorg-config.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "gc.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mfb.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long planemask ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long fgPixel ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long bgPixel ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int fillStyle ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } ppcReducedRrop ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ************************************************************************ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* private field of GC */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* The next five (5) fields MUST CORRESPOND to
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * the fields of a "mfbPrivGC" struct
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ----- BEGINNING OF "DO-NOT-CHANGE" REGION -----
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char rop ; /* reduction of rasterop to 1 of 3 */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char ropOpStip ; /* rop for opaque stipple */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char ropFillArea ; /* == alu, rop, or ropOpStip */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char unused[sizeof(long) - 3];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync mfbFillAreaProcPtr FillArea; /* fills regions; look at the code */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ----- END OF "DO-NOT-CHANGE" REGION ----- */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ppcReducedRrop colorRrop ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync short lastDrawableType ; /* was last drawable a window or a pixmap? */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync short lastDrawableDepth ; /* was last drawable 1 or 8 planes? */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer devPriv ; /* Private area for device specific stuff */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } ppcPrivGC ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef ppcPrivGC *ppcPrivGCPtr ;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ppcCReduce.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid xf4bppGetReducedColorRrop(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ppcReducedRrop *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* vgaGC.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid xf4bppChangeGCtype(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ppcPrivGCPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);