PDA

View Full Version : FX Scale



wetar
23 Feb 2009, 7:28 AM
Here's an Effect for Scaling:



import com.extjs.gxt.ui.client.core.El;
import com.extjs.gxt.ui.client.fx.BaseEffect;

class Scale extends BaseEffect {

private int fromWidth, toWidth;
private int fromHeight, toHeight;

Scale(El el, int width, int height) {
super(el);
el.makePositionable();
fromWidth = el.getWidth();
fromHeight = el.getHeight();

toWidth = width;
toHeight = height;
}

@Override
public void onUpdate(double progress) {
int width = (int) getValue(fromWidth, toWidth, progress);
int height = (int) getValue(fromHeight, toHeight, progress);
el.setSize(width, height);
}

@Override
public void onComplete() {
el.setSize(toWidth, toHeight);
}

}
And an Example how to use it with images:


public void onModuleLoad() {
Image image = new Image("http://code.google.com/webtoolkit/images/gwt-logo.png");
final WidgetComponent wc = new WidgetComponent(image);
image.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
new Fx(new FxConfig(2000)).run(new Scale(wc.el(), Window.getClientWidth(), Window.getClientHeight()));
}
});
RootPanel.get().add(wc);

}

takayser
6 Mar 2009, 4:09 AM
Nice, thank you!!