1 /***********************************************************************
11 HISTORIQUE DES MODIFICATIONS :
12 --------------------------------
13 xx-xx-xx : xxx ; Creation.
14 17-07-96 : FMN ; Suppression de TelHLHSRMode
15 05-08-97 : PCT ; support texture mapping
16 23-12-97 : FMN ; Suppression TelBackInteriorStyle, TelBackInteriorStyleIndex
17 et TelBackInteriorShadingMethod
18 30-11-98 : FMN ; S3819 : Textes toujours visibles
19 21-09-99 : EUG : G003 : Degeneration management
20 16-06-00 : ATS,SPK : G005 : Group of new primitives: TelParray
21 22-03-04 : SAN : OCC4895 High-level interface for controlling polygon offsets
23 ************************************************************************/
28 #define G003 /* EUG 21-09-99 Degeneration management
31 #define OCC1188 /* SAV 23/12/02 Added structure to control background texture
32 + enum to control texture fill method
36 #include <OpenGl_cmn_varargs.hxx>
45 /* ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) */
46 TelTransformPersistence,
47 /* ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) */
53 TelBackInteriorColour,
58 TelInteriorStyleIndex,
59 TelFaceDistinguishingMode,
61 TelInteriorReflectanceEquation,
62 TelSurfaceAreaProperties,
63 TelBackInteriorReflectanceEquation,
64 TelBackSurfaceAreaProperties,
71 TelCharacterExpansionFactor,
87 TelInteriorShadingMethod,
99 TelTextColourSubTitle,
103 TelTextZoomable,//Text Zoomable attributes
104 TelTextAngle,//Text Angle attributes
105 TelTextFontAspect,//Text Font Aspect attributes
106 /*OCC7456 abd 14.12.2004 Text alingnment attributes */
108 /*OCC7456 abd 14.12.2004 Text alingnment attributes */
110 /* OCC4895 SAN 22/03/04 High-level interface for controlling polygon offsets */
112 /* OCC4895 SAN 22/03/04 High-level interface for controlling polygon offsets */
113 /* OCC???? SZV 11/08/05 Implementation of callbacks */
115 /* OCC???? SZV 11/08/05 Implementation of callbacks */
119 typedef union TSM_ELEM_DATA_UNION
123 } TSM_ELEM_DATA, *tsm_elem_data;
125 typedef struct TSM_ELEM_STRUCT
129 IMPLEMENT_MEMORY_OPERATORS
130 } TSM_ELEM, *tsm_elem;
132 /* A node containing an elem when structure is in the form of a list */
133 struct TSM_NODE_STRUCT
135 struct TSM_NODE_STRUCT *next;
136 struct TSM_NODE_STRUCT *prev;
138 IMPLEMENT_MEMORY_OPERATORS
140 typedef TSM_NODE_STRUCT TSM_NODE;
141 typedef TSM_NODE_STRUCT* tsm_node;
144 /* background texture properties */
158 IMPLEMENT_MEMORY_OPERATORS
159 } TSM_BG_TEXTURE, *tsm_bg_texture;
179 TSM_GradientType type;
180 IMPLEMENT_MEMORY_OPERATORS
181 } TSM_BG_GRADIENT, *tsm_bg_gradient;
200 extern Tint TglActiveWs; /* currently defined in tsm/tsm.c */
202 typedef TStatus (**MtblPtr)( TSM_ELEM_DATA, Tint, cmn_key* );
204 extern void TsmInitAllClasses( MtblPtr (**tbl)(TelType*), Tint size );
206 extern TEditMode TsmSetEditMode( TEditMode );
207 extern TStatus TsmSendMessage( TelType, TMsgType, TSM_ELEM_DATA, Tint, ... );
208 extern TStatus TsmOpenStructure( Tint );
209 extern TStatus TsmCloseStructure();
210 extern TStatus TsmDisplayStructure( Tint, Tint );
211 extern TStatus TsmPrintStructure( Tint );
212 extern TStatus TsmAddToStructure( TelType, Tint, ... );
213 extern TStatus TsmDeleteStructure( Tint );
214 extern TStatus TsmDeleteElement();
215 extern TStatus TsmDeleteElementsBetweenLabels( Tint, Tint );
216 extern TStatus TsmDeleteElementRange( Tint, Tint );
217 extern TStatus TsmSetElementPointer( Tint );
218 extern TStatus TsmSetElementPointerAtLabel( Tint );
219 extern TStatus TsmOffsetElementPointer( Tint );
220 extern TStatus TsmGetStructure( Tint, Tint*, tsm_node * );
221 extern TStatus TsmGetStructureDepth( Tint, Tint* );
222 extern TStatus TsmGetCurElem( TSM_ELEM * );
223 extern TStatus TsmGetCurElemPtr( Tint * );