Package org.richfaces.renderkit.html

Source Code of org.richfaces.renderkit.html.Base2WayGradient

/**
*
*/
package org.richfaces.renderkit.html;

import java.awt.Dimension;
import java.awt.GradientPaint;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;

import org.richfaces.renderkit.html.BaseGradient;
import org.richfaces.renderkit.html.images.GradientType;
import org.richfaces.renderkit.html.images.GradientType.BiColor;

/**
* @author asmirnov
*
*/
public class Base2WayGradient extends BaseGradient {


 
 
  /**
   * @param horizontal
   */
  public Base2WayGradient(boolean horizontal) {
    super(horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param horizontal
   */
  public Base2WayGradient(int width, int height, boolean horizontal) {
    super(width, height, horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param gradientHeight
   * @param horizontal
   */
  public Base2WayGradient(int width, int height, int gradientHeight,
      boolean horizontal) {
    super(width, height, gradientHeight, horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param gradientHeight
   * @param baseColor
   * @param gradientColor
   * @param horizontal
   */
  public Base2WayGradient(int width, int height, int gradientHeight,
      String baseColor, String gradientColor, boolean horizontal) {
    super(width, height, gradientHeight, baseColor, gradientColor, horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param gradientHeight
   * @param baseColor
   * @param gradientColor
   */
  public Base2WayGradient(int width, int height, int gradientHeight,
      String baseColor, String gradientColor) {
    super(width, height, gradientHeight, baseColor, gradientColor);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param gradientHeight
   */
  public Base2WayGradient(int width, int height, int gradientHeight) {
    super(width, height, gradientHeight);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param baseColor
   * @param gradientColor
   * @param horizontal
   */
  public Base2WayGradient(int width, int height, String baseColor,
      String gradientColor, boolean horizontal) {
    super(width, height, baseColor, gradientColor, horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   * @param baseColor
   * @param gradientColor
   */
  public Base2WayGradient(int width, int height, String baseColor,
      String gradientColor) {
    super(width, height, baseColor, gradientColor);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param width
   * @param height
   */
  public Base2WayGradient(int width, int height) {
    super(width, height);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param baseColor
   * @param gradientColor
   * @param horizontal
   */
  public Base2WayGradient(String baseColor, String gradientColor,
      boolean horizontal) {
    super(baseColor, gradientColor, horizontal);
    // TODO Auto-generated constructor stub
  }

  /**
   * @param baseColor
   * @param gradientColor
   */
  public Base2WayGradient(String baseColor, String gradientColor) {
    super(baseColor, gradientColor);
    // TODO Auto-generated constructor stub
  }

 
  protected void drawBackGradient(Graphics2D g2d, Rectangle2D rectangle, BiColor colors, int height) {
    if (colors != null) {
        GradientPaint gragient = new GradientPaint(0, (float)(rectangle.getHeight()-height), colors.getBottomColor(), 0, (float) rectangle.getHeight(), colors.getTopColor());
        g2d.setPaint(gragient);
        g2d.fill(rectangle);
    }
      }

 
  @Override
  protected void paintGradient(Graphics2D g2d, Data data) {
    Integer headerBackgroundColor = data.getHeaderBackgroundColor();
      Integer headerGradientColor = data.getHeaderGradientColor();

      if (headerBackgroundColor != null && headerGradientColor != null) {
    BiColor biColor = new GradientType.BiColor(headerBackgroundColor, headerGradientColor);

    GradientType type = data.getGradientType();
    BiColor firstLayer = type.getFirstLayerColors(biColor);
    BiColor secondLayer = type.getSecondLayerColors(biColor);

    Dimension dim = getDimensions(null, data);

    if (isHorizontal()) {
        //x -> y, y -> x
        g2d.transform(new AffineTransform(0, 1, 1, 0, 0, 0));
        dim.setSize(dim.height, dim.width);
    }
   
    int localGradientHeight = getGradientHeight();
    if (localGradientHeight < 0) {
        localGradientHeight = dim.height/2;
    }
   
    Rectangle2D rect = new Rectangle2D.Float(
      0,
      0,
      dim.width,
      localGradientHeight);

    drawGradient(g2d, rect, firstLayer, localGradientHeight);
   
    rect = new Rectangle2D.Float(
        0,
        localGradientHeight,
        dim.width,
        dim.height);
   
    drawBackGradient(g2d, rect, firstLayer, localGradientHeight);
   
    int smallGradientHeight = localGradientHeight / 2;
   
    rect = new Rectangle2D.Float(
      0,
      0,
      dim.width,
      smallGradientHeight);

    drawGradient(g2d, rect, secondLayer, smallGradientHeight);

    rect = new Rectangle2D.Float(
        0,
        dim.height-smallGradientHeight,
        dim.width,
        dim.height);
   
    drawBackGradient(g2d, rect, secondLayer, smallGradientHeight);
      }
  }

 
}
TOP

Related Classes of org.richfaces.renderkit.html.Base2WayGradient

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.