/*******************************************************************************
 * Copyright (c) 2010 Attila Kovacs <attila_kovacs@post.harvard.edu>.
 * All rights reserved. 
 * 
 * This file is part of crush.
 * 
 *     crush is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 * 
 *     crush 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 General Public License for more details.
 * 
 *     You should have received a copy of the GNU General Public License
 *     along with crush.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * Contributors:
 *     Attila Kovacs <attila_kovacs@post.harvard.edu> - initial API and implementation
 ******************************************************************************/
// Copyright (c) 2007 Attila Kovacs 

package crush.gui.colorscheme;

import java.awt.*;

import crush.gui.ColorScheme;

public class CameraLike extends ColorScheme {

	public CameraLike() {
		schemename= "CameraLike";
	}

	@Override
	public Color getColor(double scaledI) {
		if(Double.isNaN(scaledI)) return Color.DARK_GRAY;
		double I = scaledI;
		double hue=0.0, sat=0.0, bri=0.0;

		if(I < 0.0) I=0.0;
		if(I > 1.0) I=1.0;


		if(I < 0.2) {
			hue = 0.8;
			sat = 1.0;
			bri = I/0.2;
		}

		if(I >= 0.2 && I < 0.8) {
			hue = (0.8 - I)*0.8/0.6;
			sat = 1.0;
			bri = 1.0;
		}

		if(I >= 0.8) {
			hue = 0.0;
			sat = (1.0 - I)/0.2;
			bri = 1.0;
		}


		return Color.getHSBColor((float) hue, (float) sat, (float) bri);

	}
}
