Zoom image animation (Smart GWT) : Animation « GWT « Java






Zoom image animation (Smart GWT)

Zoom image animation (Smart GWT)
   
/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */
package com.smartgwt.sample.showcase.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.widgets.AnimationCallback;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;

public class Showcase implements EntryPoint {

  public void onModuleLoad() {
    RootPanel.get().add(getViewPanel());
  }

  public Canvas getViewPanel() {
    VLayout layout = new VLayout();
    layout.setMembersMargin(10);
    layout.addChild(new ZoomImg(this, 0, "cube_blue.png"));
    layout.addChild(new ZoomImg(this, 100, "pawn_yellow.png"));
    layout.addChild(new ZoomImg(this, 200, "piece_green.png"));
    return layout;
    
  }
  protected ZoomImg zoomedObject = null;
}
class ZoomImg extends Img {
  private Showcase sample;
  private int zoomTime;
  private int shrinkTime;
  private Integer originalLeft = null;

  public ZoomImg(final Showcase sample, int left, String src) {
      final ZoomImg _this = this;
      this.sample = sample;
      setLeft(left);
      setSrc(src);
      setWidth(48);
      setHeight(48);
      setAppImgDir("pieces/48/");
      zoomTime = 1000;
      shrinkTime = 300;
      addClickHandler(new ClickHandler() {
          public void onClick(ClickEvent event) {
              // remember original position
              if (originalLeft == null)
                  originalLeft = getLeft();
              if (sample.zoomedObject == null) { // nothing expanded, so just expand
                  zoom();
              } else if (_this.equals(sample.zoomedObject)) { // already expanded, so just shrink
                  shrink();
                  sample.zoomedObject = null;
              } else { // another object is expanded; shrink it and then expand this object
                  sample.zoomedObject.shrink(new AnimationCallback() {
                      public void execute(boolean earlyFinish) {
                          zoom();
                      }
                  });
              }
          }
      });
  }

  public void zoom() {
      animateRect(25, 100, 200, 200, null, zoomTime);
      sample.zoomedObject = this;
  }

  public void shrink() {
      shrink(null);
  }

  public void shrink(AnimationCallback postShrinkScript) {
      animateRect(originalLeft, 0, 48, 48, postShrinkScript, shrinkTime);
  }
}

   
    
    
  








SmartGWT.zip( 9,880 k)

Related examples in the same category

1.GWT animation: fade in and fade out
2.Animation: Expand and collapse (Smart GWT)Animation: Expand and collapse (Smart GWT)
3.Animation Sequence Sample (Smart GWT)Animation Sequence Sample (Smart GWT)
4.Slide in and slide out animation (Smart GWT)Slide in and slide out animation (Smart GWT)
5.Fade in and fade out animation (Smart GWT)Fade in and fade out animation (Smart GWT)
6.Layout animation (Smart GWT)Layout animation (Smart GWT)
7.Move in and move out animation (Smart GWT)Move in and move out animation (Smart GWT)
8.Window expanding and collapsing animation (Smart GWT)Window expanding and collapsing animation (Smart GWT)
9.Wipe in and wipe out animation (Smart GWT)Wipe in and wipe out animation (Smart GWT)
10.Image zooming and shrinking animation (Smart GWT)Image zooming and shrinking animation (Smart GWT)
11.Control the animation duration (Smart GWT)Control the animation duration (Smart GWT)
12.Autoscroll animation (Smart GWT)Autoscroll animation (Smart GWT)
13.Timer based animation (Smart GWT)Timer based animation (Smart GWT)
14.orbit-path animation (Smart GWT)orbit-path animation (Smart GWT)
15.Slide in and slide out (Ext GWT)Slide in and slide out (Ext GWT)
16.Fade in and Fade out (Ext GWT)Fade in and Fade out (Ext GWT)
17.Move to a position (Ext GWT)Move to a position (Ext GWT)
18.Blinking (Ext GWT)
19.Set Widget position (Ext GWT)