OCC22199 OpenGL memory leaks in TKOpenGl
[occt.git] / src / OpenGl / OpenGl_togl_gradient_background.cxx
CommitLineData
7fd59977 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
11void EXPORT
12call_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
23void 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}