1 | /*
|
---|
2 | * Copyright IBM Corporation 1987,1988,1989
|
---|
3 | *
|
---|
4 | * All Rights Reserved
|
---|
5 | *
|
---|
6 | * Permission to use, copy, modify, and distribute this software and its
|
---|
7 | * documentation for any purpose and without fee is hereby granted,
|
---|
8 | * provided that the above copyright notice appear in all copies and that
|
---|
9 | * both that copyright notice and this permission notice appear in
|
---|
10 | * supporting documentation, and that the name of IBM not be
|
---|
11 | * used in advertising or publicity pertaining to distribution of the
|
---|
12 | * software without specific, written prior permission.
|
---|
13 | *
|
---|
14 | * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
---|
15 | * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
---|
16 | * IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
---|
17 | * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
---|
18 | * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
---|
19 | * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
---|
20 | * SOFTWARE.
|
---|
21 | *
|
---|
22 | */
|
---|
23 |
|
---|
24 | #ifdef HAVE_XORG_CONFIG_H
|
---|
25 | #include <xorg-config.h>
|
---|
26 | #endif
|
---|
27 |
|
---|
28 | #include "gc.h"
|
---|
29 | #include "mfb.h"
|
---|
30 |
|
---|
31 | typedef struct {
|
---|
32 | unsigned long planemask ;
|
---|
33 | unsigned long fgPixel ;
|
---|
34 | unsigned long bgPixel ;
|
---|
35 | int alu ;
|
---|
36 | int fillStyle ;
|
---|
37 | } ppcReducedRrop ;
|
---|
38 |
|
---|
39 | /* ************************************************************************ */
|
---|
40 |
|
---|
41 | /* private field of GC */
|
---|
42 | typedef struct {
|
---|
43 | /* The next five (5) fields MUST CORRESPOND to
|
---|
44 | * the fields of a "mfbPrivGC" struct
|
---|
45 | * ----- BEGINNING OF "DO-NOT-CHANGE" REGION -----
|
---|
46 | */
|
---|
47 | unsigned char rop ; /* reduction of rasterop to 1 of 3 */
|
---|
48 | unsigned char ropOpStip ; /* rop for opaque stipple */
|
---|
49 | unsigned char ropFillArea ; /* == alu, rop, or ropOpStip */
|
---|
50 | unsigned char unused[sizeof(long) - 3];
|
---|
51 | mfbFillAreaProcPtr FillArea; /* fills regions; look at the code */
|
---|
52 | /* ----- END OF "DO-NOT-CHANGE" REGION ----- */
|
---|
53 | ppcReducedRrop colorRrop ;
|
---|
54 | short lastDrawableType ; /* was last drawable a window or a pixmap? */
|
---|
55 | short lastDrawableDepth ; /* was last drawable 1 or 8 planes? */
|
---|
56 | pointer devPriv ; /* Private area for device specific stuff */
|
---|
57 | } ppcPrivGC ;
|
---|
58 | typedef ppcPrivGC *ppcPrivGCPtr ;
|
---|
59 |
|
---|
60 | /* ppcCReduce.c */
|
---|
61 | void xf4bppGetReducedColorRrop(
|
---|
62 | GCPtr,
|
---|
63 | int,
|
---|
64 | ppcReducedRrop *
|
---|
65 | );
|
---|
66 |
|
---|
67 | /* vgaGC.c */
|
---|
68 | void xf4bppChangeGCtype(
|
---|
69 | GCPtr,
|
---|
70 | ppcPrivGCPtr
|
---|
71 | );
|
---|