home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / flash078.zip / flashsource-r0_7_8.zip / FControl.h < prev    next >
C/C++ Source or Header  |  2001-07-26  |  5KB  |  210 lines

  1. #ifndef FCONTROL_H_FILE
  2. #define FCONTROL_H_FILE
  3.  
  4. #include "FBase.h"
  5. #include "./md5/md5.h"
  6. #include <vector>
  7. #include <string>
  8.  
  9.  
  10. class FlashImportHandler;
  11.  
  12. class FlashTagDefineBitsPtr : public FlashTag
  13. {
  14. DEFINE_RW_INTERFACE
  15. public:
  16.     FlashTagDefineBitsPtr(UDWORD ptr) : ref(ptr){}
  17.     UDWORD GetPtr() { return ref; }
  18.     void SetPtr(UDWORD ptr) { ref = ptr; }
  19.  
  20. private:
  21.     friend class FlashImportHandler;
  22.     FlashTagDefineBitsPtr(){};
  23.     UDWORD ref;
  24.     friend std::ostream &operator << (std::ostream &out, FlashTagDefineBitsPtr &data);
  25.     friend std::istream &operator >> (std::istream &in,  FlashTagDefineBitsPtr &data);
  26. };
  27.  
  28. class FlashTagProtect : public FlashTag
  29. {
  30. DEFINE_RW_INTERFACE
  31. public:    
  32.     friend class FlashImportHandler;
  33.     FlashTagProtect() : hasPass(false){}
  34.     FlashTagProtect(std::string& password) : hasPass(false)
  35.     {
  36.         hasPass = true;        
  37.         md5Pass = crypt_md5(password.c_str(), "Aa");
  38.     }
  39.     
  40.     std::string GetEncryptedPassword(){return md5Pass;}
  41.     
  42.     void SetEncryptedPassword(std::string& encPassword){
  43.         hasPass = true;
  44.         md5Pass = encPassword;
  45.     }
  46.     void SetPassword(std::string& password)
  47.     {        
  48.         hasPass = true;                
  49.         md5Pass = crypt_md5(password.c_str(), "Aa");;
  50.     }
  51.     bool HasPassword() { return hasPass; }
  52. private:
  53.     bool hasPass;
  54.     std::string md5Pass;
  55.  
  56.     friend class FlashImporter;    
  57.     
  58.     friend std::ostream &operator << (std::ostream &out, FlashTagProtect &data);
  59.     friend std::istream &operator >> (std::istream &in,  FlashTagProtect &data);
  60. };
  61.  
  62. class FlashTagEnableDebugger : public FlashTag
  63. {
  64. DEFINE_RW_INTERFACE
  65. public:    
  66.     friend class FlashImportHandler;
  67.     FlashTagEnableDebugger() : hasPass(false){}
  68.     FlashTagEnableDebugger(std::string& password) : hasPass(false)
  69.     {
  70.         hasPass = true;        
  71.         md5Pass = crypt_md5(password.c_str(), "Aa");
  72.     }
  73.     
  74.     std::string GetEncryptedPassword(){return md5Pass;}
  75.     
  76.     void SetEncryptedPassword(std::string& encPassword){
  77.         hasPass = true;
  78.         md5Pass = encPassword;
  79.     }
  80.     void SetPassword(std::string& password)
  81.     {        
  82.         hasPass = true;                
  83.         md5Pass = crypt_md5(password.c_str(), "Aa");;
  84.     }
  85.     bool HasPassword() { return hasPass; }
  86. private:
  87.     bool hasPass;
  88.     
  89.  
  90.     std::string md5Pass;
  91.     
  92.     friend class FlashImporter;    
  93.     
  94.     friend std::ostream &operator << (std::ostream &out, FlashTagEnableDebugger &data);
  95.     friend std::istream &operator >> (std::istream &in,  FlashTagEnableDebugger &data);
  96. };
  97.  
  98. class FlashTagBackgroundColor : public FlashTag
  99. {
  100. DEFINE_RW_INTERFACE
  101. public:    
  102.     friend class FlashImportHandler;
  103.     FlashTagBackgroundColor(UBYTE _r, UBYTE _g, UBYTE _b) : r(_r), g(_g), b(_b) {}
  104.     FlashTagBackgroundColor(FlashRGB &c) { r = (UBYTE)c.GetR(); g= (UBYTE)c.GetG(); b = (UBYTE)c.GetB(); }
  105.     ~FlashTagBackgroundColor() {}
  106.  
  107.     FlashRGB GetRGB() { return FlashRGB(r,g,b); }
  108.     
  109.     UBYTE r;
  110.     UBYTE g;
  111.     UBYTE b;
  112. private:
  113.     friend class FlashImporter;
  114.     FlashTagBackgroundColor() {}
  115.  
  116.     friend std::ostream &operator << (std::ostream &out, FlashTagBackgroundColor &data);
  117.     friend std::istream &operator >> (std::istream &in,  FlashTagBackgroundColor &data);
  118. };
  119.  
  120. class FlashTagLabelFrame : public FlashSpriteEnabled
  121. {
  122. DEFINE_RW_INTERFACE
  123. public:
  124.     friend class FlashImportHandler;
  125.     FlashTagLabelFrame(char *_str) : str(_str) {}
  126.     ~FlashTagLabelFrame() { free(str); }
  127.  
  128.     const char *GetLabel() { return str; }
  129. private:
  130.     FlashTagLabelFrame() {}
  131.     friend class FlashImporter;
  132.  
  133.     friend std::ostream &operator << (std::ostream &out, FlashTagLabelFrame &data);
  134.     friend std::istream &operator >> (std::istream &in,  FlashTagLabelFrame &data);
  135.     
  136.     char *str;
  137.  
  138.     gc_vector<char *> gc;
  139. };
  140.  
  141. DECLARE_SIMPLE_TAG2(FlashTagEnd)
  142.  
  143. class FlashTagExportAssets : public FlashTag
  144. {
  145. DEFINE_RW_INTERFACE
  146. public:
  147.     friend class FlashImportHandler;
  148.     FlashTagExportAssets() {}
  149.     ~FlashTagExportAssets() {}
  150.  
  151.     void AddAsset(char *str, UWORD id);
  152.  
  153.     unsigned int GetAssetNum() { return assets_str.size(); }
  154.     flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
  155. private:
  156.     friend class FlashImporter;
  157. private:
  158.     friend std::ostream &operator << (std::ostream &out, FlashTagExportAssets &data);
  159.     friend std::istream &operator >> (std::istream &in,  FlashTagExportAssets &data);
  160.  
  161.     std::vector <char*> assets_str;
  162.     std::vector <UWORD> assets_id;
  163.     gc_vector<char *> gc;
  164. };
  165. class FlashTagImportAssets : public FlashTag
  166. {
  167. DEFINE_RW_INTERFACE
  168. FlashTagImportAssets() {}
  169. public:
  170.     friend class FlashImportHandler;
  171.     FlashTagImportAssets(char *_swfurl) : swfurl(_swfurl) {}
  172.     ~FlashTagImportAssets() { }
  173.  
  174.     void AddAsset(char *str, UWORD id);
  175.  
  176.     const char *GetSwfUrl() { return swfurl; }
  177.     unsigned int GetAssetNum() { return assets_str.size(); }
  178.     flash_pair<char*, UWORD> GetAsset(long num) { return(flash_pair<char*,UWORD>(assets_str[num],assets_id[num])); }
  179. private:
  180.     friend class FlashImporter;
  181.  
  182.  
  183. private:
  184.     friend std::ostream &operator << (std::ostream &out, FlashTagImportAssets &data);
  185.     friend std::istream &operator >> (std::istream &in,  FlashTagImportAssets &data);
  186.  
  187.     char *swfurl;
  188.     std::vector <char*> assets_str;
  189.     std::vector <UWORD> assets_id;
  190.     gc_vector<char *> gc;
  191. };
  192.  
  193.  
  194. class FlashTagFreeCharacter : public FlashTag
  195. {
  196. DEFINE_RW_INTERFACE
  197. FlashTagFreeCharacter() {}
  198. public:
  199.     FlashTagFreeCharacter(UWORD _id) { _id = id; }
  200.     UWORD GetID(void) const { return id; }
  201. private:
  202.     friend class FlashImporter;
  203.     friend std::ostream &operator << (std::ostream &out, FlashTagFreeCharacter &data);
  204.     friend std::istream &operator >> (std::istream &in,  FlashTagFreeCharacter &data);
  205.  
  206.     UWORD id;
  207. };
  208.  
  209. #endif
  210.