62971a93138a8aa70779c0b6c03211cbad75422a
[occt.git] / src / OpenGl / OpenGl_applid.cxx
1
2 #include <OpenGl_tgl_all.hxx>
3
4 #include <stddef.h>
5 #include <stdio.h>
6
7 #include <OpenGl_cmn_varargs.hxx>
8 #include <OpenGl_telem_attri.hxx>
9 #include <OpenGl_tsm.hxx>
10 #include <OpenGl_telem.hxx>
11 #include <OpenGl_telem_inquire.hxx>
12
13 static  TStatus  ApplicationDataAdd( TSM_ELEM_DATA, Tint, cmn_key* );
14 static  TStatus  ApplicationDataPrint( TSM_ELEM_DATA, Tint, cmn_key* );
15 static  TStatus  ApplicationDataInquire( TSM_ELEM_DATA, Tint, cmn_key* );
16
17 static  TStatus  (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
18 {
19     0,             /* PickTraverse */
20     0,             /* Display */
21     ApplicationDataAdd,
22     0,             /* Delete */
23     ApplicationDataPrint,
24     ApplicationDataInquire
25 };
26
27
28 MtblPtr
29 TelApplicationDataInitClass( TelType *el )
30 {
31   *el = TelApplicationData;
32   return MtdTbl;
33 }
34
35 static  TStatus
36 ApplicationDataAdd( TSM_ELEM_DATA d, Tint n, cmn_key *k )
37 {
38   ((tsm_elem_data)(d.pdata))->pdata = k[0]->data.pdata;
39
40   return TSuccess;
41 }
42
43
44 static  TStatus
45 ApplicationDataPrint( TSM_ELEM_DATA data, Tint n, cmn_key *k )
46 {
47   fprintf( stdout, "TelApplicationData. Value = %lx\n",(long ) data.pdata);
48   fprintf( stdout, "\n" );
49
50   return TSuccess;
51 }
52
53
54 static TStatus
55 ApplicationDataInquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
56 {
57   Tint i;
58
59   for( i = 0; i < n; i++ )
60   {
61     switch( k[i]->id )
62     {
63     case INQ_GET_SIZE_ID:
64       {
65         k[i]->data.ldata = sizeof( Tint );
66         break;
67       }
68     case INQ_GET_CONTENT_ID:
69       {
70         TEL_INQ_CONTENT *c;
71         Teldata         *w;
72
73         c = (tel_inq_content)k[i]->data.pdata;
74         w = c->data;
75         c->act_size = 0;
76         w->data = (Tchar*)data.pdata;
77         break;
78       }
79     }
80   }
81
82   return TSuccess;
83 }