VirtualBox

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

最後變更 在這個檔案從62425是 51223,由 vboxsync 提交於 11 年 前

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

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

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