1 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 // The content of this file is subject to the Open CASCADE Technology Public
4 // License Version 6.5 (the "License"). You may not use the content of this file
5 // except in compliance with the License. Please obtain a copy of the License
6 // at http://www.opencascade.org and read it completely before using this file.
8 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 // The Original Code and all software distributed under the License is
12 // distributed on an "AS IS" basis, without warranty of any kind, and the
13 // Initial Developer hereby disclaims all such warranties, including without
14 // limitation, any warranties of merchantability, fitness for a particular
15 // purpose or non-infringement. Please see the License for the specific terms
16 // and conditions governing the rights and limitations under the License.
19 #include <Xw_Extension.h>
21 /* ifdef then trace on */
23 #define TRACE_ERASE_WINDOW
27 STATUS Xw_erase_window (awindow)
28 XW_EXT_WINDOW *awindow
30 Erase the entire drawable.
32 returns SUCCESS always
37 XW_STATUS Xw_erase_window (void* awindow)
39 XW_STATUS Xw_erase_window (awindow)
41 #endif /*XW_PROTOTYPE*/
43 XW_EXT_WINDOW *pwindow = (XW_EXT_WINDOW*)awindow ;
46 if( !Xw_isdefine_window(pwindow) ) {
47 /*ERROR*Bad EXT_WINDOW Address*/
48 Xw_set_error(24,"Xw_erase_window",pwindow) ;
53 XCopyArea(_DISPLAY,_BPIXMAP,_DRAWABLE,pwindow->qgwind.gccopy,
54 0,0,_WIDTH,_HEIGHT,0,0) ;
56 if( _DRAWABLE == _WINDOW ) {
57 XClearWindow(_DISPLAY,_WINDOW) ;
59 XFillRectangle(_DISPLAY,_DRAWABLE,pwindow->qgwind.gcclear,
64 for( i=0 ; i<MAXBUFFERS ; i++ ) {
65 _BUFFER(i).isdrawn = False ;
70 #ifdef TRACE_ERASE_WINDOW
71 if( Xw_get_trace() > 1 ) {
72 printf(" Xw_erase_window(%lx)\n",(long ) pwindow) ;