Title: Message
Hi Brian!
 
I am currently working on a "stacker" that reacts on layer resizing.
 
Its a function that works with the x,y,h,w of the layers added.
 
If you have layer 1 and layer2 and they are exacltly 5 pixels space between them, if you resize layer 1 so the space is say 15 pixels between them, layers 2 will be moved so its still 5 pixels between them.
 
But with movement this one is not the option, this is just for sizing, however you should have a look at the groupmanager example who deals with positions, i dont know if thats the thing you are looking for but it might help you out.
 
Regards
Daniel
 
 -----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Hayes
Sent: den 28 september 2003 16:54
To: [EMAIL PROTECTED]
Subject: [Dynapi-Help] Setting the scale for one object based on another.

Hello everyone, I have been at this for about (well all night) and I seem to be missing something... What am I trying?
 
Well, When one layer grows, I need another layer to shring accourdingly.. Plus, if I move one layer I need to other layer to move accourdingly.. Everything I have tried seems to be close, but not there... Not to mention looking at the code in scrollbar.js, but being a little week in math?? Well, lets say its not my cup of tee..
 
Please help...
 
example:
 
ViewWin is my larger Window and ScaleViewerContainer is my smaller window..
The two objects that need to interact are ViewLyr[lyrid] where lyrid is the layer in focus (larger) and ScaleViewer the smaller one.
-Both of the obove are contained in there parent layers ViewWin -> ViewLyr[lyrid] and ScaleViewerContainer -> ScaleViewer..
 
  this.rh = this.ViewWin.getHeight()/this.ScaleViewer.getHeight(); //ratio
  this.rw = this.ViewWin.getWidth()/this.ScaleViewer.getWidth();
  this.sw =(this.ViewLyr[lyrid].getWidth() - (this.ScaleViewer.getWidth()/this.rw))/this.rw;
  this.sh =(this.ViewLyr[lyrid].getHeight() - (this.ScaleViewer.getHeight()/this.rh))/this.rh;
 
  this.nh =  this.ScaleViewerContainer.getHeight() - (this.sh-this.ScaleViewer.getHeight());
  this.nw =  this.ScaleViewerContainer.getWidth() - (this.sw-this.ScaleViewer.getWidth());
  //this.rh = this.ViewWin.h/this.ScaleViewerContainer.h; //ratio
  //this.rw = this.ViewWin.w/this.ScaleViewerContainer.w;
  this.rx = (this.ViewLyr[lyrid].getX()*-1)/this.rw;
  this.ry = (this.ViewLyr[lyrid].getY()*-1)/this.rh;
 

  this.ScaleViewer.setSize(this.nw,this.nh);
  this.ScaleViewer.setLocation((this.rx/this.rw),(this.ry/this.rh));
 
Thanks, Brian Hayes

Reply via email to