blob: b3439cd96ceeed27bca5f42184dca38ebdf283ce [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.flex.swf.types;
/**
* The RGBA record represents a color as 32-bit red, green, blue and alpha
* value. An RGBA color with an alpha value of 255 is completely opaque. An RGBA
* color with an alpha value of zero is completely transparent. Alpha values
* between zero and 255 are partially transparent.
*/
public class RGBA extends RGB
{
protected short alpha;
/**
* Create an {@code RGBA} record.
*
* @param red red component
* @param green green component
* @param blue blue component
* @param alpha alpha component
*/
public RGBA(int red, int green, int blue, int alpha)
{
super(red, green, blue);
this.alpha = (short)alpha;
}
/**
* Get alpha component.
*
* @return alpha component
*/
public short getAlpha()
{
return alpha;
}
/**
* puts in leading zeros to make things come out right
*
* @param val The value.
*/
public static String toByte(int val)
{
if ((val < 0) || (val > 0xff))
{
assert false;
return "!!";
}
if (val < 0x10)
{
return "0" + Integer.toHexString(val);
}
return Integer.toHexString(val);
}
@Override
public String toString()
{
return "#"
+ toByte(red)
+ toByte(green)
+ toByte(blue)
+ toByte(alpha);
}
}