summaryrefslogtreecommitdiff
path: root/src/OpenGl/OpenGl_intstyleind.cxx
blob: 8d895b4e92f6d2f6af8843add9c98f75e8781d88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153

#include <OpenGl_tgl_all.hxx>

#include <stddef.h>
#include <stdio.h>
#include <GL/gl.h>
#include <GL/glu.h>

#include <OpenGl_cmn_varargs.hxx>
#include <OpenGl_telem_attri.hxx>
#include <OpenGl_tsm.hxx>
#include <OpenGl_telem.hxx>
#include <OpenGl_telem_inquire.hxx>

static  TStatus  InteriorStyleIndexDisplay( TSM_ELEM_DATA, Tint, cmn_key* );
static  TStatus  InteriorStyleIndexAdd( TSM_ELEM_DATA, Tint, cmn_key* );
static  TStatus  InteriorStyleIndexPrint( TSM_ELEM_DATA, Tint, cmn_key* );
static  TStatus  InteriorStyleIndexInquire( TSM_ELEM_DATA, Tint, cmn_key* );

static  TStatus  (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
{
  0,             /* PickTraverse */
  InteriorStyleIndexDisplay,
  InteriorStyleIndexAdd,
  0,             /* Delete */
  InteriorStyleIndexPrint,
  InteriorStyleIndexInquire
};


MtblPtr
TelInteriorStyleIndexInitClass( TelType *el )
{
  *el = TelInteriorStyleIndex;
  return MtdTbl;
}

static  TStatus
InteriorStyleIndexAdd( TSM_ELEM_DATA d, Tint n, cmn_key *k )
{
  ((tsm_elem_data)(d.pdata))->ldata = k[0]->data.ldata;

  return TSuccess;
}


static  TStatus
InteriorStyleIndexDisplay( TSM_ELEM_DATA data, Tint n, cmn_key *k )
{
  CMN_KEY     key;

  key.id = TelInteriorStyleIndex;
  key.data.ldata = data.ldata;
  TsmSetAttri( 1, &key );

  return TSuccess;
}


static  TStatus
InteriorStyleIndexPrint( TSM_ELEM_DATA data, Tint n, cmn_key *k )
{
  switch( data.ldata )
  {
  case TEL_HS_SOLID:
    fprintf( stdout, "TelInteriorStyleIndex. Value = SOLID\n" );
    break;

  case TEL_HS_CROSS:
    fprintf( stdout, "TelInteriorStyleIndex. Value = CROSS\n" );
    break;

  case TEL_HS_CROSS_SPARSE:
    fprintf( stdout, "TelInteriorStyleIndex. Value = CROSS_SPARSE\n");
    break;

  case TEL_HS_GRID:
    fprintf( stdout, "TelInteriorStyleIndex. Value = GRID\n" );
    break;

  case TEL_HS_GRID_SPARSE:
    fprintf( stdout, "TelInteriorStyleIndex. Value = GRID_SPARSE\n" );
    break;

  case TEL_HS_DIAG_45:
    fprintf( stdout, "TelInteriorStyleIndex. Value = DIAG_45\n" );
    break;

  case TEL_HS_DIAG_135:
    fprintf( stdout, "TelInteriorStyleIndex. Value = DIAG_135\n" );
    break;

  case TEL_HS_HORIZONTAL:
    fprintf( stdout, "TelInteriorStyleIndex. Value = HORIZONTAL\n" );
    break;

  case TEL_HS_VERTICAL:
    fprintf( stdout, "TelInteriorStyleIndex. Value = VERTICAL\n" );
    break;

  case TEL_HS_DIAG_45_SPARSE:
    fprintf(stdout,"TelInteriorStyleIndex. Value = DIAG_45_SPARSE\n");
    break;

  case TEL_HS_DIAG_135_SPARSE:
    fprintf( stdout, "TelInteriorStyleIndex. Value = DIAG_135_SPARSE\n" );
    break;

  case TEL_HS_HORIZONTAL_SPARSE:
    fprintf( stdout,"TelInteriorStyleIndex. Value = HORIZONTAL_SPARSE\n");
    break;

  case TEL_HS_VERTICAL_SPARSE:
    fprintf( stdout, "TelInteriorStyleIndex. Value = VERTICAL_SPARSE\n" );
    break;

  }
  fprintf( stdout, "\n" );

  return TSuccess;
}


static TStatus
InteriorStyleIndexInquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
{
  Tint i;

  for( i = 0; i < n; i++ )
  {
    switch( k[i]->id )
    {
    case INQ_GET_SIZE_ID:
      {
        k[i]->data.ldata = sizeof( Tint );
        break;
      }
    case INQ_GET_CONTENT_ID:
      {
        TEL_INQ_CONTENT *c;
        Teldata         *w;

        c = (tel_inq_content)k[i]->data.pdata;
        w = c->data;
        c->act_size = 0;
        w->idata = data.ldata;
        break;
      }
    }
  }

  return TSuccess;
}