Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Xw / Xw_get_background_pixel.cxx
1
2 #include <Xw_Extension.h>
3
4         /* ifdef then trace on */
5 #ifdef TRACE
6 #define TRACE_GET_BACKGROUND_PIXEL
7 #endif
8
9 /*
10    STATUS Xw_get_background_pixel(awindow,pixel):
11    XW_EXT_WINDOW *awindow       Window extension structure
12    unsigned long *pixel ;       Return Color pixel depending of Visual Class 
13
14         Returns ERROR if Window or background pixel is not defined properly
15         Returns SUCCESS if Successful
16
17 */
18
19 #ifdef XW_PROTOTYPE
20 XW_STATUS Xw_get_background_pixel(void* awindow, unsigned long* pixel)
21 #else
22 XW_STATUS Xw_get_background_pixel(awindow,pixel)
23 void *awindow ;
24 unsigned long *pixel ;
25 #endif /*XW_PROTOTYPE*/
26 {
27 XW_EXT_WINDOW *pwindow = (XW_EXT_WINDOW*)awindow ;
28 XW_STATUS status = XW_SUCCESS ;
29
30     *pixel = 0;
31
32     if( !pwindow ) {
33         /*ERROR*Bad EXT_WINDOW Address*/
34         Xw_set_error( 24,"Xw_get_background_pixel",pwindow ) ;
35         return( XW_ERROR ) ;
36     }
37     if( pwindow->backindex < 0 ) {
38       *pixel = _COLORMAP->backpixel;
39     } else if( Xw_isdefine_color(_COLORMAP,pwindow->backindex) ) {
40       *pixel = _COLORMAP->pixels[pwindow->backindex];
41     } else {
42       status = XW_ERROR;
43     }
44
45 #ifdef TRACE_GET_BACKGROUND_PIXEL
46 if( Xw_get_trace() > 3 ) {
47     printf(" %d = Xw_get_background_pixel(%lx,%lx)\n",
48                         status,(long ) pwindow,*pixel) ;
49 }
50 #endif
51
52     return( status ) ;
53 }