Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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 }