00001 #ifndef FDISPLAY_H_FILE
00002 #define FDISPLAY_H_FILE
00003
00004 #include <string>
00005 #include "FBase.h"
00006 #include "FShape.h"
00007
00008 class FlashTagPlaceObject : public FlashSpriteEnabled
00009 {
00010 DEFINE_RW_INTERFACE
00011 public:
00012 FlashTagPlaceObject(UWORD _depth, UWORD _charID, FlashMatrix &m);
00013 FlashTagPlaceObject(UWORD _depth, UWORD _charID, FlashMatrix &m, FlashColorTransform &c);
00014
00015 bool HasColorTransform() { return (hascfx); }
00016
00017 UWORD GetCharID() { return characterID; }
00018 UWORD GetDepth() { return depth; }
00019 FlashMatrix GetMatrix() { return matrix; }
00020 FlashColorTransform GetColorTransform() { return cfx; }
00021
00022 protected:
00023 friend class FlashImporter;
00024 FlashTagPlaceObject() {}
00025 private:
00026 friend std::ostream& operator<<(std::ostream& out, FlashTagPlaceObject &data);
00027 friend std::istream& operator>>(std::istream& in, FlashTagPlaceObject &data);
00028
00029 UWORD characterID;
00030 UWORD depth;
00031 FlashMatrix matrix;
00032 FlashColorTransform cfx;
00033 bool hascfx;
00034 };
00035
00036
00037 class FlashTagPlaceObject2 : public FlashSpriteEnabled
00038 {
00039 DEFINE_RW_INTERFACE
00040 protected:
00041 friend class FlashImporter;
00042 public:
00043 FlashTagPlaceObject2(UWORD _depth) : hasName(false), hasCharID(false), hasMove(false), hasMatrix(false), hasColorTransform(false), hasRatio(false), hasClipDepth(false), depth(_depth){}
00044 FlashTagPlaceObject2(UWORD _depth, UWORD _charID) : hasName(false), hasCharID(true), hasMove(false), hasMatrix(false), hasColorTransform(false), hasRatio(false), hasClipDepth(false), depth(_depth), charID(_charID)
00045 {
00046 }
00047 FlashTagPlaceObject2(UWORD _depth, UWORD _charID, FlashMatrix& _matrix) : hasName(false), hasCharID(true), hasMove(false), hasMatrix(true), hasColorTransform(false), hasRatio(false), hasClipDepth(false), depth(_depth)
00048 {
00049 charID = _charID;
00050 matrix = _matrix;
00051 }
00052 FlashTagPlaceObject2(UWORD _depth, UWORD _charID, FlashMatrix& _matrix, FlashColorTransform& _cfx) : hasName(false), hasCharID(true), hasMove(false), hasMatrix(true), hasColorTransform(true), hasRatio(false), hasClipDepth(false), depth(_depth)
00053 {
00054 charID = _charID;
00055 matrix = _matrix;
00056 cfx = _cfx;
00057 }
00058 FlashTagPlaceObject2(UWORD _depth, FlashMatrix& _matrix, FlashColorTransform& _cfx) : hasName(false), hasCharID(false), hasMove(false), hasMatrix(true), hasColorTransform(true), hasRatio(false), hasClipDepth(false), depth(_depth)
00059 {
00060 matrix = _matrix;
00061 cfx = _cfx;
00062 }
00063 ~FlashTagPlaceObject2(){}
00064
00065 void SetName(std::string& _name)
00066 {
00067 hasName = true;
00068 name = _name;
00069 }
00070
00071 void SetCharID(UWORD _charID)
00072 {
00073 hasCharID = true;
00074 charID = _charID;
00075 }
00076
00077 void SetMove(bool _move)
00078 {
00079 hasMove = _move;
00080 }
00081
00082 void SetMatrix(FlashMatrix& _matrix)
00083 {
00084 hasMatrix = true;
00085 matrix = _matrix;
00086 }
00087
00088 void SetColorTransform(FlashColorTransform& _cfx)
00089 {
00090 hasColorTransform = true;
00091 cfx = _cfx;
00092 }
00093
00094 void SetRatio(UWORD _ratio)
00095 {
00096 hasRatio = true;
00097 ratio=_ratio;
00098 }
00099
00100 void SetClipDepth(UWORD _clipDepth)
00101 {
00102 hasClipDepth = true;
00103 clipDepth = _clipDepth;
00104 }
00105
00106 bool HasName() { return hasName; }
00107 bool HasCharID() { return hasCharID; }
00108 bool HasMove() { return hasMove; }
00109 bool HasMatrix() { return hasMatrix; }
00110 bool HasColorTransform() { return hasColorTransform; }
00111 bool HasRatio() { return hasRatio; }
00112 bool HasClipDepth() { return hasClipDepth; }
00113
00114 UWORD GetDepth() { return depth; }
00115 const char* GetName() { return name.c_str(); }
00116 UWORD GetCharID() { return charID; }
00117 FlashMatrix GetMatrix() { return matrix; }
00118 FlashColorTransform GetColorTransform() { return cfx; }
00119 UWORD GetRatio() { return ((UWORD)ratio); }
00120 UWORD GetClipDepth(){ return clipDepth; }
00121
00122
00123 private:
00124
00125 friend std::ostream& operator<<(std::ostream& out, FlashTagPlaceObject2 &data);
00126 friend std::istream& operator>>(std::istream& in, FlashTagPlaceObject2 &data);
00127
00128 FlashTagPlaceObject2(){}
00129
00130 bool hasName;
00131 bool hasCharID;
00132 bool hasMove;
00133 bool hasMatrix;
00134 bool hasColorTransform;
00135 bool hasRatio;
00136 bool hasClipDepth;
00137
00138 UWORD depth;
00139 std::string name;
00140 UWORD charID;
00141 FlashMatrix matrix;
00142 FlashColorTransform cfx;
00143 UWORD ratio;
00144 UWORD clipDepth;
00145 };
00146
00147 class FlashTagRemoveObject : public FlashSpriteEnabled
00148 {
00149 DEFINE_RW_INTERFACE
00150 public:
00151 FlashTagRemoveObject(UWORD _charID, UWORD _depth) : charID(_charID), depth(_depth){};
00152 ~FlashTagRemoveObject() {}
00153
00154 UWORD GetCharID() { return charID; }
00155 UWORD GetDepth() { return depth; }
00156
00157 protected:
00158 friend class FlashImporter;
00159 FlashTagRemoveObject() {}
00160 private:
00161 friend std::ostream& operator<<(std::ostream& out, FlashTagRemoveObject &data);
00162 friend std::istream& operator>>(std::istream& in, FlashTagRemoveObject &data);
00163
00164 UWORD charID;
00165 UWORD depth;
00166 };
00167 class FlashTagRemoveObject2 : public FlashSpriteEnabled
00168 {
00169 DEFINE_RW_INTERFACE
00170 public:
00171 FlashTagRemoveObject2(UWORD _depth) : depth(_depth){};
00172 ~FlashTagRemoveObject2() {}
00173
00174 UWORD GetDepth() { return depth; }
00175
00176 protected:
00177 friend class FlashImporter;
00178 FlashTagRemoveObject2() {}
00179 private:
00180 friend std::ostream& operator<<(std::ostream& out, FlashTagRemoveObject2 &data);
00181 friend std::istream& operator>>(std::istream& in, FlashTagRemoveObject2 &data);
00182
00183 UWORD depth;
00184 };
00185 DECLARE_SIMPLE_TAG3(FlashTagShowFrame)
00186 #endif