0022819: Redesign of OpenGl driver
[occt.git] / src / OpenGl / OpenGl_togl_gradient_background.cxx
1 #include <OpenGl_tgl_subrvis.hxx>
2 #include <OpenGl_tsm.hxx> 
3 #include <OpenGl_tsm_ws.hxx>
4 #include <OpenGl_tgl_all.hxx>
5 #include <OpenGl_tgl_funcs.hxx>
6
7 #include <InterfaceGraphic_Graphic3d.hxx>
8 #include <InterfaceGraphic_Visual3d.hxx>
9 #include <InterfaceGraphic_telem.hxx>
10
11 void EXPORT
12 call_togl_gradient_background
13 (
14   int ws, int type,
15   tel_colour tcolor1, tel_colour tcolor2
16 )
17 {
18   call_subr_set_gradient_background ( ws, type, tcolor1, tcolor2 );
19   return;
20 }
21
22
23 void EXPORT call_togl_set_gradient_type
24 (
25   int ws, int type
26 )
27 {
28   tsm_bg_gradient gradient;
29   CMN_KEY_DATA  cmnData;
30   CMN_KEY_DATA  cmnKey;
31
32   /* check if gradient background is already created */
33   TsmGetWSAttri( ws, WSBgGradient, &cmnData );
34   gradient = (tsm_bg_gradient)cmnData.pdata;
35   if ( gradient->type != 0 ) {
36     switch ( type ) {
37         case 0 :
38           gradient->type = TSM_GT_NONE;
39         case 1 :
40           gradient->type = TSM_GT_HOR;
41           break;
42         case 2 :
43           gradient->type = TSM_GT_VER;
44           break;
45         case 3 :
46           gradient->type = TSM_GT_DIAG1;
47           break;
48         case 4 :
49           gradient->type = TSM_GT_DIAG1;
50           break;  
51         case 5 :
52           gradient->type = TSM_GT_CORNER1;
53           break;
54         case 6 :
55           gradient->type = TSM_GT_CORNER2;
56           break;
57         case 7 :
58           gradient->type = TSM_GT_CORNER3;
59           break;
60         case 8 :
61           gradient->type = TSM_GT_CORNER4;
62           break;
63         default :
64           gradient->type = TSM_GT_NONE;
65           break;
66     }
67
68     /* setting flag to update changes */
69     cmnKey.ldata = TNotDone;
70     TsmSetWSAttri( ws, WSUpdateState, &cmnKey );
71
72     /* storing background texture */
73     cmnData.pdata = gradient;
74     TsmSetWSAttri( ws, WSBgGradient, &cmnData );
75   }
76 }