View Javadoc

1   // Copyright 2003, FreeHEP.
2   package org.freehep.graphicsio.swf;
3   
4   import java.io.IOException;
5   
6   /**
7    * SWF Clip Event Flags
8    * 
9    * @author Mark Donszelmann
10   * @author Charles Loomis
11   * @version $Id: ClipEventFlags.java 8584 2006-08-10 23:06:37Z duns $
12   */
13  public class ClipEventFlags {
14  
15      private boolean keyPress, dragOut, dragOver, rollOut, rollOver;
16  
17      private boolean releaseOutside, release, press, initialize, data;
18  
19      private boolean keyUp, keyDown, mouseUp, mouseDown, mouseMove;
20  
21      private boolean unload, enterFrame, load;
22  
23      /**
24       * Read a ClipEventFlags from the stream.
25       */
26      public ClipEventFlags(SWFInputStream swf) throws IOException {
27  
28          if (swf.getVersion() >= 6) {
29              swf.readUBits(14);
30              keyPress = swf.readBitFlag();
31              dragOut = swf.readBitFlag();
32          }
33  
34          dragOver = swf.readBitFlag();
35          rollOut = swf.readBitFlag();
36          rollOver = swf.readBitFlag();
37          releaseOutside = swf.readBitFlag();
38          release = swf.readBitFlag();
39          press = swf.readBitFlag();
40          initialize = swf.readBitFlag();
41          data = swf.readBitFlag();
42          keyUp = swf.readBitFlag();
43          keyDown = swf.readBitFlag();
44          mouseUp = swf.readBitFlag();
45          mouseDown = swf.readBitFlag();
46          mouseMove = swf.readBitFlag();
47          unload = swf.readBitFlag();
48          enterFrame = swf.readBitFlag();
49          load = swf.readBitFlag();
50      }
51  
52      public void write(SWFOutputStream swf) throws IOException {
53          if (swf.getVersion() >= 6) {
54              swf.writeUBits(0, 14);
55              swf.writeBitFlag(keyPress);
56              swf.writeBitFlag(dragOut);
57          }
58  
59          swf.writeBitFlag(dragOver);
60          swf.writeBitFlag(rollOut);
61          swf.writeBitFlag(rollOver);
62          swf.writeBitFlag(releaseOutside);
63          swf.writeBitFlag(release);
64          swf.writeBitFlag(press);
65          swf.writeBitFlag(initialize);
66          swf.writeBitFlag(data);
67          swf.writeBitFlag(keyUp);
68          swf.writeBitFlag(keyDown);
69          swf.writeBitFlag(mouseUp);
70          swf.writeBitFlag(mouseDown);
71          swf.writeBitFlag(mouseMove);
72          swf.writeBitFlag(unload);
73          swf.writeBitFlag(enterFrame);
74          swf.writeBitFlag(load);
75      }
76  
77      public boolean isKeyPress() {
78          return keyPress;
79      }
80  
81      public boolean isEndFlag() {
82          // All bits were 0?
83          return !(keyPress || dragOut || dragOver || rollOut || rollOver
84                  || releaseOutside || release || press || initialize || data
85                  || keyUp || keyDown || mouseUp || mouseDown || mouseMove
86                  || unload || enterFrame || load);
87      }
88  
89      public String toString() {
90          return "ClipEventFlags";
91      }
92  }