001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019/*
020*
021
022Licensed under the Apache License, Version 2.0 (the "License");
023you may not use this file except in compliance with the License.
024You may obtain a copy of the License at
025
026   http://www.apache.org/licenses/LICENSE-2.0
027
028Unless required by applicable law or agreed to in writing, software
029distributed under the License is distributed on an "AS IS" BASIS,
030WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
031See the License for the specific language governing permissions and
032limitations under the License.
033*/
034
035package lucee.runtime.img.vecmath;
036
037import java.awt.Color;
038
039/**
040 * Vector math package, converted to look similar to javax.vecmath.
041 */
042public class Color4f extends Tuple4f {
043
044        public Color4f() {
045                this( 0, 0, 0, 0 );
046        }
047        
048        public Color4f( float[] x ) {
049                this.x = x[0];
050                this.y = x[1];
051                this.z = x[2];
052                this.w = x[3];
053        }
054
055        public Color4f( float x, float y, float z, float w ) {
056                this.x = x;
057                this.y = y;
058                this.z = z;
059                this.w = w;
060        }
061
062        public Color4f( Color4f t ) {
063                this.x = t.x;
064                this.y = t.y;
065                this.z = t.z;
066                this.w = t.w;
067        }
068
069        public Color4f( Tuple4f t ) {
070                this.x = t.x;
071                this.y = t.y;
072                this.z = t.z;
073                this.w = t.w;
074        }
075
076        public Color4f( Color c ) {
077                set( c );
078        }
079
080        public void set( Color c ) {
081                set( c.getRGBComponents( null ) );
082        }
083
084        public Color get() {
085                return new Color( x, y, z, w );
086        }
087}