[richfaces-svn-commits] JBoss Rich Faces SVN: r6197 - in trunk/framework/impl/src/main/java/org/richfaces/renderkit: html and 1 other directories.

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


Author: abelevich
Date: 2008-02-20 08:36:23 -0500 (Wed, 20 Feb 2008)
New Revision: 6197

Added:
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/CancelControlIcon.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxArrowImage.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxButtonPressGradient.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SaveControlIcon.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowImage.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonDown.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonGradient.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonUp.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerFieldGradient.java
Log:


Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/CancelControlIcon.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/CancelControlIcon.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/CancelControlIcon.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,122 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.GradientPaint;
+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 CANCEL icon renderer
+ * @author Anton Belevich
+ * @since 3.2.0
+ *  
+ */
+public class CancelControlIcon extends Java2Dresource {
+
+	protected static final String ICON_COLOR = "#971715"; 
+	protected static final String ICON_BORDER = "#FFFFFF";
+	protected static final String ALTERNATE_COLOR = "#ED6161";
+	
+	private static final Dimension dimensions = new Dimension(11, 11);
+
+	public CancelControlIcon() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+	
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+	
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	
+	protected Object deserializeData(byte[] objectArray) {
+		if (objectArray == null) {
+			return null;
+		}
+		Zipper2 zipper = new Zipper2(objectArray);
+		return new Color[] {zipper.nextColor(), zipper.nextColor()};
+	}	
+	
+	protected Object getDataToStore(FacesContext context, Object data){
+		
+		byte [] ret = new byte[6];
+			
+		Color color = null;
+		Zipper2 zipper = new Zipper2(ret);
+				
+		color = HtmlColor.decode(ICON_COLOR);
+		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 iconBorder = data[1];
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+//		g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
+//		g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+		g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);
+		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_DEFAULT);
+		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
+		g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+		g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_DEFAULT);
+			
+		g2d.setColor(iconColor);
+
+		Color altenateColor = HtmlColor.decode(ALTERNATE_COLOR);
+		GradientPaint gradient = new GradientPaint(2,3,altenateColor,3,9,iconColor);
+		g2d.setPaint(gradient);
+			
+		// draw cross
+		g2d.drawLine(2, 3, 7, 8);
+		g2d.drawLine(3, 3, 7, 7);
+		g2d.drawLine(3, 2, 8, 7);
+		
+		g2d.drawLine(2, 7, 7, 2);
+		g2d.drawLine(3, 7, 7, 3);
+		g2d.drawLine(3, 8, 8, 3);
+		
+		//draw border
+		g2d.setColor(iconBorder);
+		g2d.drawLine(1, 3, 3, 5);
+		g2d.drawLine(3, 5, 1, 7);
+		g2d.drawLine(1, 7, 3, 9);
+		g2d.drawLine(3, 9, 5, 7);
+		g2d.drawLine(5, 7, 7, 9);
+		g2d.drawLine(7, 9, 9, 7);
+		g2d.drawLine(9, 7, 7, 5);
+		g2d.drawLine(7, 5, 9, 3);
+		g2d.drawLine(9, 3, 7, 1);
+		g2d.drawLine(7, 1, 5, 3);
+		g2d.drawLine(5, 3, 3, 1);		
+		g2d.drawLine(3, 1, 1, 3);
+		
+	
+	}
+}
+

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxArrowImage.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxArrowImage.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxArrowImage.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,144 @@
+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;
+import org.richfaces.skin.Skin;
+import org.richfaces.skin.SkinFactory;
+
+/**
+ * @author Anton Belevich
+ * @since 3.2.0
+ * ComboBox down image renderer
+ */
+public class ComboBoxArrowImage extends Java2Dresource{
+	
+	
+	protected static final String ICON_COLOR = "generalTextColor";
+	protected static final String BACKGROUND_COLOR = "tabBackgroundColor";
+	protected static final String BORDER_COLOR = "generalBackgroundColor";
+	
+	protected static final String DISABLED_ICON_COLOR = "tabDisabledTextColor";
+	protected static final String DISABLED_BACKGROUND_COLOR = "tabBackgroundColor";
+	protected static final String DISABLED_BORDER_COLOR = "generalBackgroundColor";
+	
+	private static final Dimension dimensions = new Dimension(15, 15);
+	
+	public ComboBoxArrowImage() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+		
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+	
+	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) {
+		return storeData(context, ICON_COLOR, BACKGROUND_COLOR, BORDER_COLOR);
+	}
+	
+	protected Object storeData(FacesContext context, String colorSkinParam, String backgroundSkinParam, String borderSkinParam) {
+		
+		Skin skin = SkinFactory.getInstance().getSkin(context);
+		Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
+			
+		byte [] ret = new byte[9];
+			
+		Color color = null;
+		Zipper2 zipper = new Zipper2(ret);
+			
+		String color1 = (String) skin.getParameter(context, colorSkinParam);
+		
+		if (null == color1 || "".equals(color1)) {
+			color1 = (String) defaultSkin.getParameter(context, colorSkinParam);
+		}	
+			
+		if (color1 == null) {
+			color1 = "#FFFFFF";
+		}
+			
+		color = HtmlColor.decode(color1);
+			
+		zipper.addColor(color);
+			
+		String color2 = (String) skin.getParameter(context, backgroundSkinParam);
+		if (null == color2 || "".equals(color2))
+			color2 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
+			
+		if (color2 == null) {
+			color2 = "#000000";
+		}
+			
+		color = HtmlColor.decode(color2);
+		zipper.addColor(color);
+			
+		String color3 = (String) skin.getParameter(context, borderSkinParam);
+		if (null == color3 || "".equals(color3))
+			color3 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
+			
+		if (color3 == null) {
+			color3 = "#000000";
+		}
+			
+		color = HtmlColor.decode(color3);
+		zipper.addColor(color);
+			
+		return ret;
+	}
+		
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Color [] data = (Color[]) restoreData(context);
+		Color textColor = data[0];
+//		Color backgroundColor = 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);
+
+		if (textColor != null && borderColor != null && g2d != null) {
+	
+			g2d.setColor(textColor);
+			g2d.translate(7, 5);
+			paintBaseTriangle(g2d);
+			g2d.translate(-7, -5);
+	
+			g2d.setColor(borderColor);
+			g2d.drawLine(4, 5, 10, 5);
+			g2d.drawLine(11, 6, 7, 10);
+			g2d.drawLine(7, 10, 3, 6);
+		}	
+	}
+	
+	protected void paintBaseTriangle(Graphics2D g2d) {
+		for (int i = 0; i < 7; i++) {
+			g2d.drawLine(-3 + i, 1, -3 + i, 1 + (i < 4 ? i : 6 - i));
+		}
+	}
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxButtonPressGradient.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxButtonPressGradient.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/ComboBoxButtonPressGradient.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,19 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.html.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+import org.richfaces.skin.Skin;
+
+/**
+ * @author Anton Belevich
+ * @since 3.2.0
+ */
+public class ComboBoxButtonPressGradient extends BaseGradient{
+	
+	public ComboBoxButtonPressGradient() {
+		super(7,15 , 9, Skin.headerBackgroundColor, "headerGradientColor");
+	}
+
+}

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:36:23 UTC (rev 6197)
@@ -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);
+		
+		
+	
+	}
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowBase.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,66 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+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;
+
+public abstract class SliderArrowBase  extends Java2Dresource{
+	private static final Dimension dimensions = new Dimension(7, 8);
+
+	public SliderArrowBase() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+	
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Integer color = (Integer) restoreData(context);
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2d.setColor(new Color(color.intValue()));
+		g2d.drawLine(0,2,6,2);
+		g2d.drawLine(1,3,5,3);
+		g2d.drawLine(2,4,4,4);
+		g2d.drawLine(3,5,3,5);
+	}
+	
+	public boolean isCacheable() {
+		return true;
+	}
+
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowImage.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowImage.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SliderArrowImage.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,56 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.nio.ByteBuffer;
+import java.nio.IntBuffer;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.util.HtmlColor;
+import org.richfaces.skin.Skin;
+import org.richfaces.skin.SkinFactory;
+
+public class SliderArrowImage extends SliderArrowBase {
+	protected Object getDataToStore(FacesContext context, Object data) {
+		Skin skin = SkinFactory.getInstance().getSkin(context);
+		
+		String skinParameter = "generalTextColor";
+		String tmp = (String) skin.getParameter(context, skinParameter);
+		if (null == tmp || "".equals(tmp)) {
+			Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
+			tmp = (String) defaultSkin.getParameter(context, skinParameter);
+		}
+		int intValue = HtmlColor.decode(tmp ==null? "#000000":tmp).getRGB();
+		// Serialize data as byte[] 
+		ByteBuffer buff = ByteBuffer.allocate(1*4);
+		IntBuffer intBuffer = buff.asIntBuffer();
+		intBuffer.put(intValue);
+		return buff.array();
+	}
+
+	protected Object deserializeData(byte[] objectArray) {
+		// restore color value from a byte[] array.
+		int i = ByteBuffer.wrap(objectArray).asIntBuffer().get();
+		return new Integer(i);
+	}
+}
\ No newline at end of file

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonDown.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonDown.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonDown.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,71 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+public class SpinnerButtonDown extends SpinnerButtonImage {
+	private static final Dimension dimensions = new Dimension(14, 7);
+	
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Color[] color = (Color []) restoreData(context);
+		Color triangleColor = color[0];
+		Color borderColor  = color[1];
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		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(triangleColor);
+		g2d.drawLine(5,2,9,2);
+		g2d.drawLine(6,3,8,3);
+		g2d.drawLine(7,4,7,4);
+		
+		g2d.setColor(borderColor);
+		g2d.drawLine(5, 1, 9, 1);
+		g2d.drawLine(10, 2, 7, 5);
+		g2d.drawLine(7, 5, 4, 2);
+		
+		
+	}
+	
+
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonGradient.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonGradient.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonGradient.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,30 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+
+public class SpinnerButtonGradient extends BaseGradient {
+	public SpinnerButtonGradient() {
+		super(30, 50, 20, "headerGradientColor", "headerBackgroundColor");
+	}
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonUp.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonUp.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerButtonUp.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,71 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+public class SpinnerButtonUp extends SpinnerButtonImage {
+	private static final Dimension dimensions = new Dimension(14, 7);
+	
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		
+		Color [] data = (Color []) restoreData(context);
+		Color textColor = data[0];
+		Color borderColor = data[1];
+		
+		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(textColor);
+		g2d.drawLine(5,5,9,5);
+		g2d.drawLine(6,4,8,4);
+		g2d.drawLine(7,3,7,3);
+		
+		g2d.setColor(borderColor);
+		g2d.drawLine(5, 6, 9, 6);
+		g2d.drawLine(10, 5, 7, 2);
+		g2d.drawLine(7, 2, 4, 5);
+		
+	}
+			
+}	
+
+

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerFieldGradient.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerFieldGradient.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/SpinnerFieldGradient.java	2008-02-20 13:36:23 UTC (rev 6197)
@@ -0,0 +1,33 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+
+public class SpinnerFieldGradient extends BaseGradient {
+
+	public SpinnerFieldGradient() {
+		super(30, 50, 12, "additionalBackgroundColor", "controlBackgroundColor");
+	}
+	
+	
+}




More information about the richfaces-svn-commits mailing list