12.9 KB、661行 生 Blame 履歴
1/*
2 * Copyright © 2000 SuSE, Inc.
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of SuSE not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission. SuSE makes no representations about the
11 * suitability of this software for any purpose. It is provided "as is"
12 * without express or implied warranty.
13 *
14 * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
16 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
18 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
19 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 *
21 * Author: Keith Packard, SuSE, Inc.
22 */
23
24#ifndef _XRENDERP_H_
25#define _XRENDERP_H_
26
27#include <X11/Xmd.h>
28#include <X11/extensions/render.h>
29
30#define Window CARD32
31#define Drawable CARD32
32#define Font CARD32
33#define Pixmap CARD32
34#define Cursor CARD32
35#define Colormap CARD32
36#define GContext CARD32
37#define Atom CARD32
38#define VisualID CARD32
39#define Time CARD32
40#define KeyCode CARD8
41#define KeySym CARD32
42
43#define Picture CARD32
44#define PictFormat CARD32
45#define Fixed INT32
46#define Glyphset CARD32
47
48/*
49 * data structures
50 */
51
52typedef struct {
53 CARD16 red;
54 CARD16 redMask;
55 CARD16 green;
56 CARD16 greenMask;
57 CARD16 blue;
58 CARD16 blueMask;
59 CARD16 alpha;
60 CARD16 alphaMask;
61} xDirectFormat;
62
63#define sz_xDirectFormat 16
64
65typedef struct {
66 PictFormat id;
67 CARD8 type;
68 CARD8 depth;
69 CARD16 pad1;
70 xDirectFormat direct;
71 Colormap colormap;
72} xPictFormInfo;
73
74#define sz_xPictFormInfo 28
75
76typedef struct {
77 VisualID visual;
78 PictFormat format;
79} xPictVisual;
80
81#define sz_xPictVisual 8
82
83typedef struct {
84 CARD8 depth;
85 CARD8 pad1;
86 CARD16 nPictVisuals;
87 CARD32 pad2;
88} xPictDepth;
89
90#define sz_xPictDepth 8
91
92typedef struct {
93 CARD32 nDepth;
94 PictFormat fallback;
95} xPictScreen;
96
97#define sz_xPictScreen 8
98
99typedef struct {
100 CARD32 pixel;
101 CARD16 red;
102 CARD16 green;
103 CARD16 blue;
104 CARD16 alpha;
105} xIndexValue;
106
107#define sz_xIndexValue 12
108
109typedef struct {
110 CARD16 red;
111 CARD16 green;
112 CARD16 blue;
113 CARD16 alpha;
114} xRenderColor;
115
116#define sz_xRenderColor 8
117
118typedef struct {
119 Fixed x;
120 Fixed y;
121} xPointFixed;
122
123#define sz_xPointFixed 8
124
125typedef struct {
126 xPointFixed p1;
127 xPointFixed p2;
128} xLineFixed;
129
130#define sz_xLineFixed 16
131
132typedef struct {
133 xPointFixed p1, p2, p3;
134} xTriangle;
135
136#define sz_xTriangle 24
137
138typedef struct {
139 Fixed top;
140 Fixed bottom;
141 xLineFixed left;
142 xLineFixed right;
143} xTrapezoid;
144
145#define sz_xTrapezoid 40
146
147typedef struct {
148 CARD16 width;
149 CARD16 height;
150 INT16 x;
151 INT16 y;
152 INT16 xOff;
153 INT16 yOff;
154} xGlyphInfo;
155
156#define sz_xGlyphInfo 12
157
158typedef struct {
159 CARD8 len;
160 CARD8 pad1;
161 CARD16 pad2;
162 INT16 deltax;
163 INT16 deltay;
164} xGlyphElt;
165
166#define sz_xGlyphElt 8
167
168typedef struct {
169 Fixed l, r, y;
170} xSpanFix;
171
172#define sz_xSpanFix 12
173
174typedef struct {
175 xSpanFix top, bot;
176} xTrap;
177
178#define sz_xTrap 24
179
180/*
181 * requests and replies
182 */
183typedef struct {
184 CARD8 reqType;
185 CARD8 renderReqType;
186 CARD16 length;
187 CARD32 majorVersion;
188 CARD32 minorVersion;
189} xRenderQueryVersionReq;
190
191#define sz_xRenderQueryVersionReq 12
192
193typedef struct {
194 BYTE type; /* X_Reply */
195 BYTE pad1;
196 CARD16 sequenceNumber;
197 CARD32 length;
198 CARD32 majorVersion;
199 CARD32 minorVersion;
200 CARD32 pad2;
201 CARD32 pad3;
202 CARD32 pad4;
203 CARD32 pad5;
204} xRenderQueryVersionReply;
205
206#define sz_xRenderQueryVersionReply 32
207
208typedef struct {
209 CARD8 reqType;
210 CARD8 renderReqType;
211 CARD16 length;
212} xRenderQueryPictFormatsReq;
213
214#define sz_xRenderQueryPictFormatsReq 4
215
216typedef struct {
217 BYTE type; /* X_Reply */
218 BYTE pad1;
219 CARD16 sequenceNumber;
220 CARD32 length;
221 CARD32 numFormats;
222 CARD32 numScreens;
223 CARD32 numDepths;
224 CARD32 numVisuals;
225 CARD32 numSubpixel; /* Version 0.6 */
226 CARD32 pad5;
227} xRenderQueryPictFormatsReply;
228
229#define sz_xRenderQueryPictFormatsReply 32
230
231typedef struct {
232 CARD8 reqType;
233 CARD8 renderReqType;
234 CARD16 length;
235 PictFormat format;
236} xRenderQueryPictIndexValuesReq;
237
238#define sz_xRenderQueryPictIndexValuesReq 8
239
240typedef struct {
241 BYTE type; /* X_Reply */
242 BYTE pad1;
243 CARD16 sequenceNumber;
244 CARD32 length;
245 CARD32 numIndexValues;
246 CARD32 pad2;
247 CARD32 pad3;
248 CARD32 pad4;
249 CARD32 pad5;
250 CARD32 pad6;
251} xRenderQueryPictIndexValuesReply;
252
253#define sz_xRenderQueryPictIndexValuesReply 32
254
255typedef struct {
256 CARD8 reqType;
257 CARD8 renderReqType;
258 CARD16 length;
259 Picture pid;
260 Drawable drawable;
261 PictFormat format;
262 CARD32 mask;
263} xRenderCreatePictureReq;
264
265#define sz_xRenderCreatePictureReq 20
266
267typedef struct {
268 CARD8 reqType;
269 CARD8 renderReqType;
270 CARD16 length;
271 Picture picture;
272 CARD32 mask;
273} xRenderChangePictureReq;
274
275#define sz_xRenderChangePictureReq 12
276
277typedef struct {
278 CARD8 reqType;
279 CARD8 renderReqType;
280 CARD16 length;
281 Picture picture;
282 INT16 xOrigin;
283 INT16 yOrigin;
284} xRenderSetPictureClipRectanglesReq;
285
286#define sz_xRenderSetPictureClipRectanglesReq 12
287
288typedef struct {
289 CARD8 reqType;
290 CARD8 renderReqType;
291 CARD16 length;
292 Picture picture;
293} xRenderFreePictureReq;
294
295#define sz_xRenderFreePictureReq 8
296
297typedef struct {
298 CARD8 reqType;
299 CARD8 renderReqType;
300 CARD16 length;
301 CARD8 op;
302 CARD8 pad1;
303 CARD16 pad2;
304 Picture src;
305 Picture mask;
306 Picture dst;
307 INT16 xSrc;
308 INT16 ySrc;
309 INT16 xMask;
310 INT16 yMask;
311 INT16 xDst;
312 INT16 yDst;
313 CARD16 width;
314 CARD16 height;
315} xRenderCompositeReq;
316
317#define sz_xRenderCompositeReq 36
318
319typedef struct {
320 CARD8 reqType;
321 CARD8 renderReqType;
322 CARD16 length;
323 Picture src;
324 Picture dst;
325 CARD32 colorScale;
326 CARD32 alphaScale;
327 INT16 xSrc;
328 INT16 ySrc;
329 INT16 xDst;
330 INT16 yDst;
331 CARD16 width;
332 CARD16 height;
333} xRenderScaleReq;
334
335#define sz_xRenderScaleReq 32
336
337typedef struct {
338 CARD8 reqType;
339 CARD8 renderReqType;
340 CARD16 length;
341 CARD8 op;
342 CARD8 pad1;
343 CARD16 pad2;
344 Picture src;
345 Picture dst;
346 PictFormat maskFormat;
347 INT16 xSrc;
348 INT16 ySrc;
349} xRenderTrapezoidsReq;
350
351#define sz_xRenderTrapezoidsReq 24
352
353typedef struct {
354 CARD8 reqType;
355 CARD8 renderReqType;
356 CARD16 length;
357 CARD8 op;
358 CARD8 pad1;
359 CARD16 pad2;
360 Picture src;
361 Picture dst;
362 PictFormat maskFormat;
363 INT16 xSrc;
364 INT16 ySrc;
365} xRenderTrianglesReq;
366
367#define sz_xRenderTrianglesReq 24
368
369typedef struct {
370 CARD8 reqType;
371 CARD8 renderReqType;
372 CARD16 length;
373 CARD8 op;
374 CARD8 pad1;
375 CARD16 pad2;
376 Picture src;
377 Picture dst;
378 PictFormat maskFormat;
379 INT16 xSrc;
380 INT16 ySrc;
381} xRenderTriStripReq;
382
383#define sz_xRenderTriStripReq 24
384
385typedef struct {
386 CARD8 reqType;
387 CARD8 renderReqType;
388 CARD16 length;
389 CARD8 op;
390 CARD8 pad1;
391 CARD16 pad2;
392 Picture src;
393 Picture dst;
394 PictFormat maskFormat;
395 INT16 xSrc;
396 INT16 ySrc;
397} xRenderTriFanReq;
398
399#define sz_xRenderTriFanReq 24
400
401typedef struct {
402 CARD8 reqType;
403 CARD8 renderReqType;
404 CARD16 length;
405 Glyphset gsid;
406 PictFormat format;
407} xRenderCreateGlyphSetReq;
408
409#define sz_xRenderCreateGlyphSetReq 12
410
411typedef struct {
412 CARD8 reqType;
413 CARD8 renderReqType;
414 CARD16 length;
415 Glyphset gsid;
416 Glyphset existing;
417} xRenderReferenceGlyphSetReq;
418
419#define sz_xRenderReferenceGlyphSetReq 24
420
421typedef struct {
422 CARD8 reqType;
423 CARD8 renderReqType;
424 CARD16 length;
425 Glyphset glyphset;
426} xRenderFreeGlyphSetReq;
427
428#define sz_xRenderFreeGlyphSetReq 8
429
430typedef struct {
431 CARD8 reqType;
432 CARD8 renderReqType;
433 CARD16 length;
434 Glyphset glyphset;
435 CARD32 nglyphs;
436} xRenderAddGlyphsReq;
437
438#define sz_xRenderAddGlyphsReq 12
439
440typedef struct {
441 CARD8 reqType;
442 CARD8 renderReqType;
443 CARD16 length;
444 Glyphset glyphset;
445} xRenderFreeGlyphsReq;
446
447#define sz_xRenderFreeGlyphsReq 8
448
449typedef struct {
450 CARD8 reqType;
451 CARD8 renderReqType;
452 CARD16 length;
453 CARD8 op;
454 CARD8 pad1;
455 CARD16 pad2;
456 Picture src;
457 Picture dst;
458 PictFormat maskFormat;
459 Glyphset glyphset;
460 INT16 xSrc;
461 INT16 ySrc;
462} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
463xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
464
465#define sz_xRenderCompositeGlyphs8Req 28
466#define sz_xRenderCompositeGlyphs16Req 28
467#define sz_xRenderCompositeGlyphs32Req 28
468
469/* 0.1 and higher */
470
471typedef struct {
472 CARD8 reqType;
473 CARD8 renderReqType;
474 CARD16 length;
475 CARD8 op;
476 CARD8 pad1;
477 CARD16 pad2;
478 Picture dst;
479 xRenderColor color;
480} xRenderFillRectanglesReq;
481
482#define sz_xRenderFillRectanglesReq 20
483
484/* 0.5 and higher */
485
486typedef struct {
487 CARD8 reqType;
488 CARD8 renderReqType;
489 CARD16 length;
490 Cursor cid;
491 Picture src;
492 CARD16 x;
493 CARD16 y;
494} xRenderCreateCursorReq;
495
496#define sz_xRenderCreateCursorReq 16
497
498/* 0.6 and higher */
499
500/*
501 * This can't use an array because 32-bit values may be in bitfields
502 */
503typedef struct {
504 Fixed matrix11;
505 Fixed matrix12;
506 Fixed matrix13;
507 Fixed matrix21;
508 Fixed matrix22;
509 Fixed matrix23;
510 Fixed matrix31;
511 Fixed matrix32;
512 Fixed matrix33;
513} xRenderTransform;
514
515#define sz_xRenderTransform 36
516
517typedef struct {
518 CARD8 reqType;
519 CARD8 renderReqType;
520 CARD16 length;
521 Picture picture;
522 xRenderTransform transform;
523} xRenderSetPictureTransformReq;
524
525#define sz_xRenderSetPictureTransformReq 44
526
527typedef struct {
528 CARD8 reqType;
529 CARD8 renderReqType;
530 CARD16 length;
531 Drawable drawable;
532} xRenderQueryFiltersReq;
533
534#define sz_xRenderQueryFiltersReq 8
535
536typedef struct {
537 BYTE type; /* X_Reply */
538 BYTE pad1;
539 CARD16 sequenceNumber;
540 CARD32 length;
541 CARD32 numAliases; /* LISTofCARD16 */
542 CARD32 numFilters; /* LISTofSTRING8 */
543 CARD32 pad2;
544 CARD32 pad3;
545 CARD32 pad4;
546 CARD32 pad5;
547} xRenderQueryFiltersReply;
548
549#define sz_xRenderQueryFiltersReply 32
550
551typedef struct {
552 CARD8 reqType;
553 CARD8 renderReqType;
554 CARD16 length;
555 Picture picture;
556 CARD16 nbytes; /* number of bytes in name */
557 CARD16 pad;
558} xRenderSetPictureFilterReq;
559
560#define sz_xRenderSetPictureFilterReq 12
561
562/* 0.8 and higher */
563
564typedef struct {
565 Cursor cursor;
566 CARD32 delay;
567} xAnimCursorElt;
568
569#define sz_xAnimCursorElt 8
570
571typedef struct {
572 CARD8 reqType;
573 CARD8 renderReqType;
574 CARD16 length;
575 Cursor cid;
576} xRenderCreateAnimCursorReq;
577
578#define sz_xRenderCreateAnimCursorReq 8
579
580/* 0.9 and higher */
581
582typedef struct {
583 CARD8 reqType;
584 CARD8 renderReqType;
585 CARD16 length;
586 Picture picture;
587 INT16 xOff;
588 INT16 yOff;
589} xRenderAddTrapsReq;
590
591#define sz_xRenderAddTrapsReq 12
592
593/* 0.10 and higher */
594
595typedef struct {
596 CARD8 reqType;
597 CARD8 renderReqType;
598 CARD16 length;
599 Picture pid;
600 xRenderColor color;
601} xRenderCreateSolidFillReq;
602
603#define sz_xRenderCreateSolidFillReq 16
604
605typedef struct {
606 CARD8 reqType;
607 CARD8 renderReqType;
608 CARD16 length;
609 Picture pid;
610 xPointFixed p1;
611 xPointFixed p2;
612 CARD32 nStops;
613} xRenderCreateLinearGradientReq;
614
615#define sz_xRenderCreateLinearGradientReq 28
616
617typedef struct {
618 CARD8 reqType;
619 CARD8 renderReqType;
620 CARD16 length;
621 Picture pid;
622 xPointFixed inner;
623 xPointFixed outer;
624 Fixed inner_radius;
625 Fixed outer_radius;
626 CARD32 nStops;
627} xRenderCreateRadialGradientReq;
628
629#define sz_xRenderCreateRadialGradientReq 36
630
631typedef struct {
632 CARD8 reqType;
633 CARD8 renderReqType;
634 CARD16 length;
635 Picture pid;
636 xPointFixed center;
637 Fixed angle; /* in degrees */
638 CARD32 nStops;
639} xRenderCreateConicalGradientReq;
640
641#define sz_xRenderCreateConicalGradientReq 24
642
643#undef Window
644#undef Drawable
645#undef Font
646#undef Pixmap
647#undef Cursor
648#undef Colormap
649#undef GContext
650#undef Atom
651#undef VisualID
652#undef Time
653#undef KeyCode
654#undef KeySym
655
656#undef Picture
657#undef PictFormat
658#undef Fixed
659#undef Glyphset
660
661#endif /* _XRENDERP_H_ */