Skip to content

Commit

Permalink
Limit zoom height to number of channels if below limit
Browse files Browse the repository at this point in the history
Signed-off-by: Cees Bassa <[email protected]>
  • Loading branch information
cbassa committed Jan 19, 2025
1 parent 8f799c4 commit 2fafd0c
Showing 1 changed file with 25 additions and 13 deletions.
38 changes: 25 additions & 13 deletions rfplot.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ int main(int argc,char *argv[])
float dt,zzmax,s1,s2,z,za,sigma,zs,zm;
int ix,iy,isub=0,nx,ny,jx=-1,jy=-1;
int i0,j0,i1,j1,jmax;
float width=1500;
float width,height;
float x=0.0,y=0.0,x0=0.0,y0=0.0,yfit;
char c;
char path[128],xlabel[128],ylabel[64],filename[32],tlefile[128],freqlist[128];
Expand Down Expand Up @@ -218,6 +218,12 @@ int main(int argc,char *argv[])
zmin=s.zmin;
zmax=s.zmax;
}

// Zoom settings
width=1500;
height=1500;
if (s.nchan<height)
height=s.nchan;

// Set trace
tf.n=0;
Expand Down Expand Up @@ -694,8 +700,8 @@ int main(int argc,char *argv[])
if (c=='c') {
xmin=x-width;
xmax=x+width;
ymin=y-width;
ymax=y+width;
ymin=y-height;
ymax=y+height;
redraw=1;
continue;
}
Expand Down Expand Up @@ -734,32 +740,35 @@ int main(int argc,char *argv[])
if (c=='0')
continue;
width=1000.0/(c-'0');
height=1000.0/(c-'0');
xmin=x-width;
xmax=x+width;
ymin=y-width;
ymax=y+width;
ymin=y-height;
ymax=y+height;
redraw=1;
continue;
}

// Zoom
if (c=='+' || c=='=') {
width/=1.5;
height/=1.5;
xmin=x-width;
xmax=x+width;
ymin=y-width;
ymax=y+width;
ymin=y-height;
ymax=y+height;
redraw=1;
continue;
}

// Unzoom
if (c=='x' || c=='-') {
width*=1.5;
height*=1.5;
xmin=x-width;
xmax=x+width;
ymin=y-width;
ymax=y+width;
ymin=y-height;
ymax=y+height;
redraw=1;
continue;
}
Expand All @@ -781,6 +790,9 @@ int main(int argc,char *argv[])
jx=-1;
jy=-1;
width=1500;
height=1500;
if (s.nchan<height)
height=s.nchan;
redraw=1;
continue;
}
Expand All @@ -795,7 +807,7 @@ int main(int argc,char *argv[])
if (c==',' || c=='.' || c=='<' || c=='>' || c=='\t' || c=='\b') {
// Image width
nx = (int) ceil(s.nsub / width);
ny = (int) ceil(s.nchan / width);
ny = (int) ceil(s.nchan / height);

// Pan left
if (c==',') {
Expand Down Expand Up @@ -835,11 +847,11 @@ int main(int argc,char *argv[])

// Set area
x=width*(ix+0.5);
y=width*(iy+0.5);
y=height*(iy+0.5);
xmin=x-0.75*width;
xmax=x+0.75*width;
ymin=y-0.75*width;
ymax=y+0.75*width;
ymin=y-0.75*height;
ymax=y+0.75*height;

redraw=1;
continue;
Expand Down

0 comments on commit 2fafd0c

Please sign in to comment.