VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.5.3/cfb.h@ 24873

Last change on this file since 24873 was 17471, checked in by vboxsync, 16 years ago

export to OSE

  • Property svn:eol-style set to native
File size: 25.9 KB
Line 
1/************************************************************
2Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA.
3
4 All Rights Reserved
5
6Permission to use, copy, modify, and distribute this
7software and its documentation for any purpose and without
8fee is hereby granted, provided that the above copyright no-
9tice appear in all copies and that both that copyright no-
10tice and this permission notice appear in supporting docu-
11mentation, and that the names of Sun or The Open Group
12not be used in advertising or publicity pertaining to
13distribution of the software without specific prior
14written permission. Sun and The Open Group make no
15representations about the suitability of this software for
16any purpose. It is provided "as is" without any express or
17implied warranty.
18
19SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
20INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
21NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI-
22ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
23ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
24PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
26THE USE OR PERFORMANCE OF THIS SOFTWARE.
27
28********************************************************/
29
30#if !defined(__CFB_H__) || defined(CFB_PROTOTYPES_ONLY)
31
32#include <X11/X.h>
33#include "globals.h"
34#include "pixmap.h"
35#include "region.h"
36#include "gc.h"
37#include "colormap.h"
38#include "miscstruct.h"
39#include "servermd.h"
40#include "privates.h"
41#include "windowstr.h"
42#include "mfb.h"
43#undef PixelType
44
45#include "cfbmap.h"
46
47#ifndef CfbBits
48#define CfbBits CARD32
49#endif
50
51#ifndef CFB_PROTOTYPES_ONLY
52#define __CFB_H__
53/*
54 private filed of pixmap
55 pixmap.devPrivate = (unsigned int *)pointer_to_bits
56 pixmap.devKind = width_of_pixmap_in_bytes
57*/
58
59extern DevPrivateKey cfbGCPrivateKey;
60
61/* private field of GC */
62typedef struct {
63 unsigned char rop; /* special case rop values */
64 /* next two values unused in cfb, included for compatibility with mfb */
65 unsigned char ropOpStip; /* rop for opaque stipple */
66 /* this value is ropFillArea in mfb, usurped for cfb */
67 unsigned char oneRect; /* drawable has one clip rect */
68 CfbBits xor, and; /* reduced rop values */
69 } cfbPrivGC;
70
71typedef cfbPrivGC *cfbPrivGCPtr;
72
73#define cfbGetGCPrivate(pGC) ((cfbPrivGCPtr)\
74 dixLookupPrivate(&(pGC)->devPrivates, cfbGCPrivateKey))
75
76#define cfbGetCompositeClip(pGC) ((pGC)->pCompositeClip)
77
78/* way to carry RROP info around */
79typedef struct {
80 unsigned char rop;
81 CfbBits xor, and;
82} cfbRRopRec, *cfbRRopPtr;
83
84/* cfb8bit.c */
85
86extern int cfbSetStipple(
87 int /*alu*/,
88 CfbBits /*fg*/,
89 CfbBits /*planemask*/
90);
91
92extern int cfbSetOpaqueStipple(
93 int /*alu*/,
94 CfbBits /*fg*/,
95 CfbBits /*bg*/,
96 CfbBits /*planemask*/
97);
98
99extern int cfbComputeClipMasks32(
100 BoxPtr /*pBox*/,
101 int /*numRects*/,
102 int /*x*/,
103 int /*y*/,
104 int /*w*/,
105 int /*h*/,
106 CARD32 * /*clips*/
107);
108#endif /* !CFB_PROTOTYPES_ONLY */
109/* cfb8cppl.c */
110
111extern void cfbCopyImagePlane(
112 DrawablePtr /*pSrcDrawable*/,
113 DrawablePtr /*pDstDrawable*/,
114 int /*rop*/,
115 RegionPtr /*prgnDst*/,
116 DDXPointPtr /*pptSrc*/,
117 unsigned long /*planemask*/
118);
119
120#ifndef CFB_PROTOTYPES_ONLY
121extern void cfbCopyPlane8to1(
122 DrawablePtr /*pSrcDrawable*/,
123 DrawablePtr /*pDstDrawable*/,
124 int /*rop*/,
125 RegionPtr /*prgnDst*/,
126 DDXPointPtr /*pptSrc*/,
127 unsigned long /*planemask*/,
128 unsigned long /*bitPlane*/
129);
130
131extern void cfbCopyPlane16to1(
132 DrawablePtr /*pSrcDrawable*/,
133 DrawablePtr /*pDstDrawable*/,
134 int /*rop*/,
135 RegionPtr /*prgnDst*/,
136 DDXPointPtr /*pptSrc*/,
137 unsigned long /*planemask*/,
138 unsigned long /*bitPlane*/
139);
140
141extern void cfbCopyPlane24to1(
142 DrawablePtr /*pSrcDrawable*/,
143 DrawablePtr /*pDstDrawable*/,
144 int /*rop*/,
145 RegionPtr /*prgnDst*/,
146 DDXPointPtr /*pptSrc*/,
147 unsigned long /*planemask*/,
148 unsigned long /*bitPlane*/
149);
150
151extern void cfbCopyPlane32to1(
152 DrawablePtr /*pSrcDrawable*/,
153 DrawablePtr /*pDstDrawable*/,
154 int /*rop*/,
155 RegionPtr /*prgnDst*/,
156 DDXPointPtr /*pptSrc*/,
157 unsigned long /*planemask*/,
158 unsigned long /*bitPlane*/
159);
160#endif
161
162/* cfb8lineCO.c */
163
164extern int cfb8LineSS1RectCopy(
165 DrawablePtr /*pDrawable*/,
166 GCPtr /*pGC*/,
167 int /*mode*/,
168 int /*npt*/,
169 DDXPointPtr /*pptInit*/,
170 DDXPointPtr /*pptInitOrig*/,
171 int * /*x1p*/,
172 int * /*y1p*/,
173 int * /*x2p*/,
174 int * /*y2p*/
175);
176
177extern void cfb8LineSS1Rect(
178 DrawablePtr /*pDrawable*/,
179 GCPtr /*pGC*/,
180 int /*mode*/,
181 int /*npt*/,
182 DDXPointPtr /*pptInit*/
183);
184
185extern void cfb8ClippedLineCopy(
186 DrawablePtr /*pDrawable*/,
187 GCPtr /*pGC*/,
188 int /*x1*/,
189 int /*y1*/,
190 int /*x2*/,
191 int /*y2*/,
192 BoxPtr /*boxp*/,
193 Bool /*shorten*/
194);
195/* cfb8lineCP.c */
196
197extern int cfb8LineSS1RectPreviousCopy(
198 DrawablePtr /*pDrawable*/,
199 GCPtr /*pGC*/,
200 int /*mode*/,
201 int /*npt*/,
202 DDXPointPtr /*pptInit*/,
203 DDXPointPtr /*pptInitOrig*/,
204 int * /*x1p*/,
205 int * /*y1p*/,
206 int * /*x2p*/,
207 int * /*y2p*/
208);
209/* cfb8lineG.c */
210
211extern int cfb8LineSS1RectGeneral(
212 DrawablePtr /*pDrawable*/,
213 GCPtr /*pGC*/,
214 int /*mode*/,
215 int /*npt*/,
216 DDXPointPtr /*pptInit*/,
217 DDXPointPtr /*pptInitOrig*/,
218 int * /*x1p*/,
219 int * /*y1p*/,
220 int * /*x2p*/,
221 int * /*y2p*/
222);
223
224extern void cfb8ClippedLineGeneral(
225 DrawablePtr /*pDrawable*/,
226 GCPtr /*pGC*/,
227 int /*x1*/,
228 int /*y1*/,
229 int /*x2*/,
230 int /*y2*/,
231 BoxPtr /*boxp*/,
232 Bool /*shorten*/
233);
234/* cfb8lineX.c */
235
236extern int cfb8LineSS1RectXor(
237 DrawablePtr /*pDrawable*/,
238 GCPtr /*pGC*/,
239 int /*mode*/,
240 int /*npt*/,
241 DDXPointPtr /*pptInit*/,
242 DDXPointPtr /*pptInitOrig*/,
243 int * /*x1p*/,
244 int * /*y1p*/,
245 int * /*x2p*/,
246 int * /*y2p*/
247);
248
249extern void cfb8ClippedLineXor(
250 DrawablePtr /*pDrawable*/,
251 GCPtr /*pGC*/,
252 int /*x1*/,
253 int /*y1*/,
254 int /*x2*/,
255 int /*y2*/,
256 BoxPtr /*boxp*/,
257 Bool /*shorten*/
258);
259/* cfb8segC.c */
260
261extern int cfb8SegmentSS1RectCopy(
262 DrawablePtr /*pDrawable*/,
263 GCPtr /*pGC*/,
264 int /*nseg*/,
265 xSegment * /*pSegInit*/
266);
267/* cfb8segCS.c */
268
269extern int cfb8SegmentSS1RectShiftCopy(
270 DrawablePtr /*pDrawable*/,
271 GCPtr /*pGC*/,
272 int /*nseg*/,
273 xSegment * /*pSegInit*/
274);
275
276extern void cfb8SegmentSS1Rect(
277 DrawablePtr /*pDrawable*/,
278 GCPtr /*pGC*/,
279 int /*nseg*/,
280 xSegment * /*pSegInit*/
281);
282/* cfb8segG.c */
283
284extern int cfb8SegmentSS1RectGeneral(
285 DrawablePtr /*pDrawable*/,
286 GCPtr /*pGC*/,
287 int /*nseg*/,
288 xSegment * /*pSegInit*/
289);
290/* cfbsegX.c */
291
292extern int cfb8SegmentSS1RectXor(
293 DrawablePtr /*pDrawable*/,
294 GCPtr /*pGC*/,
295 int /*nseg*/,
296 xSegment * /*pSegInit*/
297);
298/* cfballpriv.c */
299
300extern Bool cfbAllocatePrivates(
301 ScreenPtr /*pScreen*/,
302 DevPrivateKey * /*gc_key*/
303);
304/* cfbbitblt.c */
305
306extern RegionPtr cfbBitBlt(
307 DrawablePtr /*pSrcDrawable*/,
308 DrawablePtr /*pDstDrawable*/,
309 GCPtr/*pGC*/,
310 int /*srcx*/,
311 int /*srcy*/,
312 int /*width*/,
313 int /*height*/,
314 int /*dstx*/,
315 int /*dsty*/,
316 void (* /*doBitBlt*/)(
317 DrawablePtr /*pSrc*/,
318 DrawablePtr /*pDst*/,
319 int /*alu*/,
320 RegionPtr /*prgnDst*/,
321 DDXPointPtr /*pptSrc*/,
322 unsigned long /*planemask*/
323 ),
324 unsigned long /*bitPlane*/
325);
326
327#define cfbCopyPlaneExpand cfbBitBlt
328
329extern RegionPtr cfbCopyPlaneReduce(
330 DrawablePtr /*pSrcDrawable*/,
331 DrawablePtr /*pDstDrawable*/,
332 GCPtr /*pGC*/,
333 int /*srcx*/,
334 int /*srcy*/,
335 int /*width*/,
336 int /*height*/,
337 int /*dstx*/,
338 int /*dsty*/,
339 void (* /*doCopyPlane*/)(
340 DrawablePtr /*pSrc*/,
341 DrawablePtr /*pDst*/,
342 int /*alu*/,
343 RegionPtr /*prgnDst*/,
344 DDXPointPtr /*pptSrc*/,
345 unsigned long /*planemask*/,
346 unsigned long /*bitPlane*/ /* We must know which plane to reduce! */
347 ),
348 unsigned long /*bitPlane*/
349);
350
351extern void cfbDoBitblt(
352 DrawablePtr /*pSrc*/,
353 DrawablePtr /*pDst*/,
354 int /*alu*/,
355 RegionPtr /*prgnDst*/,
356 DDXPointPtr /*pptSrc*/,
357 unsigned long /*planemask*/
358);
359
360extern RegionPtr cfbCopyArea(
361 DrawablePtr /*pSrcDrawable*/,
362 DrawablePtr /*pDstDrawable*/,
363 GCPtr/*pGC*/,
364 int /*srcx*/,
365 int /*srcy*/,
366 int /*width*/,
367 int /*height*/,
368 int /*dstx*/,
369 int /*dsty*/
370);
371
372#ifndef CFB_PROTOTYPES_ONLY
373extern void cfbCopyPlane1to8(
374 DrawablePtr /*pSrcDrawable*/,
375 DrawablePtr /*pDstDrawable*/,
376 int /*rop*/,
377 RegionPtr /*prgnDst*/,
378 DDXPointPtr /*pptSrc*/,
379 unsigned long /*planemask*/
380);
381#endif
382
383extern RegionPtr cfbCopyPlane(
384 DrawablePtr /*pSrcDrawable*/,
385 DrawablePtr /*pDstDrawable*/,
386 GCPtr /*pGC*/,
387 int /*srcx*/,
388 int /*srcy*/,
389 int /*width*/,
390 int /*height*/,
391 int /*dstx*/,
392 int /*dsty*/,
393 unsigned long /*bitPlane*/
394);
395/* cfbbltC.c */
396
397extern void cfbDoBitbltCopy(
398 DrawablePtr /*pSrc*/,
399 DrawablePtr /*pDst*/,
400 int /*alu*/,
401 RegionPtr /*prgnDst*/,
402 DDXPointPtr /*pptSrc*/,
403 unsigned long /*planemask*/
404);
405/* cfbbltG.c */
406
407extern void cfbDoBitbltGeneral(
408 DrawablePtr /*pSrc*/,
409 DrawablePtr /*pDst*/,
410 int /*alu*/,
411 RegionPtr /*prgnDst*/,
412 DDXPointPtr /*pptSrc*/,
413 unsigned long /*planemask*/
414);
415/* cfbbltO.c */
416
417extern void cfbDoBitbltOr(
418 DrawablePtr /*pSrc*/,
419 DrawablePtr /*pDst*/,
420 int /*alu*/,
421 RegionPtr /*prgnDst*/,
422 DDXPointPtr /*pptSrc*/,
423 unsigned long /*planemask*/
424);
425/* cfbbltX.c */
426
427extern void cfbDoBitbltXor(
428 DrawablePtr /*pSrc*/,
429 DrawablePtr /*pDst*/,
430 int /*alu*/,
431 RegionPtr /*prgnDst*/,
432 DDXPointPtr /*pptSrc*/,
433 unsigned long /*planemask*/
434);
435/* cfbbres.c */
436
437extern void cfbBresS(
438 int /*rop*/,
439 CfbBits /*and*/,
440 CfbBits /*xor*/,
441 CfbBits * /*addrl*/,
442 int /*nlwidth*/,
443 int /*signdx*/,
444 int /*signdy*/,
445 int /*axis*/,
446 int /*x1*/,
447 int /*y1*/,
448 int /*e*/,
449 int /*e1*/,
450 int /*e2*/,
451 int /*len*/
452);
453/* cfbbresd.c */
454
455extern void cfbBresD(
456 cfbRRopPtr /*rrops*/,
457 int * /*pdashIndex*/,
458 unsigned char * /*pDash*/,
459 int /*numInDashList*/,
460 int * /*pdashOffset*/,
461 int /*isDoubleDash*/,
462 CfbBits * /*addrl*/,
463 int /*nlwidth*/,
464 int /*signdx*/,
465 int /*signdy*/,
466 int /*axis*/,
467 int /*x1*/,
468 int /*y1*/,
469 int /*e*/,
470 int /*e1*/,
471 int /*e2*/,
472 int /*len*/
473);
474
475/* cfbcmap.c */
476
477#ifndef CFB_PROTOTYPES_ONLY
478extern int cfbListInstalledColormaps(
479 ScreenPtr /*pScreen*/,
480 Colormap * /*pmaps*/
481);
482
483extern void cfbInstallColormap(
484 ColormapPtr /*pmap*/
485);
486
487extern void cfbUninstallColormap(
488 ColormapPtr /*pmap*/
489);
490
491extern void cfbResolveColor(
492 unsigned short * /*pred*/,
493 unsigned short * /*pgreen*/,
494 unsigned short * /*pblue*/,
495 VisualPtr /*pVisual*/
496);
497
498extern Bool cfbInitializeColormap(
499 ColormapPtr /*pmap*/
500);
501
502extern int cfbExpandDirectColors(
503 ColormapPtr /*pmap*/,
504 int /*ndef*/,
505 xColorItem * /*indefs*/,
506 xColorItem * /*outdefs*/
507);
508
509extern Bool cfbCreateDefColormap(
510 ScreenPtr /*pScreen*/
511);
512
513extern Bool cfbSetVisualTypes(
514 int /*depth*/,
515 int /*visuals*/,
516 int /*bitsPerRGB*/
517);
518
519extern void cfbClearVisualTypes(void);
520
521extern Bool cfbInitVisuals(
522 VisualPtr * /*visualp*/,
523 DepthPtr * /*depthp*/,
524 int * /*nvisualp*/,
525 int * /*ndepthp*/,
526 int * /*rootDepthp*/,
527 VisualID * /*defaultVisp*/,
528 unsigned long /*sizes*/,
529 int /*bitsPerRGB*/
530);
531#endif
532/* cfbfillarcC.c */
533
534extern void cfbPolyFillArcSolidCopy(
535 DrawablePtr /*pDraw*/,
536 GCPtr /*pGC*/,
537 int /*narcs*/,
538 xArc * /*parcs*/
539);
540/* cfbfillarcG.c */
541
542extern void cfbPolyFillArcSolidGeneral(
543 DrawablePtr /*pDraw*/,
544 GCPtr /*pGC*/,
545 int /*narcs*/,
546 xArc * /*parcs*/
547);
548/* cfbfillrct.c */
549
550extern void cfbFillBoxTileOdd(
551 DrawablePtr /*pDrawable*/,
552 int /*n*/,
553 BoxPtr /*rects*/,
554 PixmapPtr /*tile*/,
555 int /*xrot*/,
556 int /*yrot*/
557);
558
559extern void cfbFillRectTileOdd(
560 DrawablePtr /*pDrawable*/,
561 GCPtr /*pGC*/,
562 int /*nBox*/,
563 BoxPtr /*pBox*/
564);
565
566extern void cfbPolyFillRect(
567 DrawablePtr /*pDrawable*/,
568 GCPtr /*pGC*/,
569 int /*nrectFill*/,
570 xRectangle * /*prectInit*/
571);
572/* cfbfillsp.c */
573
574extern void cfbUnnaturalTileFS(
575 DrawablePtr /*pDrawable*/,
576 GCPtr/*pGC*/,
577 int /*nInit*/,
578 DDXPointPtr /*pptInit*/,
579 int * /*pwidthInit*/,
580 int /*fSorted*/
581);
582
583extern void cfbUnnaturalStippleFS(
584 DrawablePtr /*pDrawable*/,
585 GCPtr/*pGC*/,
586 int /*nInit*/,
587 DDXPointPtr /*pptInit*/,
588 int * /*pwidthInit*/,
589 int /*fSorted*/
590);
591
592#ifndef CFB_PROTOTYPES_ONLY
593extern void cfb8Stipple32FS(
594 DrawablePtr /*pDrawable*/,
595 GCPtr /*pGC*/,
596 int /*nInit*/,
597 DDXPointPtr /*pptInit*/,
598 int * /*pwidthInit*/,
599 int /*fSorted*/
600);
601
602extern void cfb8OpaqueStipple32FS(
603 DrawablePtr /*pDrawable*/,
604 GCPtr /*pGC*/,
605 int /*nInit*/,
606 DDXPointPtr /*pptInit*/,
607 int * /*pwidthInit*/,
608 int /*fSorted*/
609);
610#endif
611/* cfbgc.c */
612
613extern GCOpsPtr cfbMatchCommon(
614 GCPtr /*pGC*/,
615 cfbPrivGCPtr /*devPriv*/
616);
617
618extern Bool cfbCreateGC(
619 GCPtr /*pGC*/
620);
621
622extern void cfbValidateGC(
623 GCPtr /*pGC*/,
624 unsigned long /*changes*/,
625 DrawablePtr /*pDrawable*/
626);
627
628/* cfbgetsp.c */
629
630extern void cfbGetSpans(
631 DrawablePtr /*pDrawable*/,
632 int /*wMax*/,
633 DDXPointPtr /*ppt*/,
634 int * /*pwidth*/,
635 int /*nspans*/,
636 char * /*pdstStart*/
637);
638/* cfbglblt8.c */
639
640extern void cfbPolyGlyphBlt8(
641 DrawablePtr /*pDrawable*/,
642 GCPtr /*pGC*/,
643 int /*x*/,
644 int /*y*/,
645 unsigned int /*nglyph*/,
646 CharInfoPtr * /*ppci*/,
647 pointer /*pglyphBase*/
648);
649/* cfbglrop8.c */
650
651extern void cfbPolyGlyphRop8(
652 DrawablePtr /*pDrawable*/,
653 GCPtr /*pGC*/,
654 int /*x*/,
655 int /*y*/,
656 unsigned int /*nglyph*/,
657 CharInfoPtr * /*ppci*/,
658 pointer /*pglyphBase*/
659);
660/* cfbhrzvert.c */
661
662extern void cfbHorzS(
663 int /*rop*/,
664 CfbBits /*and*/,
665 CfbBits /*xor*/,
666 CfbBits * /*addrl*/,
667 int /*nlwidth*/,
668 int /*x1*/,
669 int /*y1*/,
670 int /*len*/
671);
672
673extern void cfbVertS(
674 int /*rop*/,
675 CfbBits /*and*/,
676 CfbBits /*xor*/,
677 CfbBits * /*addrl*/,
678 int /*nlwidth*/,
679 int /*x1*/,
680 int /*y1*/,
681 int /*len*/
682);
683/* cfbigblt8.c */
684
685extern void cfbImageGlyphBlt8(
686 DrawablePtr /*pDrawable*/,
687 GCPtr /*pGC*/,
688 int /*x*/,
689 int /*y*/,
690 unsigned int /*nglyph*/,
691 CharInfoPtr * /*ppci*/,
692 pointer /*pglyphBase*/
693);
694/* cfbimage.c */
695
696extern void cfbPutImage(
697 DrawablePtr /*pDraw*/,
698 GCPtr /*pGC*/,
699 int /*depth*/,
700 int /*x*/,
701 int /*y*/,
702 int /*w*/,
703 int /*h*/,
704 int /*leftPad*/,
705 int /*format*/,
706 char * /*pImage*/
707);
708
709extern void cfbGetImage(
710 DrawablePtr /*pDrawable*/,
711 int /*sx*/,
712 int /*sy*/,
713 int /*w*/,
714 int /*h*/,
715 unsigned int /*format*/,
716 unsigned long /*planeMask*/,
717 char * /*pdstLine*/
718);
719/* cfbline.c */
720
721extern void cfbLineSS(
722 DrawablePtr /*pDrawable*/,
723 GCPtr /*pGC*/,
724 int /*mode*/,
725 int /*npt*/,
726 DDXPointPtr /*pptInit*/
727);
728
729extern void cfbLineSD(
730 DrawablePtr /*pDrawable*/,
731 GCPtr /*pGC*/,
732 int /*mode*/,
733 int /*npt*/,
734 DDXPointPtr /*pptInit*/
735);
736/* cfbmskbits.c */
737/* cfbpixmap.c */
738
739extern PixmapPtr cfbCreatePixmap(
740 ScreenPtr /*pScreen*/,
741 int /*width*/,
742 int /*height*/,
743 int /*depth*/,
744 unsigned /*usage_hint*/
745);
746
747extern Bool cfbDestroyPixmap(
748 PixmapPtr /*pPixmap*/
749);
750
751extern PixmapPtr cfbCopyPixmap(
752 PixmapPtr /*pSrc*/
753);
754
755extern void cfbPadPixmap(
756 PixmapPtr /*pPixmap*/
757);
758
759extern void cfbXRotatePixmap(
760 PixmapPtr /*pPix*/,
761 int /*rw*/
762);
763
764extern void cfbYRotatePixmap(
765 PixmapPtr /*pPix*/,
766 int /*rh*/
767);
768
769extern void cfbCopyRotatePixmap(
770 PixmapPtr /*psrcPix*/,
771 PixmapPtr * /*ppdstPix*/,
772 int /*xrot*/,
773 int /*yrot*/
774);
775/* cfbply1rctC.c */
776
777extern void cfbFillPoly1RectCopy(
778 DrawablePtr /*pDrawable*/,
779 GCPtr /*pGC*/,
780 int /*shape*/,
781 int /*mode*/,
782 int /*count*/,
783 DDXPointPtr /*ptsIn*/
784);
785/* cfbply1rctG.c */
786
787extern void cfbFillPoly1RectGeneral(
788 DrawablePtr /*pDrawable*/,
789 GCPtr /*pGC*/,
790 int /*shape*/,
791 int /*mode*/,
792 int /*count*/,
793 DDXPointPtr /*ptsIn*/
794);
795/* cfbpolypnt.c */
796
797extern void cfbPolyPoint(
798 DrawablePtr /*pDrawable*/,
799 GCPtr /*pGC*/,
800 int /*mode*/,
801 int /*npt*/,
802 xPoint * /*pptInit*/
803);
804/* cfbpush8.c */
805
806#ifndef CFB_PROTOTYPES_ONLY
807extern void cfbPushPixels8(
808 GCPtr /*pGC*/,
809 PixmapPtr /*pBitmap*/,
810 DrawablePtr /*pDrawable*/,
811 int /*dx*/,
812 int /*dy*/,
813 int /*xOrg*/,
814 int /*yOrg*/
815);
816/* cfbrctstp8.c */
817
818extern void cfb8FillRectOpaqueStippled32(
819 DrawablePtr /*pDrawable*/,
820 GCPtr /*pGC*/,
821 int /*nBox*/,
822 BoxPtr /*pBox*/
823);
824
825extern void cfb8FillRectTransparentStippled32(
826 DrawablePtr /*pDrawable*/,
827 GCPtr /*pGC*/,
828 int /*nBox*/,
829 BoxPtr /*pBox*/
830);
831
832extern void cfb8FillRectStippledUnnatural(
833 DrawablePtr /*pDrawable*/,
834 GCPtr /*pGC*/,
835 int /*nBox*/,
836 BoxPtr /*pBox*/
837);
838#endif
839/* cfbrrop.c */
840
841extern int cfbReduceRasterOp(
842 int /*rop*/,
843 CfbBits /*fg*/,
844 CfbBits /*pm*/,
845 CfbBits * /*andp*/,
846 CfbBits * /*xorp*/
847);
848/* cfbscrinit.c */
849
850extern Bool cfbCloseScreen(
851 int /*index*/,
852 ScreenPtr /*pScreen*/
853);
854
855extern Bool cfbSetupScreen(
856 ScreenPtr /*pScreen*/,
857 pointer /*pbits*/,
858 int /*xsize*/,
859 int /*ysize*/,
860 int /*dpix*/,
861 int /*dpiy*/,
862 int /*width*/
863);
864
865extern Bool cfbFinishScreenInit(
866 ScreenPtr /*pScreen*/,
867 pointer /*pbits*/,
868 int /*xsize*/,
869 int /*ysize*/,
870 int /*dpix*/,
871 int /*dpiy*/,
872 int /*width*/
873);
874
875extern Bool cfbScreenInit(
876 ScreenPtr /*pScreen*/,
877 pointer /*pbits*/,
878 int /*xsize*/,
879 int /*ysize*/,
880 int /*dpix*/,
881 int /*dpiy*/,
882 int /*width*/
883);
884
885extern PixmapPtr cfbGetScreenPixmap(
886 ScreenPtr /*pScreen*/
887);
888
889extern void cfbSetScreenPixmap(
890 PixmapPtr /*pPix*/
891);
892
893/* cfbseg.c */
894
895extern void cfbSegmentSS(
896 DrawablePtr /*pDrawable*/,
897 GCPtr /*pGC*/,
898 int /*nseg*/,
899 xSegment * /*pSeg*/
900);
901
902extern void cfbSegmentSD(
903 DrawablePtr /*pDrawable*/,
904 GCPtr /*pGC*/,
905 int /*nseg*/,
906 xSegment * /*pSeg*/
907);
908/* cfbsetsp.c */
909
910extern void cfbSetScanline(
911 int /*y*/,
912 int /*xOrigin*/,
913 int /*xStart*/,
914 int /*xEnd*/,
915 unsigned int * /*psrc*/,
916 int /*alu*/,
917 int * /*pdstBase*/,
918 int /*widthDst*/,
919 unsigned long /*planemask*/
920);
921
922extern void cfbSetSpans(
923 DrawablePtr /*pDrawable*/,
924 GCPtr /*pGC*/,
925 char * /*psrc*/,
926 DDXPointPtr /*ppt*/,
927 int * /*pwidth*/,
928 int /*nspans*/,
929 int /*fSorted*/
930);
931/* cfbsolidC.c */
932
933extern void cfbFillRectSolidCopy(
934 DrawablePtr /*pDrawable*/,
935 GCPtr /*pGC*/,
936 int /*nBox*/,
937 BoxPtr /*pBox*/
938);
939
940extern void cfbSolidSpansCopy(
941 DrawablePtr /*pDrawable*/,
942 GCPtr /*pGC*/,
943 int /*nInit*/,
944 DDXPointPtr /*pptInit*/,
945 int * /*pwidthInit*/,
946 int /*fSorted*/
947);
948/* cfbsolidG.c */
949
950extern void cfbFillRectSolidGeneral(
951 DrawablePtr /*pDrawable*/,
952 GCPtr /*pGC*/,
953 int /*nBox*/,
954 BoxPtr /*pBox*/
955);
956
957extern void cfbSolidSpansGeneral(
958 DrawablePtr /*pDrawable*/,
959 GCPtr /*pGC*/,
960 int /*nInit*/,
961 DDXPointPtr /*pptInit*/,
962 int * /*pwidthInit*/,
963 int /*fSorted*/
964);
965/* cfbsolidX.c */
966
967extern void cfbFillRectSolidXor(
968 DrawablePtr /*pDrawable*/,
969 GCPtr /*pGC*/,
970 int /*nBox*/,
971 BoxPtr /*pBox*/
972);
973
974extern void cfbSolidSpansXor(
975 DrawablePtr /*pDrawable*/,
976 GCPtr /*pGC*/,
977 int /*nInit*/,
978 DDXPointPtr /*pptInit*/,
979 int * /*pwidthInit*/,
980 int /*fSorted*/
981);
982/* cfbteblt8.c */
983
984#ifndef CFB_PROTOTYPES_ONLY
985extern void cfbTEGlyphBlt8(
986 DrawablePtr /*pDrawable*/,
987 GCPtr/*pGC*/,
988 int /*xInit*/,
989 int /*yInit*/,
990 unsigned int /*nglyph*/,
991 CharInfoPtr * /*ppci*/,
992 pointer /*pglyphBase*/
993);
994#endif
995/* cfbtegblt.c */
996
997extern void cfbTEGlyphBlt(
998 DrawablePtr /*pDrawable*/,
999 GCPtr/*pGC*/,
1000 int /*x*/,
1001 int /*y*/,
1002 unsigned int /*nglyph*/,
1003 CharInfoPtr * /*ppci*/,
1004 pointer /*pglyphBase*/
1005);
1006/* cfbtile32C.c */
1007
1008extern void cfbFillRectTile32Copy(
1009 DrawablePtr /*pDrawable*/,
1010 GCPtr /*pGC*/,
1011 int /*nBox*/,
1012 BoxPtr /*pBox*/
1013);
1014
1015extern void cfbTile32FSCopy(
1016 DrawablePtr /*pDrawable*/,
1017 GCPtr /*pGC*/,
1018 int /*nInit*/,
1019 DDXPointPtr /*pptInit*/,
1020 int * /*pwidthInit*/,
1021 int /*fSorted*/
1022);
1023/* cfbtile32G.c */
1024
1025extern void cfbFillRectTile32General(
1026 DrawablePtr /*pDrawable*/,
1027 GCPtr /*pGC*/,
1028 int /*nBox*/,
1029 BoxPtr /*pBox*/
1030);
1031
1032extern void cfbTile32FSGeneral(
1033 DrawablePtr /*pDrawable*/,
1034 GCPtr /*pGC*/,
1035 int /*nInit*/,
1036 DDXPointPtr /*pptInit*/,
1037 int * /*pwidthInit*/,
1038 int /*fSorted*/
1039);
1040/* cfbtileoddC.c */
1041
1042extern void cfbFillBoxTileOddCopy(
1043 DrawablePtr /*pDrawable*/,
1044 int /*nBox*/,
1045 BoxPtr /*pBox*/,
1046 PixmapPtr /*tile*/,
1047 int /*xrot*/,
1048 int /*yrot*/,
1049 int /*alu*/,
1050 unsigned long /*planemask*/
1051);
1052
1053extern void cfbFillSpanTileOddCopy(
1054 DrawablePtr /*pDrawable*/,
1055 int /*n*/,
1056 DDXPointPtr /*ppt*/,
1057 int * /*pwidth*/,
1058 PixmapPtr /*tile*/,
1059 int /*xrot*/,
1060 int /*yrot*/,
1061 int /*alu*/,
1062 unsigned long /*planemask*/
1063);
1064
1065extern void cfbFillBoxTile32sCopy(
1066 DrawablePtr /*pDrawable*/,
1067 int /*nBox*/,
1068 BoxPtr /*pBox*/,
1069 PixmapPtr /*tile*/,
1070 int /*xrot*/,
1071 int /*yrot*/,
1072 int /*alu*/,
1073 unsigned long /*planemask*/
1074);
1075
1076extern void cfbFillSpanTile32sCopy(
1077 DrawablePtr /*pDrawable*/,
1078 int /*n*/,
1079 DDXPointPtr /*ppt*/,
1080 int * /*pwidth*/,
1081 PixmapPtr /*tile*/,
1082 int /*xrot*/,
1083 int /*yrot*/,
1084 int /*alu*/,
1085 unsigned long /*planemask*/
1086);
1087/* cfbtileoddG.c */
1088
1089extern void cfbFillBoxTileOddGeneral(
1090 DrawablePtr /*pDrawable*/,
1091 int /*nBox*/,
1092 BoxPtr /*pBox*/,
1093 PixmapPtr /*tile*/,
1094 int /*xrot*/,
1095 int /*yrot*/,
1096 int /*alu*/,
1097 unsigned long /*planemask*/
1098);
1099
1100extern void cfbFillSpanTileOddGeneral(
1101 DrawablePtr /*pDrawable*/,
1102 int /*n*/,
1103 DDXPointPtr /*ppt*/,
1104 int * /*pwidth*/,
1105 PixmapPtr /*tile*/,
1106 int /*xrot*/,
1107 int /*yrot*/,
1108 int /*alu*/,
1109 unsigned long /*planemask*/
1110);
1111
1112extern void cfbFillBoxTile32sGeneral(
1113 DrawablePtr /*pDrawable*/,
1114 int /*nBox*/,
1115 BoxPtr /*pBox*/,
1116 PixmapPtr /*tile*/,
1117 int /*xrot*/,
1118 int /*yrot*/,
1119 int /*alu*/,
1120 unsigned long /*planemask*/
1121);
1122
1123extern void cfbFillSpanTile32sGeneral(
1124 DrawablePtr /*pDrawable*/,
1125 int /*n*/,
1126 DDXPointPtr /*ppt*/,
1127 int * /*pwidth*/,
1128 PixmapPtr /*tile*/,
1129 int /*xrot*/,
1130 int /*yrot*/,
1131 int /*alu*/,
1132 unsigned long /*planemask*/
1133);
1134/* cfbwindow.c */
1135
1136extern Bool cfbCreateWindow(
1137 WindowPtr /*pWin*/
1138);
1139
1140extern Bool cfbDestroyWindow(
1141 WindowPtr /*pWin*/
1142);
1143
1144extern Bool cfbMapWindow(
1145 WindowPtr /*pWindow*/
1146);
1147
1148extern Bool cfbPositionWindow(
1149 WindowPtr /*pWin*/,
1150 int /*x*/,
1151 int /*y*/
1152);
1153
1154extern Bool cfbUnmapWindow(
1155 WindowPtr /*pWindow*/
1156);
1157
1158extern void cfbCopyWindow(
1159 WindowPtr /*pWin*/,
1160 DDXPointRec /*ptOldOrg*/,
1161 RegionPtr /*prgnSrc*/
1162);
1163
1164extern Bool cfbChangeWindowAttributes(
1165 WindowPtr /*pWin*/,
1166 unsigned long /*mask*/
1167);
1168/* cfbzerarcC.c */
1169
1170extern void cfbZeroPolyArcSS8Copy(
1171 DrawablePtr /*pDraw*/,
1172 GCPtr /*pGC*/,
1173 int /*narcs*/,
1174 xArc * /*parcs*/
1175);
1176/* cfbzerarcG.c */
1177
1178extern void cfbZeroPolyArcSS8General(
1179 DrawablePtr /*pDraw*/,
1180 GCPtr /*pGC*/,
1181 int /*narcs*/,
1182 xArc * /*parcs*/
1183);
1184/* cfbzerarcX.c */
1185
1186extern void cfbZeroPolyArcSS8Xor(
1187 DrawablePtr /*pDraw*/,
1188 GCPtr /*pGC*/,
1189 int /*narcs*/,
1190 xArc * /*parcs*/
1191);
1192
1193#if (!defined(SINGLEDEPTH) && PSZ != 8) || defined(FORCE_SEPARATE_PRIVATE)
1194
1195#define CFB_NEED_SCREEN_PRIVATE
1196
1197extern DevPrivateKey cfbScreenPrivateKey;
1198#endif
1199
1200#ifndef CFB_PROTOTYPES_ONLY
1201
1202/* Common macros for extracting drawing information */
1203
1204#define cfbGetWindowPixmap(d) \
1205 ((* ((DrawablePtr)(d))->pScreen->GetWindowPixmap)((WindowPtr)(d)))
1206
1207#define cfbGetTypedWidth(pDrawable,wtype) (\
1208 (((pDrawable)->type != DRAWABLE_PIXMAP) ? \
1209 (int) (cfbGetWindowPixmap(pDrawable)->devKind) : \
1210 (int)(((PixmapPtr)pDrawable)->devKind)) / sizeof (wtype))
1211
1212#define cfbGetByteWidth(pDrawable) cfbGetTypedWidth(pDrawable, unsigned char)
1213
1214#define cfbGetPixelWidth(pDrawable) cfbGetTypedWidth(pDrawable, PixelType)
1215
1216#define cfbGetLongWidth(pDrawable) cfbGetTypedWidth(pDrawable, CfbBits)
1217
1218#define cfbGetTypedWidthAndPointer(pDrawable, width, pointer, wtype, ptype) {\
1219 PixmapPtr _pPix; \
1220 if ((pDrawable)->type != DRAWABLE_PIXMAP) \
1221 _pPix = cfbGetWindowPixmap(pDrawable); \
1222 else \
1223 _pPix = (PixmapPtr) (pDrawable); \
1224 (pointer) = (ptype *) _pPix->devPrivate.ptr; \
1225 (width) = ((int) _pPix->devKind) / sizeof (wtype); \
1226}
1227
1228#define cfbGetByteWidthAndPointer(pDrawable, width, pointer) \
1229 cfbGetTypedWidthAndPointer(pDrawable, width, pointer, unsigned char, unsigned char)
1230
1231#define cfbGetLongWidthAndPointer(pDrawable, width, pointer) \
1232 cfbGetTypedWidthAndPointer(pDrawable, width, pointer, CfbBits, CfbBits)
1233
1234#define cfbGetPixelWidthAndPointer(pDrawable, width, pointer) \
1235 cfbGetTypedWidthAndPointer(pDrawable, width, pointer, PixelType, PixelType)
1236
1237#define cfbGetWindowTypedWidthAndPointer(pWin, width, pointer, wtype, ptype) {\
1238 PixmapPtr _pPix = cfbGetWindowPixmap((DrawablePtr) (pWin)); \
1239 (pointer) = (ptype *) _pPix->devPrivate.ptr; \
1240 (width) = ((int) _pPix->devKind) / sizeof (wtype); \
1241}
1242
1243#define cfbGetWindowLongWidthAndPointer(pWin, width, pointer) \
1244 cfbGetWindowTypedWidthAndPointer(pWin, width, pointer, CfbBits, CfbBits)
1245
1246#define cfbGetWindowByteWidthAndPointer(pWin, width, pointer) \
1247 cfbGetWindowTypedWidthAndPointer(pWin, width, pointer, unsigned char, unsigned char)
1248
1249#define cfbGetWindowPixelWidthAndPointer(pDrawable, width, pointer) \
1250 cfbGetWindowTypedWidthAndPointer(pDrawable, width, pointer, PixelType, PixelType)
1251
1252/*
1253 * XFree86 empties the root BorderClip when the VT is inactive,
1254 * here's a macro which uses that to disable GetImage and GetSpans
1255 */
1256#define cfbWindowEnabled(pWin) \
1257 REGION_NOTEMPTY((pWin)->drawable.pScreen, \
1258 &WindowTable[(pWin)->drawable.pScreen->myNum]->borderClip)
1259
1260#define cfbDrawableEnabled(pDrawable) \
1261 ((pDrawable)->type == DRAWABLE_PIXMAP ? \
1262 TRUE : cfbWindowEnabled((WindowPtr) pDrawable))
1263
1264#include "micoord.h"
1265
1266#endif /* !CFB_PROTOTYPES_ONLY */
1267
1268#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette