Package de.lessvoid.nifty.render

Source Code of de.lessvoid.nifty.render.NiftyImageMode

package de.lessvoid.nifty.render;

import de.lessvoid.nifty.Size;
import de.lessvoid.nifty.render.image.ImageMode;
import de.lessvoid.nifty.render.image.ImageModeFactory;
import de.lessvoid.nifty.render.image.ImageModeHelper;
import de.lessvoid.nifty.spi.render.RenderDevice;
import de.lessvoid.nifty.spi.render.RenderImage;
import de.lessvoid.nifty.tools.Color;

/**
* RenderImageMode supports the following modes.
*
* - "normal" (render the given image to the given image size)
* - "subImage:" (render the given subImage of the image to the given size)
* - "resize:" (special mode that allows scaling of bitmaps with a predefined schema)
* - "repeat:" (special mode that repeating of texture)
*
* @author void
* @deprecated use {@link ImageModeFactory} class instead to create {@link ImageMode} instances.
*/
@Deprecated
public class NiftyImageMode implements ImageMode {

  private ImageMode m_imageMode;

  private NiftyImageMode(ImageMode imageMode) {
    m_imageMode = imageMode;
  }

  /**
   * Render image.
   * @param renderImage RenderImage
   * @param x x
   * @param y y
   * @param width width
   * @param height height
   * @param color color
   * @param scale scale
   */
  public void render(final RenderDevice renderDevice, final RenderImage renderImage, final int x, final int y,
      final int width, final int height, final Color color, final float scale) {
    m_imageMode.render(renderDevice, renderImage, x, y, width, height, color, scale);
  }

  @Override
  public void setParameters(String parameters) {
    m_imageMode.setParameters(parameters);
  }

  @Override
  public Size getImageNativeSize(NiftyImage image) {
    return m_imageMode.getImageNativeSize(image);
  }

  /**
   * create a RenderImageMode from the given String.
   * @param imageMode imageMode String
   * @return a RenderImageMode
   */
  public static NiftyImageMode valueOf(final String imageMode) {
    String areaProviderProperty = new ImageModeHelper().getAreaProviderProperty(imageMode);
    String renderStrategyProperty = new ImageModeHelper().getRenderStrategyProperty(imageMode);

    return new NiftyImageMode(ImageModeFactory.getSharedInstance().createImageMode(areaProviderProperty,
        renderStrategyProperty));
  }

  /**
   * normal rendering.
   * @return RenderImageMode for NORMAL mode
   */
  public static NiftyImageMode normal() {
    return new NiftyImageMode(valueOf("normal"));
  }

  /**
   * scale a sub image.
   * @param x x
   * @param y y
   * @param w w
   * @param h h
   * @return RenderImageMode for SUBIMAGE mode
   */
  public static NiftyImageMode subImage(final int x, final int y, final int w, final int h) {
    return new NiftyImageMode(valueOf("subImage:" + x + "px," + y + "px," + w + "px," + h + "px"));
  }
}
TOP

Related Classes of de.lessvoid.nifty.render.NiftyImageMode

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.