Source code: com/anotherbigidea/flash/structs/ButtonRecord2.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 java.util.*;
38 import com.anotherbigidea.io.*;
39
40 public class ButtonRecord2 extends ButtonRecord
41 {
42 protected AlphaTransform transform;
43
44 public AlphaTransform getTransform() { return transform; }
45 public void setTransform( AlphaTransform transform ) { this.transform = transform; }
46
47 /**
48 * Read a button record array
49 */
50 public static Vector read( InStream in ) throws IOException
51 {
52 Vector records = new Vector();
53
54 int firstByte = 0;
55 while( (firstByte = in.readUI8()) != 0 )
56 {
57 records.addElement( new ButtonRecord2( in, firstByte ));
58 }
59
60 return records;
61 }
62
63 /**
64 * Write a button record array
65 */
66 public static void write( OutStream out, Vector records ) throws IOException
67 {
68 for( Enumeration enum = records.elements(); enum.hasMoreElements(); )
69 {
70 ButtonRecord2 rec = (ButtonRecord2)enum.nextElement();
71 rec.write( out );
72 }
73
74 out.writeUI8( 0 );
75 }
76
77 public ButtonRecord2( int id,
78 int layer,
79 Matrix matrix,
80 AlphaTransform transform,
81 int flags )
82 {
83 super( id, layer, matrix, flags );
84 this.transform = transform;
85 }
86
87 protected ButtonRecord2( InStream in, int firstByte ) throws IOException
88 {
89 super( in, firstByte );
90 transform = new AlphaTransform( in );
91 }
92
93 protected void write( OutStream out ) throws IOException
94 {
95 super.write( out );
96 transform.write( out );
97 }
98
99 public String toString()
100 {
101 return super.toString() + " " + transform;
102 }
103 }