bug fix #953
This more of a quality issue... changes now are: - in (ortho) 3d view, changing window aspect keeps zooming level (it zoomed out with extreme portrait aspect) - pressing 'home' in 3d window now shows all with extreme aspect ratios too
This commit is contained in:
@@ -598,13 +598,15 @@ void setwinmatrixview3d(rctf *rect) /* rect: for picking */
|
|||||||
|
|
||||||
dfac= near/d;
|
dfac= near/d;
|
||||||
|
|
||||||
/* if(G.vd->persp==1 && G.vd->dproj>1.0) far= G.vd->dproj*far; */
|
|
||||||
|
|
||||||
if(G.vd->persp==0) {
|
if(G.vd->persp==0) {
|
||||||
/* x1= -winx*G.vd->dist/1000.0; */
|
if(winx>winy) x1= -G.vd->dist;
|
||||||
x1= -G.vd->dist;
|
else x1= -winx*G.vd->dist/winy;
|
||||||
|
|
||||||
x2= -x1;
|
x2= -x1;
|
||||||
y1= -winy*G.vd->dist/winx;
|
|
||||||
|
if(winx>winy) y1= -winy*G.vd->dist/winx;
|
||||||
|
else y1= -G.vd->dist;
|
||||||
|
|
||||||
y2= -y1;
|
y2= -y1;
|
||||||
orth= 1;
|
orth= 1;
|
||||||
}
|
}
|
||||||
@@ -1087,6 +1089,13 @@ void view3d_home(int centre)
|
|||||||
|
|
||||||
G.vd->dist= size;
|
G.vd->dist= size;
|
||||||
|
|
||||||
|
// correction for window aspect ratio
|
||||||
|
if(curarea->winy>2 && curarea->winx>2) {
|
||||||
|
size= (float)curarea->winx/(float)curarea->winy;
|
||||||
|
if(size<1.0) size= 1.0/size;
|
||||||
|
G.vd->dist*= size;
|
||||||
|
}
|
||||||
|
|
||||||
if(G.vd->persp==2) G.vd->persp= 1;
|
if(G.vd->persp==2) G.vd->persp= 1;
|
||||||
|
|
||||||
scrarea_queue_winredraw(curarea);
|
scrarea_queue_winredraw(curarea);
|
||||||
|
|||||||
Reference in New Issue
Block a user