Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2003-10-07 15:24:48 +0400
committerTon Roosendaal <ton@blender.org>2003-10-07 15:24:48 +0400
commitc2af7afe5852b8001ea6001ee3c9edb5f80b954e (patch)
treedfd9cb0d0c4b4bf5038bf2b4d694b3b8083b959f /source/blender/src/drawipo.c
parentab935a5a7d2c5089d7967365aa48f0f47acd0fdf (diff)
- removed debug variable from 'automatic check of view2d'... so now it
keeps zooming within limits by default
Diffstat (limited to 'source/blender/src/drawipo.c')
-rw-r--r--source/blender/src/drawipo.c174
1 files changed, 1 insertions, 173 deletions
diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c
index 0b98d7aea3d..452a91ed768 100644
--- a/source/blender/src/drawipo.c
+++ b/source/blender/src/drawipo.c
@@ -368,178 +368,6 @@ void view2d_zoom(View2D *v2d, float factor, int winx, int winy) {
test_view2d(v2d, winx, winy);
}
-void test_view2do(View2D *v2d, int winx, int winy)
-{
- /* cur is not allowed to be larger than max, smaller than min, or outside of tot */
- rctf *cur, *tot;
- float dx, dy, temp, fac, zoom;
-
- cur= &v2d->cur;
- tot= &v2d->tot;
-
- dx= cur->xmax-cur->xmin;
- dy= cur->ymax-cur->ymin;
-
-
- /* Reevan's test */
- if (v2d->keepzoom & V2D_LOCKZOOM_Y)
- v2d->cur.ymax=v2d->cur.ymin+((float)winy);
-
- if (v2d->keepzoom & V2D_LOCKZOOM_X)
- v2d->cur.xmax=v2d->cur.xmin+((float)winx);
-
- if(v2d->keepzoom & V2D_KEEPZOOM) {
- /* do not test for min/max: use curarea try to fixate zoom */
- zoom= ((float)winx)/dx;
-
- if(zoom<v2d->minzoom || zoom>v2d->maxzoom) {
- if(zoom<v2d->minzoom) fac= zoom/v2d->minzoom;
- else fac= zoom/v2d->maxzoom;
-
- dx*= fac;
- temp= 0.5*(cur->xmax+cur->xmin);
-
- cur->xmin= temp-0.5*dx;
- cur->xmax= temp+0.5*dx;
- }
-
- zoom= ((float)winy)/dy;
-
- if(zoom<v2d->minzoom || zoom>v2d->maxzoom) {
- if(zoom<v2d->minzoom) fac= zoom/v2d->minzoom;
- else fac= zoom/v2d->maxzoom;
-
- dy*= fac;
- temp= 0.5*(cur->ymax+cur->ymin);
- cur->ymin= temp-0.5*dy;
- cur->ymax= temp+0.5*dy;
- }
-
-
- }
- else{
-
- /* end test */
-
- if(dx<v2d->min[0]) {
- dx= v2d->min[0];
- temp= 0.5*(cur->xmax+cur->xmin);
- cur->xmin= temp-0.5*dx;
- cur->xmax= temp+0.5*dx;
- }
- else if(dx>v2d->max[0]) {
- dx= v2d->max[0];
- temp= 0.5*(cur->xmax+cur->xmin);
- cur->xmin= temp-0.5*dx;
- cur->xmax= temp+0.5*dx;
- }
-
- if(dy<v2d->min[1]) {
- dy= v2d->min[1];
- temp= 0.5*(cur->ymax+cur->ymin);
- cur->ymin= temp-0.5*dy;
- cur->ymax= temp+0.5*dy;
- }
- else if(dy>v2d->max[1]) {
- dy= v2d->max[1];
- temp= 0.5*(cur->ymax+cur->ymin);
- cur->ymin= temp-0.5*dy;
- cur->ymax= temp+0.5*dy;
- }
-
- }
- if(v2d->keepaspect) {
- dx= (cur->ymax-cur->ymin)/(cur->xmax-cur->xmin);
- dy= ((float)winy)/((float)winx);
-
- /* dx/dy is the total aspect */
- fac= dx/dy;
- if(fac>1.0) {
-
- /* portrait window: correct for x */
- dx= cur->ymax-cur->ymin;
- temp= (cur->xmax+cur->xmin);
-
- cur->xmin= temp/2.0 - 0.5*dx/dy;
- cur->xmax= temp/2.0 + 0.5*dx/dy;
- }
- else {
- dx= cur->xmax-cur->xmin;
- temp= (cur->ymax+cur->ymin);
-
- cur->ymin= temp/2.0 - 0.5*dy*dx;
- cur->ymax= temp/2.0 + 0.5*dy*dx;
- }
- }
-
- if(v2d->keeptot) {
- dx= cur->xmax-cur->xmin;
- dy= cur->ymax-cur->ymin;
-
- if(dx > tot->xmax-tot->xmin) {
- if(v2d->keepzoom==0) {
- if(cur->xmin<tot->xmin) cur->xmin= tot->xmin;
- if(cur->xmax>tot->xmax) cur->xmax= tot->xmax;
- }
- else {
- if(cur->xmax < tot->xmax) {
- dx= tot->xmax-cur->xmax;
- cur->xmin+= dx;
- cur->xmax+= dx;
- }
- else if(cur->xmin > tot->xmin) {
- dx= cur->xmin-tot->xmin;
- cur->xmin-= dx;
- cur->xmax-= dx;
- }
- }
- }
- else {
- if(cur->xmin < tot->xmin) {
- dx= tot->xmin-cur->xmin;
- cur->xmin+= dx;
- cur->xmax+= dx;
- }
- else if(cur->xmax > tot->xmax) {
- dx= cur->xmax-tot->xmax;
- cur->xmin-= dx;
- cur->xmax-= dx;
- }
- }
-
- if(dy > tot->ymax-tot->ymin) {
- if(v2d->keepzoom==0) {
- if(cur->ymin<tot->ymin) cur->ymin= tot->ymin;
- if(cur->ymax>tot->ymax) cur->ymax= tot->ymax;
- }
- else {
- if(cur->ymax < tot->ymax) {
- dy= tot->ymax-cur->ymax;
- cur->ymin+= dy;
- cur->ymax+= dy;
- }
- else if(cur->ymin > tot->ymin) {
- dy= cur->ymin-tot->ymin;
- cur->ymin-= dy;
- cur->ymax-= dy;
- }
- }
- }
- else {
- if(cur->ymin < tot->ymin) {
- dy= tot->ymin-cur->ymin;
- cur->ymin+= dy;
- cur->ymax+= dy;
- }
- else if(cur->ymax > tot->ymax) {
- dy= cur->ymax-tot->ymax;
- cur->ymin-= dy;
- cur->ymax-= dy;
- }
- }
- }
-
-}
void test_view2d(View2D *v2d, int winx, int winy)
{
@@ -561,7 +389,7 @@ void test_view2d(View2D *v2d, int winx, int winy)
if (v2d->keepzoom & V2D_LOCKZOOM_X)
v2d->cur.xmax=v2d->cur.xmin+((float)winx);
- if(v2d->keepzoom && G.rt) {
+ if(v2d->keepzoom) {
zoom= ((float)winx)/dx;