Package net.cis.client.game.ui.hud.ctrl

Source Code of net.cis.client.game.ui.hud.ctrl.VerticalProgressControl

/**
*
*/
package net.cis.client.game.ui.hud.ctrl;

import java.util.Properties;

import de.lessvoid.nifty.Nifty;
import de.lessvoid.nifty.controls.Controller;
import de.lessvoid.nifty.elements.Element;
import de.lessvoid.nifty.elements.render.ImageRenderer;
import de.lessvoid.nifty.input.NiftyInputEvent;
import de.lessvoid.nifty.render.NiftyImage;
import de.lessvoid.nifty.render.image.ImageModeFactory;
import de.lessvoid.nifty.render.image.ImageModeHelper;
import de.lessvoid.nifty.screen.Screen;
import de.lessvoid.nifty.tools.SizeValue;
import de.lessvoid.xml.xpp3.Attributes;

/**
* @author SchaeckerM
*
*/
public class VerticalProgressControl implements Controller {

  private Element progressElement;
  final int imageHeight = 88;
  final int imageWidth = 27;

  @Override
  public void bind(Nifty nifty, Screen screen, Element element,
      Properties properties, Attributes attributes) {
    progressElement = element;
  }

  @Override
  public void init(Properties arg0, Attributes arg1) {
    // TODO Auto-generated method stub

  }

  @Override
  public boolean inputEvent(NiftyInputEvent arg0) {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public void onFocus(boolean arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void onStartScreen() {
    // TODO Auto-generated method stub

  }

  public void setProgress(final int maxValue, final int value) {
    int pixelHeight = (int) (imageHeight * ((float) value / maxValue));

    int progressFreeValue = imageHeight - pixelHeight;

    NiftyImage image = progressElement.getRenderer(ImageRenderer.class)
        .getImage();
    String areaProviderProperty = new ImageModeHelper()
        .getAreaProviderProperty("subImage:0," + progressFreeValue
            + ",27," + pixelHeight);
    String renderStrategyProperty = new ImageModeHelper()
        .getRenderStrategyProperty("subImage:0," + progressFreeValue
            + ",27," + pixelHeight);
    image.setImageMode(ImageModeFactory.getSharedInstance()
        .createImageMode(areaProviderProperty, renderStrategyProperty));
    progressElement.getRenderer(ImageRenderer.class).setImage(image);
    progressElement.setConstraintY(new SizeValue(Integer
        .toString(progressFreeValue + 6) + "px"));
    progressElement.setConstraintHeight(new SizeValue(pixelHeight+ "px"));
    progressElement.getParent().layoutElements();
  }
}
TOP

Related Classes of net.cis.client.game.ui.hud.ctrl.VerticalProgressControl

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.