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.
18 #define CTS50024 /*GG_090997
19 // Attention avec les nouvelles machines SGI (O2),
20 // le pitch vertical n'est pas identique au pitch horizontal.
23 #include <Xw_Extension.h>
25 /* ifdef then trace on */
27 #define TRACE_SET_WINDOW_RATIO
31 XW_STATUS Xw_set_window_ratio (awindow, ratio):
32 XW_EXT_WINDOW *awindow
35 Update the window ratio.Is defined as the ratio between
36 the Window User Size and the Window Pixel size
39 returns XW_SUCCESS always
43 XW_STATUS Xw_set_window_ratio (void *awindow , float ratio)
45 XW_STATUS Xw_set_window_ratio (awindow , ratio)
48 #endif /*XW_PROTOTYPE*/
50 XW_EXT_WINDOW *pwindow = (XW_EXT_WINDOW*)awindow;
51 XW_EXT_DISPLAY *pdisplay = pwindow->connexion ;
53 if( !Xw_isdefine_window(pwindow) ) {
54 /*ERROR*Bad EXT_WINDOW Address*/
55 Xw_set_error(24,"Xw_set_window_ratio",pwindow) ;
60 pwindow->xratio = (MMPXVALUE(1) + MMPYVALUE(1)) * ratio / 2. ;
61 pwindow->yratio = pwindow->xratio;
63 pwindow->xratio = MMPXVALUE(1) * ratio ;
64 pwindow->yratio = MMPYVALUE(1) * ratio ;
67 #ifdef TRACE_SET_WINDOW_RATIO
68 if( Xw_get_trace() ) {
69 printf (" Xw_set_window_ratio(%lx,%f)\n",(long ) pwindow,ratio) ;