Source code: com/anotherbigidea/flash/structs/AlphaColor.java
1 /****************************************************************
2 * Copyright (c) 2001, David N. Main, All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or
5 * without modification, are permitted provided that the
6 * following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following
14 * disclaimer in the documentation and/or other materials
15 * provided with the distribution.
16 *
17 * 3. The name of the author may not be used to endorse or
18 * promote products derived from this software without specific
19 * prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
22 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
24 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 ****************************************************************/
34 package com.anotherbigidea.flash.structs;
35
36 import java.io.*;
37 import com.anotherbigidea.io.*;
38
39 /**
40 * A Color with an Alpha component
41 */
42 public class AlphaColor extends Color
43 {
44 protected int alpha;
45
46 public int getAlpha() { return alpha; }
47 public void setAlpha( int alpha ) { this.alpha = alpha; }
48
49 public AlphaColor( int red, int green, int blue, int alpha )
50 {
51 super( red, green, blue );
52 this.alpha = alpha;
53 }
54
55 public AlphaColor( Color color, int alpha )
56 {
57 this( color.getRed(), color.getGreen(), color.getBlue(), alpha );
58 }
59
60 public AlphaColor( InStream in ) throws IOException
61 {
62 super( in );
63 alpha = in.readUI8();
64 }
65
66 public void write( OutStream out ) throws IOException
67 {
68 writeRGB( out );
69 out.writeUI8( alpha );
70 }
71
72 public void writeWithAlpha( OutStream out ) throws IOException
73 {
74 write( out );
75 }
76
77 public boolean equals( AlphaColor color )
78 {
79 return super.equals( color ) && ( alpha == color.getAlpha() );
80 }
81
82 public String toString()
83 {
84 return "RGBA("+red+","+green+","+blue+","+alpha+")";
85 }
86 }