0023024: Update headers of OCCT files
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_Cextern.hxx
1 // Copyright (c) 1991-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 //
4 // The content of this file is subject to the Open CASCADE Technology Public
5 // License Version 6.5 (the "License"). You may not use the content of this file
6 // except in compliance with the License. Please obtain a copy of the License
7 // at http://www.opencascade.org and read it completely before using this file.
8 //
9 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 //
12 // The Original Code and all software distributed under the License is
13 // distributed on an "AS IS" basis, without warranty of any kind, and the
14 // Initial Developer hereby disclaims all such warranties, including without
15 // limitation, any warranties of merchantability, fitness for a particular
16 // purpose or non-infringement. Please see the License for the specific terms
17 // and conditions governing the rights and limitations under the License.
18
19
20 /*
21  * Attention, ce fichier passe par InterfaceGraphic_Cextern.awk.
22  * Il faut donc respecter le format de declaration des fonctions.
23  * Voir les regles precedees par !
24  *
25  * <type_retourne> EXPORT call_<nom_fonction> (
26  * #ifdef INTERFACEGRAPHIC_PROTOTYPE  ! ne pas changer son nom mais facultatif
27  *  <type_argument> <nom_argument>, ! virgule collee au nom
28  *  <type_argument> *<nom_pointeur> ! * collee au nom
29  *          ! une declaration d'argument par ligne
30  * #endif       ! facultatif
31  * );         ! ); ensembles sur une ligne
32  *          !    et en premiere colonne
33  *
34  * Merci, CAL
35  *
36  * Fonctions enlevees le 6/3/97
37  *
38  * call_togl_light
39  * call_togl_plane
40  * call_togl_text3
41  * call_togl_light_exploration
42  * call_togl_build_matrix
43  * call_tox_xgrigri
44  * call_tox_set_colormap_mapping
45  * call_util_osd_getenv
46  *
47  * 5/08/97 ; PCT : ajout texture mapping
48  * 17/09/98 ; FMN/BGN : ajout (S3819) des Ponts d'entree du Triedre.
49  * 15/11/99 ; GG PRO603 Add call_togl_redraw_area
50  * 24/01/00 ; EUG G003 Add call_togl_degeneratestructure() and
51  *                         call_togl_backfacing() functions.
52  * 27/0302  ; GG RIC120302 Add call_togl_begin_display function
53  * 16/06/2000 : ATS : G005 : Add function call_togl_parray
54  * 23/10/01 ; SAV Add call_togl_depthtest()
55  *                    call_togl_isdepthtest()
56  * 25/10/01 ; SAV Add call_togl_gllight()
57  *                    call_togl_isgllight()
58  * 23/12/02 ; SAV Added call_togl_create_bg_texture() and 
59  *            call_togl_set_bg_texture_style() to set background image
60  * 15/08/05 ; SZV Added call_togl_userdraw()
61  *
62  */
63
64 #ifndef InterfaceGraphic_CexternHeader
65 #define InterfaceGraphic_CexternHeader
66
67 #if defined (__STDC__) || defined (__cplusplus) || defined (c_plusplus)
68 #define INTERFACEGRAPHIC_PROTOTYPE 1
69 #endif
70
71 #define InterfaceGraphic_True   1
72 #define InterfaceGraphic_False    0
73
74 #define InterfaceGraphic_Success  1
75 #define InterfaceGraphic_Failure  0
76
77 #define OCC1188 /* SAV : added methods to set background image */
78
79 #include <InterfaceGraphic_X11.hxx>
80 #include <InterfaceGraphic_Aspect.hxx>
81 #include <InterfaceGraphic_Graphic3d.hxx>
82 #include <InterfaceGraphic_Visual3d.hxx>
83
84 #include <Graphic3d_CGraduatedTrihedron.hxx>
85
86 #define  BUC61044    /* 25/10/01 SAV ; added functionality to control gl depth testing
87       from higher API */
88 #define  BUC61045    /* 25/10/01 SAV ; added functionality to control gl lighting 
89       from higher API */
90
91   /* Declarations  des subroutines  triedron */
92
93 void EXPORT call_togl_ztriedron_setup (
94 #ifdef INTERFACEGRAPHIC_PROTOTYPE
95   float* xcolor,
96   float* ycolor,
97   float* zcolor,
98   float  sizeratio,
99   float  axisdiameter,
100   int    nbfacettes          
101 #endif
102 );
103
104 void EXPORT call_togl_triedron_display (
105 #ifdef INTERFACEGRAPHIC_PROTOTYPE
106   CALL_DEF_VIEW * aview, 
107   int APosition, 
108   float r,
109   float g,
110   float b,
111   float AScale,
112   int asWireframe 
113 #endif
114 );
115
116 void EXPORT call_togl_triedron_erase (
117 #ifdef INTERFACEGRAPHIC_PROTOTYPE
118   CALL_DEF_VIEW *aview
119 #endif
120 );
121
122 void EXPORT call_togl_triedron_echo (
123 #ifdef INTERFACEGRAPHIC_PROTOTYPE
124   CALL_DEF_VIEW *aview,
125   int AType
126 #endif
127 );
128
129   /* Declarations  des subroutines  mode immediat */
130
131 int EXPORT call_togl_begin_ajout_mode (
132 #ifdef INTERFACEGRAPHIC_PROTOTYPE
133   CALL_DEF_VIEW *aview
134 #endif
135 );
136
137 void EXPORT call_togl_end_ajout_mode (
138 );
139
140 int EXPORT call_togl_begin_immediat_mode (
141 #ifdef INTERFACEGRAPHIC_PROTOTYPE
142   CALL_DEF_VIEW *aview,
143   CALL_DEF_LAYER *anunderlayer,
144   CALL_DEF_LAYER *anoverlayer,
145   int doublebuffer,
146   int   retainmode
147 #endif
148 );
149
150 void EXPORT call_togl_end_immediat_mode (
151 #ifdef INTERFACEGRAPHIC_PROTOTYPE
152   int synchronize
153 #endif
154 );
155
156 void EXPORT call_togl_clear_immediat_mode (
157 #ifdef INTERFACEGRAPHIC_PROTOTYPE
158   CALL_DEF_VIEW *aview,
159   int aFlush
160 #endif
161 );
162
163 void EXPORT call_togl_transform (
164 #ifdef INTERFACEGRAPHIC_PROTOTYPE
165   CALL_DEF_MATRIX4X4 amatrix,
166   int mode
167 #endif
168 );
169
170 void EXPORT call_togl_begin_polyline (
171 );
172
173 void EXPORT call_togl_end_polyline (
174 );
175
176 void EXPORT call_togl_begin_polygon (
177 );
178
179 void EXPORT call_togl_end_polygon (
180 );
181
182 void EXPORT call_togl_begin_trianglemesh (
183 );
184
185 void EXPORT call_togl_end_trianglemesh (
186 );
187
188 void EXPORT call_togl_begin_marker (
189 );
190
191 void EXPORT call_togl_end_marker (
192 );
193
194 void EXPORT call_togl_begin_bezier (
195 );
196
197 void EXPORT call_togl_end_bezier (
198 );
199
200 void EXPORT call_togl_move (
201 #ifdef INTERFACEGRAPHIC_PROTOTYPE
202   float x,
203   float y,
204   float z
205 #endif
206 );
207
208 void EXPORT call_togl_movenormal (
209 #ifdef INTERFACEGRAPHIC_PROTOTYPE
210   float x,
211   float y,
212   float z,
213   float nx,
214   float ny,
215   float nz
216 #endif
217 );
218
219 void EXPORT call_togl_moveweight (
220 #ifdef INTERFACEGRAPHIC_PROTOTYPE
221   float x,
222   float y,
223   float z,
224   float w
225 #endif
226 );
227
228 void EXPORT call_togl_draw (
229 #ifdef INTERFACEGRAPHIC_PROTOTYPE
230   float x,
231   float y,
232   float z
233 #endif
234 );
235
236 void EXPORT call_togl_drawnormal (
237 #ifdef INTERFACEGRAPHIC_PROTOTYPE
238   float x,
239   float y,
240   float z,
241   float nx,
242   float ny,
243   float nz
244 #endif
245 );
246
247 void EXPORT call_togl_drawweight (
248 #ifdef INTERFACEGRAPHIC_PROTOTYPE
249   float x,
250   float y,
251   float z,
252   float w
253 #endif
254 );
255
256 void EXPORT call_togl_draw_text (
257 #ifdef INTERFACEGRAPHIC_PROTOTYPE
258   CALL_DEF_TEXT *atext
259 #endif
260 );
261
262 void EXPORT call_togl_draw_structure (
263 #ifdef INTERFACEGRAPHIC_PROTOTYPE
264   int StructId
265 #endif
266 );
267
268 void EXPORT call_togl_set_linecolor (
269 #ifdef INTERFACEGRAPHIC_PROTOTYPE
270   float r,
271   float g,
272   float b
273 #endif
274 );
275
276 void EXPORT call_togl_set_interiorcolor (
277 #ifdef INTERFACEGRAPHIC_PROTOTYPE
278   float r,
279   float g,
280   float b
281 #endif
282 );
283
284 void EXPORT call_togl_set_linetype (
285 #ifdef INTERFACEGRAPHIC_PROTOTYPE
286   long type
287 #endif
288 );
289
290 void EXPORT call_togl_set_interiortype (
291 #ifdef INTERFACEGRAPHIC_PROTOTYPE
292   long type
293 #endif
294 );
295
296 void EXPORT call_togl_set_linewidth (
297 #ifdef INTERFACEGRAPHIC_PROTOTYPE
298   float width
299 #endif
300 );
301
302 void EXPORT call_togl_set_textcolor (
303 #ifdef INTERFACEGRAPHIC_PROTOTYPE
304   float r,
305   float g,
306   float b
307 #endif
308 );
309
310 void EXPORT call_togl_set_textfont (
311 #ifdef INTERFACEGRAPHIC_PROTOTYPE
312   char *police,
313   float factor,
314   float space
315 #endif
316 );
317
318 void EXPORT call_togl_set_markercolor (
319 #ifdef INTERFACEGRAPHIC_PROTOTYPE
320   float r,
321   float g,
322   float b
323 #endif
324 );
325
326 void EXPORT call_togl_set_markertype (
327 #ifdef INTERFACEGRAPHIC_PROTOTYPE
328   long type,
329   float scale
330 #endif
331 );
332
333 void EXPORT call_togl_set_minmax (
334 #ifdef INTERFACEGRAPHIC_PROTOTYPE
335   float x1,
336   float y1,
337   float z1,
338   float x2,
339   float y2,
340   float z2
341 #endif
342 );
343
344 void EXPORT call_togl_set_rgb (
345 #ifdef INTERFACEGRAPHIC_PROTOTYPE
346   float r,
347   float g,
348   float b
349 #endif
350 );
351
352   /* Declarations des subroutines appelees du C++ */
353   /*    dans les packages Graphic3d et Visual3d   */
354
355 void EXPORT call_togl_opengroup (
356 #ifdef INTERFACEGRAPHIC_PROTOTYPE
357   CALL_DEF_GROUP *agroup
358 #endif
359 );
360
361 void EXPORT call_togl_closegroup (
362 #ifdef INTERFACEGRAPHIC_PROTOTYPE
363   CALL_DEF_GROUP *agroup
364 #endif
365 );
366
367 void EXPORT call_togl_cleargroup (
368 #ifdef INTERFACEGRAPHIC_PROTOTYPE
369   CALL_DEF_GROUP *agroup
370 #endif
371 );
372
373 void EXPORT call_togl_linecontextgroup (
374 #ifdef INTERFACEGRAPHIC_PROTOTYPE
375   CALL_DEF_GROUP *agroup,
376   int noinsert
377 #endif
378 );
379
380 void EXPORT call_togl_facecontextgroup (
381 #ifdef INTERFACEGRAPHIC_PROTOTYPE
382   CALL_DEF_GROUP *agroup,
383   int noinsert
384 #endif
385 );
386
387 void EXPORT call_togl_markercontextgroup (
388 #ifdef INTERFACEGRAPHIC_PROTOTYPE
389   CALL_DEF_GROUP *agroup,
390   int noinsert
391 #endif
392 );
393
394 void EXPORT call_togl_textcontextgroup (
395 #ifdef INTERFACEGRAPHIC_PROTOTYPE
396   CALL_DEF_GROUP *agroup,
397   int noinsert
398 #endif
399 );
400
401 void EXPORT call_togl_group (
402 #ifdef INTERFACEGRAPHIC_PROTOTYPE
403   CALL_DEF_GROUP *agroup
404 #endif
405 );
406
407 void EXPORT call_togl_marker (
408 #ifdef INTERFACEGRAPHIC_PROTOTYPE
409   CALL_DEF_GROUP *agroup,
410   CALL_DEF_MARKER *amarker
411 #endif
412 );
413
414 void EXPORT call_togl_marker_set (
415 #ifdef INTERFACEGRAPHIC_PROTOTYPE
416   CALL_DEF_GROUP *agroup,
417   CALL_DEF_LISTMARKERS *almarkers
418 #endif
419 );
420
421 void EXPORT call_togl_polyline (
422 #ifdef INTERFACEGRAPHIC_PROTOTYPE
423   CALL_DEF_GROUP *agroup,
424   CALL_DEF_LISTPOINTS *alpoints
425 #endif
426 );
427
428 void EXPORT call_togl_polygon (
429 #ifdef INTERFACEGRAPHIC_PROTOTYPE
430   CALL_DEF_GROUP *agroup,
431   CALL_DEF_FACET *afacet
432 #endif
433 );
434
435 void EXPORT call_togl_polygon_holes (
436 #ifdef INTERFACEGRAPHIC_PROTOTYPE
437   CALL_DEF_GROUP *agroup,
438   CALL_DEF_LISTFACETS *alfacets
439 #endif
440 );
441
442 void EXPORT call_togl_polygon_indices (
443 #ifdef INTERFACEGRAPHIC_PROTOTYPE
444   CALL_DEF_GROUP *agroup,
445   CALL_DEF_LISTPOINTS *alpoints,
446   CALL_DEF_LISTEDGES *aledges,
447   CALL_DEF_LISTINTEGERS *albounds
448 #endif
449 );
450
451 void EXPORT call_togl_pickid (
452 #ifdef INTERFACEGRAPHIC_PROTOTYPE
453   CALL_DEF_GROUP *agroup
454 #endif
455 );
456
457 void EXPORT call_togl_quadrangle (
458 #ifdef INTERFACEGRAPHIC_PROTOTYPE
459   CALL_DEF_GROUP *agroup,
460   CALL_DEF_QUAD *aquad
461 #endif
462 );
463
464 void EXPORT call_togl_removegroup (
465 #ifdef INTERFACEGRAPHIC_PROTOTYPE
466   CALL_DEF_GROUP *agroup
467 #endif
468 );
469
470 void EXPORT call_togl_text (
471 #ifdef INTERFACEGRAPHIC_PROTOTYPE
472   CALL_DEF_GROUP *agroup,
473   CALL_DEF_TEXT *atext
474 #endif
475 );
476
477 void EXPORT call_togl_triangle (
478 #ifdef INTERFACEGRAPHIC_PROTOTYPE
479   CALL_DEF_GROUP *agroup,
480   CALL_DEF_TRIKE *atrike
481 #endif
482 );
483
484 void EXPORT call_togl_bezier (
485 #ifdef INTERFACEGRAPHIC_PROTOTYPE
486   CALL_DEF_GROUP *agroup,
487   CALL_DEF_LISTPOINTS *alpoints
488 #endif
489 );
490
491 void EXPORT call_togl_bezier_weight (
492 #ifdef INTERFACEGRAPHIC_PROTOTYPE
493   CALL_DEF_GROUP *agroup,
494   CALL_DEF_LISTPOINTS *alpoints,
495   CALL_DEF_LISTREALS *alweights
496 #endif
497 );
498
499 void EXPORT call_togl_blink (
500 #ifdef INTERFACEGRAPHIC_PROTOTYPE
501   CALL_DEF_STRUCTURE *astructure,
502   int create
503 #endif
504 );
505
506 void EXPORT call_togl_boundarybox (
507 #ifdef INTERFACEGRAPHIC_PROTOTYPE
508   CALL_DEF_STRUCTURE *astructure,
509   int create
510 #endif
511 );
512
513 void EXPORT call_togl_clearstructure (
514 #ifdef INTERFACEGRAPHIC_PROTOTYPE
515   CALL_DEF_STRUCTURE *astructure
516 #endif
517 );
518
519 void EXPORT call_togl_contextstructure (
520 #ifdef INTERFACEGRAPHIC_PROTOTYPE
521   CALL_DEF_STRUCTURE *astructure
522 #endif
523 );
524
525 void EXPORT call_togl_highlightcolor (
526 #ifdef INTERFACEGRAPHIC_PROTOTYPE
527   CALL_DEF_STRUCTURE *astructure,
528   CALL_DEF_COLOR *acolor,
529   int create
530 #endif
531 );
532
533 void EXPORT call_togl_namesetstructure (
534 #ifdef INTERFACEGRAPHIC_PROTOTYPE
535   CALL_DEF_STRUCTURE *astructure
536 #endif
537 );
538
539 void EXPORT call_togl_removestructure (
540 #ifdef INTERFACEGRAPHIC_PROTOTYPE
541   CALL_DEF_STRUCTURE *astructure
542 #endif
543 );
544
545 void EXPORT call_togl_structure (
546 #ifdef INTERFACEGRAPHIC_PROTOTYPE
547   CALL_DEF_STRUCTURE *astructure
548 #endif
549 );
550
551 void EXPORT call_togl_transformstructure (
552 #ifdef INTERFACEGRAPHIC_PROTOTYPE
553   CALL_DEF_STRUCTURE *astructure
554 #endif
555 );
556
557 void EXPORT call_togl_degeneratestructure (
558 #ifdef INTERFACEGRAPHIC_PROTOTYPE
559         CALL_DEF_STRUCTURE *astructure
560 #endif
561 );
562
563 void EXPORT call_togl_connect (
564 #ifdef INTERFACEGRAPHIC_PROTOTYPE
565   CALL_DEF_STRUCTURE *afather,
566   CALL_DEF_STRUCTURE *ason
567 #endif
568 );
569
570 void EXPORT call_togl_disconnect (
571 #ifdef INTERFACEGRAPHIC_PROTOTYPE
572   CALL_DEF_STRUCTURE *afather,
573   CALL_DEF_STRUCTURE *ason
574 #endif
575 );
576
577 int EXPORT call_togl_begin_animation (
578 #ifdef INTERFACEGRAPHIC_PROTOTYPE
579   CALL_DEF_VIEW *aview
580 #endif
581 );
582
583 void EXPORT call_togl_end_animation (
584 #ifdef INTERFACEGRAPHIC_PROTOTYPE
585   CALL_DEF_VIEW *aview
586 #endif
587 );
588
589 int EXPORT call_togl_begin (
590 #ifdef INTERFACEGRAPHIC_PROTOTYPE
591   char *adisplay
592 #endif
593 );
594
595 /*RIC120302*/
596 int EXPORT call_togl_begin_display (
597 #ifdef INTERFACEGRAPHIC_PROTOTYPE
598   void *pdisplay
599 #endif
600 );
601 /*RIC120302*/
602
603 void EXPORT call_togl_end (
604 #ifdef INTERFACEGRAPHIC_PROTOTYPE
605 #endif
606 );
607
608 void EXPORT call_togl_structure_exploration (
609 #ifdef INTERFACEGRAPHIC_PROTOTYPE
610   long Id,
611   long LabelBegin,
612   long LabelEnd
613 #endif
614 );
615
616 void EXPORT call_togl_element_exploration (
617 #ifdef INTERFACEGRAPHIC_PROTOTYPE
618   long Id,
619   long elem_num,
620   long *type,
621   CALL_DEF_POINT *pt,
622   CALL_DEF_NORMAL *npt,
623   CALL_DEF_COLOR *cpt,
624   CALL_DEF_NORMAL *nfa
625 #endif
626 );
627
628 void EXPORT call_togl_element_type (
629 #ifdef INTERFACEGRAPHIC_PROTOTYPE
630   long Id,
631   long elem_num,
632   long *type
633 #endif
634 );
635
636 void EXPORT call_togl_activateview (
637 #ifdef INTERFACEGRAPHIC_PROTOTYPE
638   CALL_DEF_VIEW *aview
639 #endif
640 );
641
642 void EXPORT call_togl_antialiasing (
643 #ifdef INTERFACEGRAPHIC_PROTOTYPE
644   CALL_DEF_VIEW *aview,
645   int tag
646 #endif
647 );
648
649 void EXPORT call_togl_background (
650 #ifdef INTERFACEGRAPHIC_PROTOTYPE
651   CALL_DEF_VIEW *aview
652 #endif
653 );
654
655 void EXPORT call_togl_gradient_background
656 (
657 #ifdef INTERFACEGRAPHIC_PROTOTYPE
658   int ws, int type,
659   tel_colour color1,
660   tel_colour color2
661 #endif
662 );
663
664 void EXPORT call_togl_set_gradient_type
665 (
666 #ifdef INTERFACEGRAPHIC_PROTOTYPE
667   int ws, int type
668 #endif
669 );  
670
671 int EXPORT call_togl_project_raster (
672 #ifdef INTERFACEGRAPHIC_PROTOTYPE
673   int wsid,
674   float x,
675   float y,
676   float z,
677   int *ixr,
678   int *iyr
679 #endif
680 );
681
682 int EXPORT call_togl_unproject_raster (
683 #ifdef INTERFACEGRAPHIC_PROTOTYPE
684   int wsid,
685   int xm,
686   int ym,
687   int xM,
688   int yM,
689   int ixr,
690   int iyr,
691   float *x,
692   float *y,
693   float *z
694 #endif
695 );
696
697 int EXPORT call_togl_unproject_raster_with_ray (
698 #ifdef INTERFACEGRAPHIC_PROTOTYPE
699   int wsid,
700   int xm,
701   int ym,
702   int xM,
703   int yM,
704   int ixr,
705   int iyr,
706   float *x,
707   float *y,
708   float *z,
709   float *dx,
710   float *dy,
711   float *dz
712 #endif
713 );
714
715 void EXPORT call_togl_cliplimit (
716 #ifdef INTERFACEGRAPHIC_PROTOTYPE
717   CALL_DEF_VIEW *aview,
718   int wait
719 #endif
720 );
721
722 void EXPORT call_togl_deactivateview (
723 #ifdef INTERFACEGRAPHIC_PROTOTYPE
724   CALL_DEF_VIEW *aview
725 #endif
726 );
727
728 void EXPORT call_togl_depthcueing (
729 #ifdef INTERFACEGRAPHIC_PROTOTYPE
730   CALL_DEF_VIEW *aview,
731   int tag
732 #endif
733 );
734
735 void EXPORT call_togl_displaystructure (
736 #ifdef INTERFACEGRAPHIC_PROTOTYPE
737   CALL_DEF_VIEW *aview,
738   int StructId,
739   int Priority
740 #endif
741 );
742
743 void EXPORT call_togl_erasestructure (
744 #ifdef INTERFACEGRAPHIC_PROTOTYPE
745   int ViewId,
746   int StructId
747 #endif
748 );
749
750 void EXPORT call_togl_init_pick (
751 #ifdef INTERFACEGRAPHIC_PROTOTYPE
752 #endif
753 );
754
755 void EXPORT call_togl_pick (
756 #ifdef INTERFACEGRAPHIC_PROTOTYPE
757   CALL_DEF_PICK *apick
758 #endif
759 );
760
761 void EXPORT call_togl_ratio_window (
762 #ifdef INTERFACEGRAPHIC_PROTOTYPE
763   CALL_DEF_VIEW *aview
764 #endif
765 );
766
767 void EXPORT call_togl_redraw (
768 #ifdef INTERFACEGRAPHIC_PROTOTYPE
769   CALL_DEF_VIEW *aview,
770   CALL_DEF_LAYER *anunderlayer,
771   CALL_DEF_LAYER *anoverlayer
772 #endif
773 );
774
775 void EXPORT call_togl_redraw_area (
776 #ifdef INTERFACEGRAPHIC_PROTOTYPE
777   CALL_DEF_VIEW *aview,
778   CALL_DEF_LAYER *anunderlayer,
779   CALL_DEF_LAYER *anoverlayer,
780   int x, int y, int width, int height
781 #endif
782 );
783
784 void EXPORT call_togl_removeview (
785 #ifdef INTERFACEGRAPHIC_PROTOTYPE
786   CALL_DEF_VIEW *aview
787 #endif
788 );
789
790 void EXPORT call_togl_setlight (
791 #ifdef INTERFACEGRAPHIC_PROTOTYPE
792   CALL_DEF_VIEW *aview
793 #endif
794 );
795
796 void EXPORT call_togl_setplane (
797 #ifdef INTERFACEGRAPHIC_PROTOTYPE
798   CALL_DEF_VIEW *aview
799 #endif
800 );
801
802 void EXPORT call_togl_setvisualisation (
803 #ifdef INTERFACEGRAPHIC_PROTOTYPE
804   CALL_DEF_VIEW *aview
805 #endif
806 );
807
808 void EXPORT call_togl_transparency (
809 #ifdef INTERFACEGRAPHIC_PROTOTYPE
810   int WsId,
811   int ViewId,
812   int Activity
813 #endif
814 );
815
816 void EXPORT call_togl_update (
817 #ifdef INTERFACEGRAPHIC_PROTOTYPE
818   CALL_DEF_VIEW *aview,
819   CALL_DEF_LAYER *anunderlayer,
820   CALL_DEF_LAYER *anoverlayer
821 #endif
822 );
823
824 int EXPORT call_togl_view (
825 #ifdef INTERFACEGRAPHIC_PROTOTYPE
826   CALL_DEF_VIEW *aview
827 #endif
828 );
829
830 int EXPORT call_togl_viewmapping (
831 #ifdef INTERFACEGRAPHIC_PROTOTYPE
832   CALL_DEF_VIEW *aview,
833   int wait
834 #endif
835 );
836
837 int EXPORT call_togl_vieworientation (
838 #ifdef INTERFACEGRAPHIC_PROTOTYPE
839   CALL_DEF_VIEW *aview,
840   int wait
841 #endif
842 );
843
844 int EXPORT call_togl_inquiretexture (
845 #ifdef INTERFACEGRAPHIC_PROTOTYPE
846 #endif
847 );
848
849 int EXPORT call_togl_inquirelight (
850 #ifdef INTERFACEGRAPHIC_PROTOTYPE
851 #endif
852 );
853
854 int EXPORT call_togl_inquireplane (
855 #ifdef INTERFACEGRAPHIC_PROTOTYPE
856 #endif
857 );
858
859 int EXPORT call_togl_inquireview (
860 #ifdef INTERFACEGRAPHIC_PROTOTYPE
861 #endif
862 );
863
864 int EXPORT call_togl_inquiremat (
865 #ifdef INTERFACEGRAPHIC_PROTOTYPE
866   CALL_DEF_VIEW *aview,
867   CALL_DEF_MATRIX4X4 ori_matrix,
868   CALL_DEF_MATRIX4X4 map_matrix
869 #endif
870 );
871
872 void EXPORT call_togl_view_exploration (
873 #ifdef INTERFACEGRAPHIC_PROTOTYPE
874   long Id
875 #endif
876 );
877
878 #ifdef OCC1188
879 int EXPORT call_togl_create_texture (
880 #ifdef INTERFACEGRAPHIC_PROTOTYPE
881   int Type,
882   unsigned int Width,
883   unsigned int Height,
884   unsigned char *Data,
885   char *FileName             
886 #endif
887 );
888
889 void EXPORT call_togl_create_bg_texture (
890 #ifdef INTERFACEGRAPHIC_PROTOTYPE
891   CALL_DEF_VIEW *aview,
892   int width,
893   int height,
894   unsigned char *data,
895     int style
896 #endif
897 );
898 #endif /* OCC1188 */
899
900 void EXPORT call_togl_set_bg_texture_style( 
901 #ifdef INTERFACEGRAPHIC_PROTOTYPE
902     CALL_DEF_VIEW* aview,
903     int style
904 #endif
905 );
906
907 void EXPORT call_togl_destroy_texture (
908 #ifdef INTERFACEGRAPHIC_PROTOTYPE
909   int TexId
910 #endif
911 );
912
913 void EXPORT call_togl_modify_texture (
914 #ifdef INTERFACEGRAPHIC_PROTOTYPE
915   int TexId,
916   CALL_DEF_INIT_TEXTURE *init_tex
917 #endif
918 );
919
920 void EXPORT call_togl_environment (
921 #ifdef INTERFACEGRAPHIC_PROTOTYPE
922   CALL_DEF_VIEW *aview
923 #endif
924 );
925
926   /* Declarations des subroutines layer mode */
927
928 void EXPORT call_togl_layer2d (
929 #ifdef INTERFACEGRAPHIC_PROTOTYPE
930   CALL_DEF_LAYER *alayer
931 #endif
932 );
933
934 void EXPORT call_togl_removelayer2d (
935 #ifdef INTERFACEGRAPHIC_PROTOTYPE
936   CALL_DEF_LAYER *alayer
937 #endif
938 );
939
940 void EXPORT call_togl_begin_layer2d (
941 #ifdef INTERFACEGRAPHIC_PROTOTYPE
942   CALL_DEF_LAYER *alayer
943 #endif
944 );
945
946 void EXPORT call_togl_end_layer2d (
947 );
948
949 void EXPORT call_togl_clear_layer2d (
950 #ifdef INTERFACEGRAPHIC_PROTOTYPE
951   CALL_DEF_LAYER *alayer
952 #endif
953 );
954
955 void EXPORT call_togl_begin_polyline2d (
956 );
957
958 void EXPORT call_togl_end_polyline2d (
959 );
960
961 void EXPORT call_togl_begin_polygon2d (
962 );
963
964 void EXPORT call_togl_end_polygon2d (
965 );
966
967 void EXPORT call_togl_move2d (
968 #ifdef INTERFACEGRAPHIC_PROTOTYPE
969   float x,
970   float y
971 #endif
972 );
973
974 void EXPORT call_togl_draw2d (
975 #ifdef INTERFACEGRAPHIC_PROTOTYPE
976   float x,
977   float y
978 #endif
979 );
980
981 void EXPORT call_togl_edge2d (
982 #ifdef INTERFACEGRAPHIC_PROTOTYPE
983   float x,
984   float y
985 #endif
986 );
987
988 void EXPORT call_togl_rectangle2d (
989 #ifdef INTERFACEGRAPHIC_PROTOTYPE
990   float x,
991   float y,
992   float w,
993   float h
994 #endif
995 );
996
997 void EXPORT call_togl_set_color (
998 #ifdef INTERFACEGRAPHIC_PROTOTYPE
999   float r,
1000   float g,
1001   float b
1002 #endif
1003 );
1004
1005 void EXPORT call_togl_set_transparency (
1006 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1007   float a
1008 #endif
1009 );
1010
1011 void EXPORT call_togl_unset_transparency (
1012 );
1013
1014 void EXPORT call_togl_set_line_attributes (
1015 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1016   long type,
1017   float width
1018 #endif
1019 );
1020
1021 void EXPORT call_togl_set_text_attributes (
1022 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1023   char* font,
1024   long type,
1025   float r,
1026   float g,
1027   float b
1028 #endif
1029 );
1030
1031 void EXPORT call_togl_text2d (
1032 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1033   char *s,
1034   float x,
1035   float y,
1036   float height
1037 #endif
1038 );
1039
1040 void EXPORT call_togl_textsize2d (
1041 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1042   char *s,
1043   float height,
1044   float *width,
1045   float *ascent,
1046   float *descent
1047 #endif
1048 );
1049
1050 void EXPORT call_togl_backfacing (
1051 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1052              CALL_DEF_VIEW*
1053 #endif  /* INTERFACEGRAPHIC_PROTOTYPE */
1054             );
1055
1056 /* *** group of parray functions *** */
1057
1058 void EXPORT call_togl_parray (
1059 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1060   CALL_DEF_GROUP *agroup,
1061   CALL_DEF_PARRAY* parray
1062 #endif
1063 );
1064
1065 void EXPORT call_togl_userdraw (
1066 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1067   CALL_DEF_GROUP    *agroup,
1068   CALL_DEF_USERDRAW *anobject
1069 #endif
1070 );
1071
1072 /* ------------------------- */
1073 void EXPORT call_togl_print (
1074 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1075   CALL_DEF_VIEW *aview,
1076   CALL_DEF_LAYER *anunderlayer,
1077   CALL_DEF_LAYER *anoverlayer,
1078   const Aspect_Drawable hPrintDC,
1079   const int background,
1080   const char* filename
1081 #endif
1082 );
1083
1084
1085 #ifdef BUC61044
1086 void EXPORT call_togl_depthtest (
1087 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1088   CALL_DEF_VIEW *aview,
1089   int            dFlag
1090 #endif
1091 );
1092
1093 int EXPORT call_togl_isdepthtest (
1094 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1095   CALL_DEF_VIEW *aview
1096 #endif
1097 );
1098 #endif
1099
1100 #ifdef BUC61045
1101 void EXPORT call_togl_gllight (
1102 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1103   CALL_DEF_VIEW *aview,
1104   int            dFlag
1105 #endif
1106 );
1107
1108 int EXPORT call_togl_isgllight (
1109 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1110   CALL_DEF_VIEW *aview
1111 #endif
1112 );
1113
1114 void EXPORT call_togl_graduatedtrihedron_display (
1115 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1116     /* View id */
1117         CALL_DEF_VIEW* aview, 
1118     /* Graduated trihedron data */
1119     const Graphic3d_CGraduatedTrihedron &cubic
1120 #endif
1121 );
1122
1123 void EXPORT call_togl_graduatedtrihedron_erase (
1124 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1125     /* View id */
1126         CALL_DEF_VIEW* aview
1127 #endif
1128 );
1129
1130 void EXPORT call_togl_graduatedtrihedron_minmaxvalues (
1131 #ifdef INTERFACEGRAPHIC_PROTOTYPE
1132     float xmin,
1133     float ymin,
1134     float zmin,
1135     float xmax,
1136     float ymax,
1137     float zmax
1138 #endif
1139 );
1140
1141 #endif
1142
1143 #endif /* InterfaceGraphic_CexternHeader */