package controlP5; /** * controlP5 is a processing gui library. * * 2006-2015 by Andreas Schlegel * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. 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., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Andreas Schlegel (http://www.sojamo.de) * @modified ##date## * @version ##version## * */ import java.io.Serializable; /** * A CColor instance contains the colors of a controller including the foreground-, background-, * active-, captionlabel- and valuelabel-colors. */ @SuppressWarnings( "serial" ) public class CColor implements Serializable { private int colorBackground = 0xff003652; private int colorForeground = 0xff00698c; private int colorActive = 0xff08a2cf; // 0699C4; private int colorCaptionLabel = 0xffffffff; private int colorValueLabel = 0xffffffff; private int colorBackgroundAlpha = 0xff; private int colorForegroundAlpha = 0xff; private int colorActiveAlpha = 0xff; // 0699C4; private int colorCaptionLabelAlpha = 0xff; private int colorValueLabelAlpha = 0xff; private int alpha = 0xff; private int maskA = 0x00ffffff; int maskR = 0xff00ffff; int maskG = 0xffff00ff; int maskB = 0xffffff00; protected CColor set( CColor theColor ) { colorBackground = theColor.colorBackground; colorForeground = theColor.colorForeground; colorActive = theColor.colorActive; colorCaptionLabel = theColor.colorCaptionLabel; colorValueLabel = theColor.colorValueLabel; colorBackgroundAlpha = theColor.colorBackgroundAlpha; colorForegroundAlpha = theColor.colorForegroundAlpha; colorActiveAlpha = theColor.colorActiveAlpha; colorCaptionLabelAlpha = theColor.colorCaptionLabelAlpha; colorValueLabelAlpha = theColor.colorValueLabelAlpha; return this; } protected CColor copyTo( ControllerInterface< ? > theControl ) { theControl.setColorBackground( colorBackground ); theControl.setColorForeground( colorForeground ); theControl.setColorActive( colorActive ); theControl.setColorLabel( colorCaptionLabel ); return this; } /** * @exclude {@inheritDoc} */ public String toString( ) { return ( "bg (" + ( colorBackground >> 16 & 0xff ) + "," + ( colorBackground >> 8 & 0xff ) + "," + ( colorBackground >> 0 & 0xff ) + "), " + "fg (" + ( colorForeground >> 16 & 0xff ) + "," + ( colorForeground >> 8 & 0xff ) + "," + ( colorForeground >> 0 & 0xff ) + "), " + "active (" + ( colorActive >> 16 & 0xff ) + "," + ( colorActive >> 8 & 0xff ) + "," + ( colorActive >> 0 & 0xff ) + "), " + "captionlabel (" + ( colorCaptionLabel >> 16 & 0xff ) + "," + ( colorCaptionLabel >> 8 & 0xff ) + "," + ( colorCaptionLabel >> 0 & 0xff ) + "), " + "valuelabel (" + ( colorValueLabel >> 16 & 0xff ) + "," + ( colorValueLabel >> 8 & 0xff ) + "," + ( colorValueLabel >> 0 & 0xff ) + ")" ); } public CColor( ) { set( ControlP5.getColor( ) ); } public CColor( int cfg , int cbg , int cactive , int ccl , int cvl ) { setForeground( cfg ); setBackground( cbg ); setActive( cactive ); setCaptionLabel( ccl ); setValueLabel( cvl ); } public CColor( CColor theColor ) { set( theColor ); } /** * @exclude * @param theAlpha */ public CColor setAlpha( int theAlpha ) { System.out.println( "controlP5.CColor.setAlpha: setting alpha values disabled for this version of controlP5." ); return this; } public CColor setForeground( int theColor ) { if ( ( theColor & 0xff000000 ) == 0 ) { colorForeground = 0xff000000; } else { colorForeground = theColor; } return this; } public CColor setBackground( int theColor ) { if ( ( theColor & 0xff000000 ) == 0 ) { colorBackground = 0xff000000; } else { colorBackground = theColor; } return this; } public CColor setActive( int theColor ) { if ( ( theColor & 0xff000000 ) == 0 ) { colorActive = 0xff000000; } else { colorActive = theColor; } return this; } public CColor setCaptionLabel( int theColor ) { if ( ( theColor & 0xff000000 ) == 0 ) { colorCaptionLabel = 0xff000000; } else { colorCaptionLabel = theColor; } return this; } public CColor setValueLabel( int theColor ) { if ( ( theColor & 0xff000000 ) == 0 ) { colorValueLabel = 0xff000000; } else { colorValueLabel = theColor; } return this; } public int getAlpha( ) { return alpha; } public int getForeground( ) { return colorForeground; } public int getBackground( ) { return colorBackground; } public int getActive( ) { return colorActive; } public int getCaptionLabel( ) { return colorCaptionLabel; } public int getValueLabel( ) { return colorValueLabel; } /** * @exclude {@inheritDoc} */ public int hashCode( ) { int result = 23; result = 37 * result + colorBackground; result = 37 * result + colorForeground; result = 37 * result + colorActive; return result; } /** * @exclude {@inheritDoc} */ public boolean equals( Object o ) { if ( this == o ) { return true; } if ( o == null || getClass( ) != o.getClass( ) ) { return false; } CColor cc = ( CColor ) o; if ( colorBackground != cc.colorBackground || colorForeground != cc.colorForeground || colorActive != cc.colorActive || colorCaptionLabel != cc.colorCaptionLabel || colorValueLabel != cc.colorValueLabel ) { return false; } return true; } }