Package gwt.g2d.client.demo

Source Code of gwt.g2d.client.demo.AbstractDemo

/*
* Copyright 2009 Hao Nguyen
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package gwt.g2d.client.demo;

import gwt.g2d.client.graphics.Surface;
import gwt.g2d.client.util.FpsTimer;

import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;

/**
* Base class for all demo.
*
* @author hao1300@gmail.com
*/
public abstract class AbstractDemo extends FpsTimer {
  protected static final int WIDTH = 600, HEIGHT = 600;
  private final Surface surface;
  private final String demoName;
  private final Panel parentContainer;
 
  public AbstractDemo(String demoName, Panel parentContainer) {
    super(60);
    surface = new Surface(WIDTH, HEIGHT);
    this.demoName = demoName;
    this.parentContainer = parentContainer;
    parentContainer.clear();
  }
 
  /**
   * Gets the name of the demo.
   */
  public String getDemoName() {
    return demoName;
  }
 
  /**
   * Gets the container where this demo is contained.
   */
  protected void add(Widget child) {
    parentContainer.add(child);
  }

  /**
   * Gets the surface for the demo.
   */
  public Surface getPrimarySurface() {
    return surface;
  }
 
  /**
   * Initializes the demo.
   */
  public abstract void initialize();
}
TOP

Related Classes of gwt.g2d.client.demo.AbstractDemo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.