aboutsummaryrefslogtreecommitdiffstats
path: root/math/femlab/files/patch-ab
blob: 2dd2078f156970bb7bb7de1e8346bdfda3b84a93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
*** source/graph.c.orig	Sat Sep 13 16:23:18 1997
--- source/graph.c	Sat Sep 13 16:39:13 1997
***************
*** 608,614 ****
  void getDrawingScale()
  {
    float xoff, yoff;
!   float scl;
    int width, height;
    int ww;
    int nx, ny, id;
--- 608,614 ----
  void getDrawingScale()
  {
    float xoff, yoff;
!   float iscl;	/* inverse scale */
    int width, height;
    int ww;
    int nx, ny, id;
***************
*** 630,645 ****
    width = width / nx;
    height = height / ny;
  
!   if(state > HAVE_NOTHING){
!     scl  = 1./max(xmax-xmin,ymax-ymin);
!     xoff = -scl*(xmin+.5*(xmax-xmin)-.5/scl);
!     yoff = -scl*(ymin+.5*(ymax-ymin)-.5/scl);
  
!     xoff =  - xmin*scl*.85;
!     yoff =  - ymin*scl*.85;
  
      ww = min(width, height);
!     Xscl  = (int) ((float)ww * 0.85 * scl);
      Xxoff = (int) ww * xoff ;
      Xyoff = (int) ww * yoff;
      Xxoff += (int) (width -  ( Xscl*xmax +Xxoff))/2 + (id+nx-1)%nx *width;
--- 630,646 ----
    width = width / nx;
    height = height / ny;
  
!   iscl  = max(xmax-xmin,ymax-ymin);
  
!   if((state > HAVE_NOTHING) && (iscl != 0.0)){
!     xoff = .5-(xmin+.5*(xmax-xmin))/iscl;
!     yoff = .5-(ymin+.5*(ymax-ymin))/iscl;
! 
!     xoff =  - xmin*.85/iscl;
!     yoff =  - ymin*.85/iscl;
  
      ww = min(width, height);
!     Xscl  = (int) ((float)ww * 0.85 / iscl);
      Xxoff = (int) ww * xoff ;
      Xyoff = (int) ww * yoff;
      Xxoff += (int) (width -  ( Xscl*xmax +Xxoff))/2 + (id+nx-1)%nx *width;