Timer based animation (Smart GWT) : Animation « GWT « Java






Timer based animation (Smart GWT)

Timer based 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.Timer;
import com.google.gwt.user.client.ui.RootPanel;
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 OrbitImg());
    return layout;
  }

  public static class OrbitImg extends Img {
    public OrbitImg() {
      super("other/earth.png", 48, 48);
      setTop(0);
      setLeft(100);
      addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
          animateOrbit();
        }
      });
    }

    public void animateOrbit() {

      // TODO: isc.Animation.registerAnimation(this.animateOrbitStep, 2000,
      // null, this);

      new Timer() {
        private double ratio = 0;

        public void run() {
          animateOrbitStep(ratio);
          ratio += 0.01;
          if (ratio >= 1)
            cancel();
        }
      }.scheduleRepeating(20);

    }

    public void animateOrbitStep(double ratio) {
      double angle = (Math.PI * 2) * ratio - (Math.PI / 2);
      moveTo((int) (Math.cos(angle) * 100 + 100), (int) (Math.sin(angle) * 100 + 100));
    }
  }

}

   
    
    
  








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.Zoom image animation (Smart GWT)Zoom image animation (Smart GWT)
6.Fade in and fade out animation (Smart GWT)Fade in and fade out animation (Smart GWT)
7.Layout animation (Smart GWT)Layout animation (Smart GWT)
8.Move in and move out animation (Smart GWT)Move in and move out animation (Smart GWT)
9.Window expanding and collapsing animation (Smart GWT)Window expanding and collapsing animation (Smart GWT)
10.Wipe in and wipe out animation (Smart GWT)Wipe in and wipe out animation (Smart GWT)
11.Image zooming and shrinking animation (Smart GWT)Image zooming and shrinking animation (Smart GWT)
12.Control the animation duration (Smart GWT)Control the animation duration (Smart GWT)
13.Autoscroll animation (Smart GWT)Autoscroll 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)