0022627: Change OCCT memory management defaults
[occt.git] / src / Xw / Xw_erase_window.cxx
CommitLineData
7fd59977 1
2#include <Xw_Extension.h>
3
4 /* ifdef then trace on */
5#ifdef TRACE
6#define TRACE_ERASE_WINDOW
7#endif
8
9/*
10 STATUS Xw_erase_window (awindow)
11 XW_EXT_WINDOW *awindow
12
13 Erase the entire drawable.
14
15 returns SUCCESS always
16
17*/
18
19#ifdef XW_PROTOTYPE
20XW_STATUS Xw_erase_window (void* awindow)
21#else
22XW_STATUS Xw_erase_window (awindow)
23void *awindow;
24#endif /*XW_PROTOTYPE*/
25{
26XW_EXT_WINDOW *pwindow = (XW_EXT_WINDOW*)awindow ;
27int i ;
28
29 if( !Xw_isdefine_window(pwindow) ) {
30 /*ERROR*Bad EXT_WINDOW Address*/
31 Xw_set_error(24,"Xw_erase_window",pwindow) ;
32 return (XW_ERROR) ;
33 }
34
35 if( _BPIXMAP ) {
36 XCopyArea(_DISPLAY,_BPIXMAP,_DRAWABLE,pwindow->qgwind.gccopy,
37 0,0,_WIDTH,_HEIGHT,0,0) ;
38 } else {
39 if( _DRAWABLE == _WINDOW ) {
40 XClearWindow(_DISPLAY,_WINDOW) ;
41 } else {
42 XFillRectangle(_DISPLAY,_DRAWABLE,pwindow->qgwind.gcclear,
43 0,0,_WIDTH,_HEIGHT) ;
44 }
45 }
46
47 for( i=0 ; i<MAXBUFFERS ; i++ ) {
48 _BUFFER(i).isdrawn = False ;
49 }
50
51 XFlush(_DISPLAY) ;
52
53#ifdef TRACE_ERASE_WINDOW
54if( Xw_get_trace() > 1 ) {
55 printf(" Xw_erase_window(%lx)\n",(long ) pwindow) ;
56}
57#endif
58
59 return (XW_SUCCESS);
60}