[richfaces-svn-commits] JBoss Rich Faces SVN: r6195 - trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Feb 20 08:24:38 EST 2008


Author: abelevich
Date: 2008-02-20 08:24:38 -0500 (Wed, 20 Feb 2008)
New Revision: 6195

Added:
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SaveControlIcon.java
Log:


Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SaveControlIcon.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SaveControlIcon.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SaveControlIcon.java	2008-02-20 13:24:38 UTC (rev 6195)
@@ -0,0 +1,125 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.util.Date;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.resource.GifRenderer;
+import org.ajax4jsf.resource.InternetResourceBuilder;
+import org.ajax4jsf.resource.Java2Dresource;
+import org.ajax4jsf.resource.ResourceContext;
+import org.ajax4jsf.util.HtmlColor;
+import org.ajax4jsf.util.Zipper2;
+
+/**
+ * implementation of the default OK icon renderer 
+ * @author Anton Belevich
+ * @since 3.2.0
+ *
+ */
+public class SaveControlIcon extends Java2Dresource {
+	
+	protected static final String ICON_COLOR = "#5BC248"; 
+	protected static final String ICON_SHADOW = "#006406";
+	protected static final String ICON_BORDER = "#FFFFFF";
+	
+	private static final Dimension dimensions = new Dimension(11, 11);
+
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+	
+	
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public SaveControlIcon() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+	
+	protected Object deserializeData(byte[] objectArray) {
+		if (objectArray == null) {
+			return null;
+		}
+		Zipper2 zipper = new Zipper2(objectArray);
+		return new Color[] {zipper.nextColor(), zipper.nextColor(), zipper.nextColor()};
+	}	
+	
+	protected Object getDataToStore(FacesContext context, Object data){
+		
+		byte [] ret = new byte[9];
+			
+		Color color = null;
+		Zipper2 zipper = new Zipper2(ret);
+				
+		color = HtmlColor.decode(ICON_COLOR);
+		zipper.addColor(color);
+			
+		color = HtmlColor.decode(ICON_SHADOW);
+		zipper.addColor(color);
+		
+		color = HtmlColor.decode(ICON_BORDER);
+		zipper.addColor(color);
+			
+		return ret;
+	}
+	
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Color [] data = (Color[]) restoreData(context);
+		
+		Color iconColor = data[0];
+		Color iconShadow = data[1];
+		Color borderColor = data[2];
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+		g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
+		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
+		g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+		g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+		
+		g2d.setColor(iconColor);
+		g2d.drawLine(1, 6, 4, 9);
+		g2d.drawLine(4, 9, 4, 8);
+		g2d.drawLine(4, 8, 2, 6);
+		g2d.drawLine(2, 5, 5, 8);
+		g2d.drawLine(5, 8, 5, 6);
+		g2d.drawLine(5, 6, 9, 2);
+		g2d.drawLine(9, 2, 9, 3);
+		g2d.drawLine(9, 3, 5, 7);
+
+		//draw shadow
+		g2d.setColor(iconShadow);
+		g2d.drawLine(3, 5, 4, 6);
+		g2d.drawLine(5, 9, 6, 8);
+		g2d.drawLine(6, 8, 6, 7);
+		g2d.drawLine(6, 7, 9, 4);
+		
+		// draw border
+		g2d.setColor(borderColor);
+		g2d.drawLine(0, 6, 4, 10);
+		g2d.drawLine(4, 10, 5,10);
+		g2d.drawLine(5,10,7,8);
+		g2d.drawLine(7,8,7,7);
+		g2d.drawLine(7,7,10,4);
+		g2d.drawLine(10,4,10,1);
+		g2d.drawLine(10,1,9,1);
+		g2d.drawLine(9,1,5,5);
+		g2d.drawLine(5,5,4,5);
+		g2d.drawLine(4,5,3,4);
+		g2d.drawLine(3,4,2,4);
+		g2d.drawLine(2,4,0,6);
+		
+		
+	
+	}
+}




More information about the richfaces-svn-commits mailing list