1 // Copyright (c) 1991-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
20 #ifndef InterfaceGraphic_PortabilityHeader
21 #define InterfaceGraphic_PortabilityHeader
23 /* structures pour portabilite des differents Phigs */
24 /* SUNPHIGS, DECPHIGS, TGSPHIGS, G5GPHIGS, PEX */
26 /***********************************************************************/
27 /******************************** CONST ********************************/
28 /***********************************************************************/
30 #define CALL_DEF_ENABLE_MODE_PAINTERS 0
31 #define CALL_DEF_ENABLE_MODE_ZBUFFER 1
32 #define CALL_DEF_DISABLE_MODE_ZBUFFER -1
33 #define CALL_DEF_ENABLE_ZBUFFER 2
34 #define CALL_DEF_DISABLE_ZBUFFER -2
35 #define CALL_DEF_TEST_CALL -99999
37 /***********************************************************************/
38 /********************************* DATA ********************************/
39 /***********************************************************************/
46 /***********************************************************************/
47 /********************************** 2D *********************************/
48 /***********************************************************************/
60 /***********************************************************************/
61 /********************************** 3D *********************************/
62 /***********************************************************************/
76 /***********************************************************************/
77 /********************************* VIEW ********************************/
78 /***********************************************************************/
80 typedef float CALL_DEF_MATRIX3[4][4];
99 CALL_DEF_MATRIX3 ori_matrix;
100 CALL_DEF_MATRIX3 map_matrix;
101 CALL_DEF_LIMIT3 clip_limit;
118 CALL_DEF_LIMIT3 proj_vp;
120 CALL_DEF_POINT3 proj_ref_point;
123 #if defined (SUNPHIGS) || defined (TGSPHIGS) || defined (G5GPHIGS) || defined (HPPHIGS) || defined (PEX5)
133 /***********************************************************************/
134 /********************************* LIGHT *******************************/
135 /***********************************************************************/
151 } CALL_DEF_AMBLIGHTSRCREC;
156 CALL_DEF_VECTOR3 dir;
157 } CALL_DEF_DIRLIGHTSRCREC;
164 } CALL_DEF_POSLIGHTSRCREC;
170 CALL_DEF_VECTOR3 dir;
174 } CALL_DEF_SPOTLIGHTSRCREC;
177 CALL_DEF_AMBLIGHTSRCREC ambient;
178 CALL_DEF_DIRLIGHTSRCREC directional;
179 CALL_DEF_POSLIGHTSRCREC positional;
180 CALL_DEF_SPOTLIGHTSRCREC spot;
181 } CALL_DEF_LIGHTSRCREC;
185 CALL_DEF_LIGHTSRCREC rec;
186 } CALL_DEF_LIGHTSRCBUNDLE;
188 /***********************************************************************/
189 /**************************** CLIPPING PLANE ***************************/
190 /***********************************************************************/
197 CALL_DEF_POINT3 point;
198 CALL_DEF_VECTOR3 norm;
199 } CALL_DEF_HALF_SPACE;
203 CALL_DEF_HALF_SPACE *half_spaces;
204 } CALL_DEF_HALF_SPACE_LIST;
208 CALL_DEF_HALF_SPACE_LIST half_spaces;
209 } CALL_DEF_PLANEBUNDLE;
211 /***********************************************************************/
212 /******************************** SCREEN *******************************/
213 /***********************************************************************/
223 } CALL_DEF_FLOAT_SIZE;
227 CALL_DEF_FLOAT_SIZE size_dc;
228 CALL_DEF_INT_SIZE size_raster;
229 } CALL_DEF_DISP_SPACE_SIZE;
231 /***********************************************************************/
232 /********************************* TEXT ********************************/
233 /***********************************************************************/
238 } CALL_DEF_TEXT_ALIGN;
240 #endif /* InterfaceGraphic_PortabilityHeader */