00001 #ifndef FLASH_IMPORT_H_FILE 00002 #define FLASH_IMPORT_H_FILE 00003 00004 #include "FBase.h" 00005 #include "FDisplay.h" 00006 #include "FControl.h" 00007 #include "FAction.h" 00008 #include "FBitmap.h" 00009 #include "FSound.h" 00010 00011 #include <iostream> 00012 00013 class FlashImportHandler 00014 { 00015 public: 00016 FlashImportHandler() {} 00017 00018 virtual void Import(FlashHeader &data) {} 00019 virtual void Import(FlashTagHeader &data) {} 00020 00021 virtual void Import(FlashTagRemoveObject &data) {} 00022 virtual void Import(FlashTagRemoveObject2 &data) {} 00023 virtual void Import(FlashTagPlaceObject &data) {} 00024 virtual void Import(FlashTagPlaceObject2 &data) {} 00025 virtual void Import(FlashTagShowFrame &data) {} 00026 00027 virtual void Import(FlashTagBackgroundColor &data) {} 00028 virtual void Import(FlashTagLabelFrame &data) {} 00029 virtual void Import(FlashTagProtect &data) {} 00030 virtual void Import(FlashTagEnd &data) {} 00031 virtual void Import(FlashTagExportAssets &data) {} 00032 virtual void Import(FlashTagImportAssets &data) {} 00033 virtual void Import(FlashTagDefineBitsPtr &data) {} 00034 virtual void Import(FlashTagEnableDebugger &data) {} 00035 virtual void Import(FlashTagFreeCharacter &data) {} 00036 00037 virtual void Import(FlashTagDefineBitsJPEG1 &data) {} 00038 virtual void Import(FlashTagJPEGTables &data) {} 00039 virtual void Import(FlashTagDefineBitsJPEG2 &data) {} 00040 virtual void Import(FlashTagDefineBitsJPEG3 &data) {} 00041 virtual void Import(FlashTagDefineBitsLossless &data) {} 00042 virtual void Import(FlashTagDefineBitsLossless2 &data) {} 00043 00044 virtual void Import(FlashTagDefineShape1 &data) {} 00045 virtual void Import(FlashTagDefineShape2 &data) {} 00046 virtual void Import(FlashTagDefineShape3 &data) {} 00047 00048 virtual void Import(FlashTagDefineSound &data) {} 00049 virtual void Import(FlashTagDefineSoundMP3 &data) {} 00050 virtual void Import(FlashTagStartSound &data) {} 00051 virtual void Import(FlashTagSoundStreamHead &data) {} 00052 virtual void Import(FlashTagSoundStreamHead2 &data) {} 00053 virtual void Import(FlashTagSoundStreamBlock &data) {} 00054 00055 virtual void Import(FlashTagDoAction &data) {} 00056 00057 }; 00058 00059 00060 00061 class FlashMyImporter : public FlashImportHandler 00062 { 00063 public: 00064 FlashMyImporter() {} 00065 00066 void PrintMatrix(const FlashMatrix &m); 00067 void PrintCFX(const FlashColorTransform &cfx); 00068 void PrintRect(const FlashRect &r); 00069 00070 virtual void Import(FlashHeader &data); 00071 virtual void Import(FlashTagHeader &data); 00072 00073 virtual void Import(FlashTagRemoveObject &data); 00074 virtual void Import(FlashTagRemoveObject2 &data); 00075 virtual void Import(FlashTagPlaceObject &data); 00076 virtual void Import(FlashTagPlaceObject2 &data); 00077 virtual void Import(FlashTagShowFrame &data); 00078 00079 virtual void Import(FlashTagBackgroundColor &data); 00080 virtual void Import(FlashTagLabelFrame &data); 00081 virtual void Import(FlashTagProtect &data); 00082 virtual void Import(FlashTagEnd &data); 00083 virtual void Import(FlashTagExportAssets &data); 00084 virtual void Import(FlashTagImportAssets &data); 00085 virtual void Import(FlashTagDefineBitsPtr &data); 00086 virtual void Import(FlashTagEnableDebugger &data); 00087 virtual void Import(FlashTagFreeCharacter &data); 00088 00089 virtual void Import(FlashTagDefineBitsJPEG1 &data); 00090 virtual void Import(FlashTagJPEGTables &data); 00091 virtual void Import(FlashTagDefineBitsJPEG2 &data); 00092 virtual void Import(FlashTagDefineBitsJPEG3 &data); 00093 virtual void Import(FlashTagDefineBitsLossless &data); 00094 virtual void Import(FlashTagDefineBitsLossless2 &data); 00095 00096 virtual void Import(FlashTagDefineShape1 &data); 00097 virtual void Import(FlashTagDefineShape2 &data); 00098 virtual void Import(FlashTagDefineShape3 &data); 00099 00100 virtual void Import(FlashTagDefineSound &data); 00101 virtual void Import(FlashTagDefineSoundMP3 &data); 00102 virtual void Import(FlashTagStartSound &data); 00103 virtual void Import(FlashTagSoundStreamHead &data); 00104 virtual void Import(FlashTagSoundStreamHead2 &data); 00105 virtual void Import(FlashTagSoundStreamBlock &data); 00106 00107 virtual void Import(FlashTagDoAction &data); 00108 }; 00109 00110 class FlashImporter 00111 { 00112 public: 00113 FlashImporter() {} 00114 00115 FlashHeader ImportHeader(std::istream &in, FlashImportHandler &i); 00116 bool ImportTag(std::istream &in, FlashImportHandler &i); 00117 private: 00118 00119 }; 00120 00121 00122 #endif