1 /*
2    (c) Copyright 2001-2011  The world wide DirectFB Open Source Community (directfb.org)
3    (c) Copyright 2000-2004  Convergence (integrated media) GmbH
4 
5    All rights reserved.
6 
7    Written by Denis Oliver Kropp <dok@directfb.org>,
8               Andreas Hundt <andi@fischlustig.de>,
9               Sven Neumann <neo@directfb.org>,
10               Ville Syrjälä <syrjala@sci.fi> and
11               Claudio Ciccani <klan@users.sf.net>.
12 
13    This library is free software; you can redistribute it and/or
14    modify it under the terms of the GNU Lesser General Public
15    License as published by the Free Software Foundation; either
16    version 2 of the License, or (at your option) any later version.
17 
18    This library is distributed in the hope that it will be useful,
19    but WITHOUT ANY WARRANTY; without even the implied warranty of
20    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21    Lesser General Public License for more details.
22 
23    You should have received a copy of the GNU Lesser General Public
24    License along with this library; if not, write to the
25    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
26    Boston, MA 02111-1307, USA.
27 */
28 
29 #ifndef ___CoreGraphicsState__H___
30 #define ___CoreGraphicsState__H___
31 
32 #include <core/CoreGraphicsState_includes.h>
33 
34 /**********************************************************************************************************************
35  * CoreGraphicsState
36  */
37 
38 #ifdef __cplusplus
39 #include <core/Interface.h>
40 
41 extern "C" {
42 #endif
43 
44 
45 DFBResult CoreGraphicsState_SetDrawingFlags(
46                     CoreGraphicsState                         *obj,
47                     DFBSurfaceDrawingFlags                     flags);
48 
49 DFBResult CoreGraphicsState_SetBlittingFlags(
50                     CoreGraphicsState                         *obj,
51                     DFBSurfaceBlittingFlags                    flags);
52 
53 DFBResult CoreGraphicsState_SetClip(
54                     CoreGraphicsState                         *obj,
55                     const DFBRegion                           *region);
56 
57 DFBResult CoreGraphicsState_SetColor(
58                     CoreGraphicsState                         *obj,
59                     const DFBColor                            *color);
60 
61 DFBResult CoreGraphicsState_SetColorAndIndex(
62                     CoreGraphicsState                         *obj,
63                     const DFBColor                            *color,
64                     u32                                        index);
65 
66 DFBResult CoreGraphicsState_SetSrcBlend(
67                     CoreGraphicsState                         *obj,
68                     DFBSurfaceBlendFunction                    function);
69 
70 DFBResult CoreGraphicsState_SetDstBlend(
71                     CoreGraphicsState                         *obj,
72                     DFBSurfaceBlendFunction                    function);
73 
74 DFBResult CoreGraphicsState_SetSrcColorKey(
75                     CoreGraphicsState                         *obj,
76                     u32                                        key);
77 
78 DFBResult CoreGraphicsState_SetDstColorKey(
79                     CoreGraphicsState                         *obj,
80                     u32                                        key);
81 
82 DFBResult CoreGraphicsState_SetDestination(
83                     CoreGraphicsState                         *obj,
84                     CoreSurface                               *surface);
85 
86 DFBResult CoreGraphicsState_SetSource(
87                     CoreGraphicsState                         *obj,
88                     CoreSurface                               *surface);
89 
90 DFBResult CoreGraphicsState_SetSourceMask(
91                     CoreGraphicsState                         *obj,
92                     CoreSurface                               *surface);
93 
94 DFBResult CoreGraphicsState_SetSourceMaskVals(
95                     CoreGraphicsState                         *obj,
96                     const DFBPoint                            *offset,
97                     DFBSurfaceMaskFlags                        flags);
98 
99 DFBResult CoreGraphicsState_SetIndexTranslation(
100                     CoreGraphicsState                         *obj,
101                     const s32                                 *indices,
102                     u32                                        num);
103 
104 DFBResult CoreGraphicsState_SetColorKey(
105                     CoreGraphicsState                         *obj,
106                     const DFBColorKey                         *key);
107 
108 DFBResult CoreGraphicsState_SetRenderOptions(
109                     CoreGraphicsState                         *obj,
110                     DFBSurfaceRenderOptions                    options);
111 
112 DFBResult CoreGraphicsState_SetMatrix(
113                     CoreGraphicsState                         *obj,
114                     const s32                                 *values);
115 
116 DFBResult CoreGraphicsState_SetSource2(
117                     CoreGraphicsState                         *obj,
118                     CoreSurface                               *surface);
119 
120 DFBResult CoreGraphicsState_DrawRectangles(
121                     CoreGraphicsState                         *obj,
122                     const DFBRectangle                        *rects,
123                     u32                                        num);
124 
125 DFBResult CoreGraphicsState_DrawLines(
126                     CoreGraphicsState                         *obj,
127                     const DFBRegion                           *lines,
128                     u32                                        num);
129 
130 DFBResult CoreGraphicsState_FillRectangles(
131                     CoreGraphicsState                         *obj,
132                     const DFBRectangle                        *rects,
133                     u32                                        num);
134 
135 DFBResult CoreGraphicsState_FillTriangles(
136                     CoreGraphicsState                         *obj,
137                     const DFBTriangle                         *triangles,
138                     u32                                        num);
139 
140 DFBResult CoreGraphicsState_FillTrapezoids(
141                     CoreGraphicsState                         *obj,
142                     const DFBTrapezoid                        *trapezoids,
143                     u32                                        num);
144 
145 DFBResult CoreGraphicsState_FillSpans(
146                     CoreGraphicsState                         *obj,
147                     s32                                        y,
148                     const DFBSpan                             *spans,
149                     u32                                        num);
150 
151 DFBResult CoreGraphicsState_Blit(
152                     CoreGraphicsState                         *obj,
153                     const DFBRectangle                        *rects,
154                     const DFBPoint                            *points,
155                     u32                                        num);
156 
157 DFBResult CoreGraphicsState_Blit2(
158                     CoreGraphicsState                         *obj,
159                     const DFBRectangle                        *rects,
160                     const DFBPoint                            *points1,
161                     const DFBPoint                            *points2,
162                     u32                                        num);
163 
164 DFBResult CoreGraphicsState_StretchBlit(
165                     CoreGraphicsState                         *obj,
166                     const DFBRectangle                        *srects,
167                     const DFBRectangle                        *drects,
168                     u32                                        num);
169 
170 DFBResult CoreGraphicsState_TileBlit(
171                     CoreGraphicsState                         *obj,
172                     const DFBRectangle                        *rects,
173                     const DFBPoint                            *points1,
174                     const DFBPoint                            *points2,
175                     u32                                        num);
176 
177 DFBResult CoreGraphicsState_TextureTriangles(
178                     CoreGraphicsState                         *obj,
179                     const DFBVertex                           *vertices,
180                     u32                                        num,
181                     DFBTriangleFormation                       formation);
182 
183 DFBResult CoreGraphicsState_ReleaseSource(
184                     CoreGraphicsState                         *obj
185 );
186 
187 
188 void CoreGraphicsState_Init_Dispatch(
189                     CoreDFB              *core,
190                     CoreGraphicsState    *obj,
191                     FusionCall           *call
192 );
193 
194 void  CoreGraphicsState_Deinit_Dispatch(
195                     FusionCall           *call
196 );
197 
198 
199 #ifdef __cplusplus
200 }
201 #endif
202 
203 
204 
205 
206 /*
207  * CoreGraphicsState Calls
208  */
209 typedef enum {
210     _CoreGraphicsState_SetDrawingFlags = 1,
211     _CoreGraphicsState_SetBlittingFlags = 2,
212     _CoreGraphicsState_SetClip = 3,
213     _CoreGraphicsState_SetColor = 4,
214     _CoreGraphicsState_SetColorAndIndex = 5,
215     _CoreGraphicsState_SetSrcBlend = 6,
216     _CoreGraphicsState_SetDstBlend = 7,
217     _CoreGraphicsState_SetSrcColorKey = 8,
218     _CoreGraphicsState_SetDstColorKey = 9,
219     _CoreGraphicsState_SetDestination = 10,
220     _CoreGraphicsState_SetSource = 11,
221     _CoreGraphicsState_SetSourceMask = 12,
222     _CoreGraphicsState_SetSourceMaskVals = 13,
223     _CoreGraphicsState_SetIndexTranslation = 14,
224     _CoreGraphicsState_SetColorKey = 15,
225     _CoreGraphicsState_SetRenderOptions = 16,
226     _CoreGraphicsState_SetMatrix = 17,
227     _CoreGraphicsState_SetSource2 = 18,
228     _CoreGraphicsState_DrawRectangles = 19,
229     _CoreGraphicsState_DrawLines = 20,
230     _CoreGraphicsState_FillRectangles = 21,
231     _CoreGraphicsState_FillTriangles = 22,
232     _CoreGraphicsState_FillTrapezoids = 23,
233     _CoreGraphicsState_FillSpans = 24,
234     _CoreGraphicsState_Blit = 25,
235     _CoreGraphicsState_Blit2 = 26,
236     _CoreGraphicsState_StretchBlit = 27,
237     _CoreGraphicsState_TileBlit = 28,
238     _CoreGraphicsState_TextureTriangles = 29,
239     _CoreGraphicsState_ReleaseSource = 30,
240 } CoreGraphicsStateCall;
241 
242 /*
243  * CoreGraphicsState_SetDrawingFlags
244  */
245 typedef struct {
246     DFBSurfaceDrawingFlags                     flags;
247 } CoreGraphicsStateSetDrawingFlags;
248 
249 typedef struct {
250     DFBResult                                  result;
251 } CoreGraphicsStateSetDrawingFlagsReturn;
252 
253 
254 /*
255  * CoreGraphicsState_SetBlittingFlags
256  */
257 typedef struct {
258     DFBSurfaceBlittingFlags                    flags;
259 } CoreGraphicsStateSetBlittingFlags;
260 
261 typedef struct {
262     DFBResult                                  result;
263 } CoreGraphicsStateSetBlittingFlagsReturn;
264 
265 
266 /*
267  * CoreGraphicsState_SetClip
268  */
269 typedef struct {
270     DFBRegion                                  region;
271 } CoreGraphicsStateSetClip;
272 
273 typedef struct {
274     DFBResult                                  result;
275 } CoreGraphicsStateSetClipReturn;
276 
277 
278 /*
279  * CoreGraphicsState_SetColor
280  */
281 typedef struct {
282     DFBColor                                   color;
283 } CoreGraphicsStateSetColor;
284 
285 typedef struct {
286     DFBResult                                  result;
287 } CoreGraphicsStateSetColorReturn;
288 
289 
290 /*
291  * CoreGraphicsState_SetColorAndIndex
292  */
293 typedef struct {
294     DFBColor                                   color;
295     u32                                        index;
296 } CoreGraphicsStateSetColorAndIndex;
297 
298 typedef struct {
299     DFBResult                                  result;
300 } CoreGraphicsStateSetColorAndIndexReturn;
301 
302 
303 /*
304  * CoreGraphicsState_SetSrcBlend
305  */
306 typedef struct {
307     DFBSurfaceBlendFunction                    function;
308 } CoreGraphicsStateSetSrcBlend;
309 
310 typedef struct {
311     DFBResult                                  result;
312 } CoreGraphicsStateSetSrcBlendReturn;
313 
314 
315 /*
316  * CoreGraphicsState_SetDstBlend
317  */
318 typedef struct {
319     DFBSurfaceBlendFunction                    function;
320 } CoreGraphicsStateSetDstBlend;
321 
322 typedef struct {
323     DFBResult                                  result;
324 } CoreGraphicsStateSetDstBlendReturn;
325 
326 
327 /*
328  * CoreGraphicsState_SetSrcColorKey
329  */
330 typedef struct {
331     u32                                        key;
332 } CoreGraphicsStateSetSrcColorKey;
333 
334 typedef struct {
335     DFBResult                                  result;
336 } CoreGraphicsStateSetSrcColorKeyReturn;
337 
338 
339 /*
340  * CoreGraphicsState_SetDstColorKey
341  */
342 typedef struct {
343     u32                                        key;
344 } CoreGraphicsStateSetDstColorKey;
345 
346 typedef struct {
347     DFBResult                                  result;
348 } CoreGraphicsStateSetDstColorKeyReturn;
349 
350 
351 /*
352  * CoreGraphicsState_SetDestination
353  */
354 typedef struct {
355     u32                                        surface_id;
356 } CoreGraphicsStateSetDestination;
357 
358 typedef struct {
359     DFBResult                                  result;
360 } CoreGraphicsStateSetDestinationReturn;
361 
362 
363 /*
364  * CoreGraphicsState_SetSource
365  */
366 typedef struct {
367     u32                                        surface_id;
368 } CoreGraphicsStateSetSource;
369 
370 typedef struct {
371     DFBResult                                  result;
372 } CoreGraphicsStateSetSourceReturn;
373 
374 
375 /*
376  * CoreGraphicsState_SetSourceMask
377  */
378 typedef struct {
379     u32                                        surface_id;
380 } CoreGraphicsStateSetSourceMask;
381 
382 typedef struct {
383     DFBResult                                  result;
384 } CoreGraphicsStateSetSourceMaskReturn;
385 
386 
387 /*
388  * CoreGraphicsState_SetSourceMaskVals
389  */
390 typedef struct {
391     DFBPoint                                   offset;
392     DFBSurfaceMaskFlags                        flags;
393 } CoreGraphicsStateSetSourceMaskVals;
394 
395 typedef struct {
396     DFBResult                                  result;
397 } CoreGraphicsStateSetSourceMaskValsReturn;
398 
399 
400 /*
401  * CoreGraphicsState_SetIndexTranslation
402  */
403 typedef struct {
404     u32                                        num;
405     /* 'num' s32 follow (indices) */
406 } CoreGraphicsStateSetIndexTranslation;
407 
408 typedef struct {
409     DFBResult                                  result;
410 } CoreGraphicsStateSetIndexTranslationReturn;
411 
412 
413 /*
414  * CoreGraphicsState_SetColorKey
415  */
416 typedef struct {
417     DFBColorKey                                key;
418 } CoreGraphicsStateSetColorKey;
419 
420 typedef struct {
421     DFBResult                                  result;
422 } CoreGraphicsStateSetColorKeyReturn;
423 
424 
425 /*
426  * CoreGraphicsState_SetRenderOptions
427  */
428 typedef struct {
429     DFBSurfaceRenderOptions                    options;
430 } CoreGraphicsStateSetRenderOptions;
431 
432 typedef struct {
433     DFBResult                                  result;
434 } CoreGraphicsStateSetRenderOptionsReturn;
435 
436 
437 /*
438  * CoreGraphicsState_SetMatrix
439  */
440 typedef struct {
441     /* '9' s32 follow (values) */
442 } CoreGraphicsStateSetMatrix;
443 
444 typedef struct {
445     DFBResult                                  result;
446 } CoreGraphicsStateSetMatrixReturn;
447 
448 
449 /*
450  * CoreGraphicsState_SetSource2
451  */
452 typedef struct {
453     u32                                        surface_id;
454 } CoreGraphicsStateSetSource2;
455 
456 typedef struct {
457     DFBResult                                  result;
458 } CoreGraphicsStateSetSource2Return;
459 
460 
461 /*
462  * CoreGraphicsState_DrawRectangles
463  */
464 typedef struct {
465     u32                                        num;
466     /* 'num' DFBRectangle follow (rects) */
467 } CoreGraphicsStateDrawRectangles;
468 
469 typedef struct {
470     DFBResult                                  result;
471 } CoreGraphicsStateDrawRectanglesReturn;
472 
473 
474 /*
475  * CoreGraphicsState_DrawLines
476  */
477 typedef struct {
478     u32                                        num;
479     /* 'num' DFBRegion follow (lines) */
480 } CoreGraphicsStateDrawLines;
481 
482 typedef struct {
483     DFBResult                                  result;
484 } CoreGraphicsStateDrawLinesReturn;
485 
486 
487 /*
488  * CoreGraphicsState_FillRectangles
489  */
490 typedef struct {
491     u32                                        num;
492     /* 'num' DFBRectangle follow (rects) */
493 } CoreGraphicsStateFillRectangles;
494 
495 typedef struct {
496     DFBResult                                  result;
497 } CoreGraphicsStateFillRectanglesReturn;
498 
499 
500 /*
501  * CoreGraphicsState_FillTriangles
502  */
503 typedef struct {
504     u32                                        num;
505     /* 'num' DFBTriangle follow (triangles) */
506 } CoreGraphicsStateFillTriangles;
507 
508 typedef struct {
509     DFBResult                                  result;
510 } CoreGraphicsStateFillTrianglesReturn;
511 
512 
513 /*
514  * CoreGraphicsState_FillTrapezoids
515  */
516 typedef struct {
517     u32                                        num;
518     /* 'num' DFBTrapezoid follow (trapezoids) */
519 } CoreGraphicsStateFillTrapezoids;
520 
521 typedef struct {
522     DFBResult                                  result;
523 } CoreGraphicsStateFillTrapezoidsReturn;
524 
525 
526 /*
527  * CoreGraphicsState_FillSpans
528  */
529 typedef struct {
530     s32                                        y;
531     u32                                        num;
532     /* 'num' DFBSpan follow (spans) */
533 } CoreGraphicsStateFillSpans;
534 
535 typedef struct {
536     DFBResult                                  result;
537 } CoreGraphicsStateFillSpansReturn;
538 
539 
540 /*
541  * CoreGraphicsState_Blit
542  */
543 typedef struct {
544     u32                                        num;
545     /* 'num' DFBRectangle follow (rects) */
546     /* 'num' DFBPoint follow (points) */
547 } CoreGraphicsStateBlit;
548 
549 typedef struct {
550     DFBResult                                  result;
551 } CoreGraphicsStateBlitReturn;
552 
553 
554 /*
555  * CoreGraphicsState_Blit2
556  */
557 typedef struct {
558     u32                                        num;
559     /* 'num' DFBRectangle follow (rects) */
560     /* 'num' DFBPoint follow (points1) */
561     /* 'num' DFBPoint follow (points2) */
562 } CoreGraphicsStateBlit2;
563 
564 typedef struct {
565     DFBResult                                  result;
566 } CoreGraphicsStateBlit2Return;
567 
568 
569 /*
570  * CoreGraphicsState_StretchBlit
571  */
572 typedef struct {
573     u32                                        num;
574     /* 'num' DFBRectangle follow (srects) */
575     /* 'num' DFBRectangle follow (drects) */
576 } CoreGraphicsStateStretchBlit;
577 
578 typedef struct {
579     DFBResult                                  result;
580 } CoreGraphicsStateStretchBlitReturn;
581 
582 
583 /*
584  * CoreGraphicsState_TileBlit
585  */
586 typedef struct {
587     u32                                        num;
588     /* 'num' DFBRectangle follow (rects) */
589     /* 'num' DFBPoint follow (points1) */
590     /* 'num' DFBPoint follow (points2) */
591 } CoreGraphicsStateTileBlit;
592 
593 typedef struct {
594     DFBResult                                  result;
595 } CoreGraphicsStateTileBlitReturn;
596 
597 
598 /*
599  * CoreGraphicsState_TextureTriangles
600  */
601 typedef struct {
602     u32                                        num;
603     DFBTriangleFormation                       formation;
604     /* 'num' DFBVertex follow (vertices) */
605 } CoreGraphicsStateTextureTriangles;
606 
607 typedef struct {
608     DFBResult                                  result;
609 } CoreGraphicsStateTextureTrianglesReturn;
610 
611 
612 /*
613  * CoreGraphicsState_ReleaseSource
614  */
615 typedef struct {
616 } CoreGraphicsStateReleaseSource;
617 
618 typedef struct {
619     DFBResult                                  result;
620 } CoreGraphicsStateReleaseSourceReturn;
621 
622 
623 DFBResult IGraphicsState_Real__SetDrawingFlags( CoreGraphicsState *obj,
624                     DFBSurfaceDrawingFlags                     flags );
625 
626 DFBResult IGraphicsState_Real__SetBlittingFlags( CoreGraphicsState *obj,
627                     DFBSurfaceBlittingFlags                    flags );
628 
629 DFBResult IGraphicsState_Real__SetClip( CoreGraphicsState *obj,
630                     const DFBRegion                           *region );
631 
632 DFBResult IGraphicsState_Real__SetColor( CoreGraphicsState *obj,
633                     const DFBColor                            *color );
634 
635 DFBResult IGraphicsState_Real__SetColorAndIndex( CoreGraphicsState *obj,
636                     const DFBColor                            *color,
637                     u32                                        index );
638 
639 DFBResult IGraphicsState_Real__SetSrcBlend( CoreGraphicsState *obj,
640                     DFBSurfaceBlendFunction                    function );
641 
642 DFBResult IGraphicsState_Real__SetDstBlend( CoreGraphicsState *obj,
643                     DFBSurfaceBlendFunction                    function );
644 
645 DFBResult IGraphicsState_Real__SetSrcColorKey( CoreGraphicsState *obj,
646                     u32                                        key );
647 
648 DFBResult IGraphicsState_Real__SetDstColorKey( CoreGraphicsState *obj,
649                     u32                                        key );
650 
651 DFBResult IGraphicsState_Real__SetDestination( CoreGraphicsState *obj,
652                     CoreSurface                               *surface );
653 
654 DFBResult IGraphicsState_Real__SetSource( CoreGraphicsState *obj,
655                     CoreSurface                               *surface );
656 
657 DFBResult IGraphicsState_Real__SetSourceMask( CoreGraphicsState *obj,
658                     CoreSurface                               *surface );
659 
660 DFBResult IGraphicsState_Real__SetSourceMaskVals( CoreGraphicsState *obj,
661                     const DFBPoint                            *offset,
662                     DFBSurfaceMaskFlags                        flags );
663 
664 DFBResult IGraphicsState_Real__SetIndexTranslation( CoreGraphicsState *obj,
665                     const s32                                 *indices,
666                     u32                                        num );
667 
668 DFBResult IGraphicsState_Real__SetColorKey( CoreGraphicsState *obj,
669                     const DFBColorKey                         *key );
670 
671 DFBResult IGraphicsState_Real__SetRenderOptions( CoreGraphicsState *obj,
672                     DFBSurfaceRenderOptions                    options );
673 
674 DFBResult IGraphicsState_Real__SetMatrix( CoreGraphicsState *obj,
675                     const s32                                 *values );
676 
677 DFBResult IGraphicsState_Real__SetSource2( CoreGraphicsState *obj,
678                     CoreSurface                               *surface );
679 
680 DFBResult IGraphicsState_Real__DrawRectangles( CoreGraphicsState *obj,
681                     const DFBRectangle                        *rects,
682                     u32                                        num );
683 
684 DFBResult IGraphicsState_Real__DrawLines( CoreGraphicsState *obj,
685                     const DFBRegion                           *lines,
686                     u32                                        num );
687 
688 DFBResult IGraphicsState_Real__FillRectangles( CoreGraphicsState *obj,
689                     const DFBRectangle                        *rects,
690                     u32                                        num );
691 
692 DFBResult IGraphicsState_Real__FillTriangles( CoreGraphicsState *obj,
693                     const DFBTriangle                         *triangles,
694                     u32                                        num );
695 
696 DFBResult IGraphicsState_Real__FillTrapezoids( CoreGraphicsState *obj,
697                     const DFBTrapezoid                        *trapezoids,
698                     u32                                        num );
699 
700 DFBResult IGraphicsState_Real__FillSpans( CoreGraphicsState *obj,
701                     s32                                        y,
702                     const DFBSpan                             *spans,
703                     u32                                        num );
704 
705 DFBResult IGraphicsState_Real__Blit( CoreGraphicsState *obj,
706                     const DFBRectangle                        *rects,
707                     const DFBPoint                            *points,
708                     u32                                        num );
709 
710 DFBResult IGraphicsState_Real__Blit2( CoreGraphicsState *obj,
711                     const DFBRectangle                        *rects,
712                     const DFBPoint                            *points1,
713                     const DFBPoint                            *points2,
714                     u32                                        num );
715 
716 DFBResult IGraphicsState_Real__StretchBlit( CoreGraphicsState *obj,
717                     const DFBRectangle                        *srects,
718                     const DFBRectangle                        *drects,
719                     u32                                        num );
720 
721 DFBResult IGraphicsState_Real__TileBlit( CoreGraphicsState *obj,
722                     const DFBRectangle                        *rects,
723                     const DFBPoint                            *points1,
724                     const DFBPoint                            *points2,
725                     u32                                        num );
726 
727 DFBResult IGraphicsState_Real__TextureTriangles( CoreGraphicsState *obj,
728                     const DFBVertex                           *vertices,
729                     u32                                        num,
730                     DFBTriangleFormation                       formation );
731 
732 DFBResult IGraphicsState_Real__ReleaseSource( CoreGraphicsState *obj
733  );
734 
735 DFBResult IGraphicsState_Requestor__SetDrawingFlags( CoreGraphicsState *obj,
736                     DFBSurfaceDrawingFlags                     flags );
737 
738 DFBResult IGraphicsState_Requestor__SetBlittingFlags( CoreGraphicsState *obj,
739                     DFBSurfaceBlittingFlags                    flags );
740 
741 DFBResult IGraphicsState_Requestor__SetClip( CoreGraphicsState *obj,
742                     const DFBRegion                           *region );
743 
744 DFBResult IGraphicsState_Requestor__SetColor( CoreGraphicsState *obj,
745                     const DFBColor                            *color );
746 
747 DFBResult IGraphicsState_Requestor__SetColorAndIndex( CoreGraphicsState *obj,
748                     const DFBColor                            *color,
749                     u32                                        index );
750 
751 DFBResult IGraphicsState_Requestor__SetSrcBlend( CoreGraphicsState *obj,
752                     DFBSurfaceBlendFunction                    function );
753 
754 DFBResult IGraphicsState_Requestor__SetDstBlend( CoreGraphicsState *obj,
755                     DFBSurfaceBlendFunction                    function );
756 
757 DFBResult IGraphicsState_Requestor__SetSrcColorKey( CoreGraphicsState *obj,
758                     u32                                        key );
759 
760 DFBResult IGraphicsState_Requestor__SetDstColorKey( CoreGraphicsState *obj,
761                     u32                                        key );
762 
763 DFBResult IGraphicsState_Requestor__SetDestination( CoreGraphicsState *obj,
764                     CoreSurface                               *surface );
765 
766 DFBResult IGraphicsState_Requestor__SetSource( CoreGraphicsState *obj,
767                     CoreSurface                               *surface );
768 
769 DFBResult IGraphicsState_Requestor__SetSourceMask( CoreGraphicsState *obj,
770                     CoreSurface                               *surface );
771 
772 DFBResult IGraphicsState_Requestor__SetSourceMaskVals( CoreGraphicsState *obj,
773                     const DFBPoint                            *offset,
774                     DFBSurfaceMaskFlags                        flags );
775 
776 DFBResult IGraphicsState_Requestor__SetIndexTranslation( CoreGraphicsState *obj,
777                     const s32                                 *indices,
778                     u32                                        num );
779 
780 DFBResult IGraphicsState_Requestor__SetColorKey( CoreGraphicsState *obj,
781                     const DFBColorKey                         *key );
782 
783 DFBResult IGraphicsState_Requestor__SetRenderOptions( CoreGraphicsState *obj,
784                     DFBSurfaceRenderOptions                    options );
785 
786 DFBResult IGraphicsState_Requestor__SetMatrix( CoreGraphicsState *obj,
787                     const s32                                 *values );
788 
789 DFBResult IGraphicsState_Requestor__SetSource2( CoreGraphicsState *obj,
790                     CoreSurface                               *surface );
791 
792 DFBResult IGraphicsState_Requestor__DrawRectangles( CoreGraphicsState *obj,
793                     const DFBRectangle                        *rects,
794                     u32                                        num );
795 
796 DFBResult IGraphicsState_Requestor__DrawLines( CoreGraphicsState *obj,
797                     const DFBRegion                           *lines,
798                     u32                                        num );
799 
800 DFBResult IGraphicsState_Requestor__FillRectangles( CoreGraphicsState *obj,
801                     const DFBRectangle                        *rects,
802                     u32                                        num );
803 
804 DFBResult IGraphicsState_Requestor__FillTriangles( CoreGraphicsState *obj,
805                     const DFBTriangle                         *triangles,
806                     u32                                        num );
807 
808 DFBResult IGraphicsState_Requestor__FillTrapezoids( CoreGraphicsState *obj,
809                     const DFBTrapezoid                        *trapezoids,
810                     u32                                        num );
811 
812 DFBResult IGraphicsState_Requestor__FillSpans( CoreGraphicsState *obj,
813                     s32                                        y,
814                     const DFBSpan                             *spans,
815                     u32                                        num );
816 
817 DFBResult IGraphicsState_Requestor__Blit( CoreGraphicsState *obj,
818                     const DFBRectangle                        *rects,
819                     const DFBPoint                            *points,
820                     u32                                        num );
821 
822 DFBResult IGraphicsState_Requestor__Blit2( CoreGraphicsState *obj,
823                     const DFBRectangle                        *rects,
824                     const DFBPoint                            *points1,
825                     const DFBPoint                            *points2,
826                     u32                                        num );
827 
828 DFBResult IGraphicsState_Requestor__StretchBlit( CoreGraphicsState *obj,
829                     const DFBRectangle                        *srects,
830                     const DFBRectangle                        *drects,
831                     u32                                        num );
832 
833 DFBResult IGraphicsState_Requestor__TileBlit( CoreGraphicsState *obj,
834                     const DFBRectangle                        *rects,
835                     const DFBPoint                            *points1,
836                     const DFBPoint                            *points2,
837                     u32                                        num );
838 
839 DFBResult IGraphicsState_Requestor__TextureTriangles( CoreGraphicsState *obj,
840                     const DFBVertex                           *vertices,
841                     u32                                        num,
842                     DFBTriangleFormation                       formation );
843 
844 DFBResult IGraphicsState_Requestor__ReleaseSource( CoreGraphicsState *obj
845  );
846 
847 
848 DFBResult CoreGraphicsStateDispatch__Dispatch( CoreGraphicsState *obj,
849                     FusionID      caller,
850                     int           method,
851                     void         *ptr,
852                     unsigned int  length,
853                     void         *ret_ptr,
854                     unsigned int  ret_size,
855                     unsigned int *ret_length );
856 
857 
858 #endif
859