Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

FButton.h

Go to the documentation of this file.
00001 #ifndef FBUTTON_H_FILE
00002 #define FBUTTON_H_FILE
00003 
00004 
00005 #include <vector>
00006 
00007 #include "FBase.h"
00008 #include "FShape.h"
00009 #include "FAction.h"
00010 
00011 #define FBR_HIT_TEST (1<<3)
00012 #define FBR_DOWN     (1<<2)
00013 #define FBR_OVER     (1<<1)
00014 #define FBR_UP       (1)
00015 
00016 
00017 class FlashTagDefineButton;
00018 class FlashTagDefineButton2;
00019 
00020 class FlashButtonRecord : public FlashVersionEnabled
00021 {
00022 DEFINE_RW_INTERFACE
00023 public:
00024         FlashButtonRecord(UWORD _charID, UWORD _depth, char _validstates, FlashMatrix &_matrix,
00025                 FlashColorTransform &_cfx);
00026         
00027     friend std::ostream &operator<< (std::ostream &out, FlashButtonRecord &data);
00028         friend std::istream &operator>> (std::istream &in,  FlashButtonRecord &data);
00029 
00030 private:
00031         FlashButtonRecord()  {} 
00032         
00033         friend std::istream &operator>> (std::istream &in,  FlashTagDefineButton &data);
00034         friend std::istream &operator>> (std::istream &in,  FlashTagDefineButton2 &data);
00035 
00036         UWORD charID;
00037         UWORD depth;
00038         char validstates;
00039         FlashMatrix matrix;
00040         FlashColorTransform cfx;
00041 };
00042 
00043 class FlashTagDefineButton : public FlashTag, public FlashIDEnabled
00044 {
00045 DEFINE_RW_INTERFACE
00046 public:
00047     FlashTagDefineButton() {}
00048         ~FlashTagDefineButton() { }
00049         
00050         void AddButtonRecord(FlashButtonRecord *r);
00051         void AddActionRecord(FlashActionRecord *r);
00052 private:
00053     friend std::ostream &operator<< (std::ostream &out, FlashTagDefineButton &data);
00054         friend std::istream &operator>> (std::istream &in,  FlashTagDefineButton &data);
00055 
00056         std::vector<FlashButtonRecord*> buttonrecords;
00057         std::vector<FlashActionRecord*> actionrecords;
00058 
00059         gc_vector<FlashButtonRecord*> gcbuttonrecords;
00060         gc_vector<FlashActionRecord*> gcactionrecords;
00061 
00062 
00063 };
00064 
00065 class FlashTagDefineButton2 : public FlashTag, public FlashIDEnabled
00066 {       
00067 DEFINE_RW_INTERFACE
00068 public:
00069         FlashTagDefineButton2(bool _menu) : menu(_menu) {}
00070         ~FlashTagDefineButton2();
00071         void AddButtonRecord(FlashButtonRecord *r);
00072         void AddActionRecords(std::vector<FlashActionRecord *> &r, UWORD conditionflags);       
00073 private:
00074     friend std::ostream &operator<< (std::ostream &out, FlashTagDefineButton2 &data);
00075         friend std::istream &operator>> (std::istream &in,  FlashTagDefineButton2 &data);
00076 
00077         bool menu;
00078         std::vector<FlashButtonRecord *> buttonrecords;
00079         
00080         std::vector<flash_pair<std::vector<FlashActionRecord*>, UWORD> > actionrecords;
00081 
00082         gc_vector<FlashButtonRecord*> gcbuttonrecords;
00083         gc_vector<FlashActionRecord*> gcactionrecords;
00084 
00085 };
00086 #endif

Generated at Wed Aug 1 13:33:50 2001 for SWFSource by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001