1 #pragma once 2 3 #ifndef TVER_INCLUDED 4 #define TVER_INCLUDED 5 6 namespace TVER { 7 8 class ToonzVersion { 9 public: 10 std::string getAppName(void); 11 float getAppVersion(void); 12 float getAppRevision(void); 13 std::string getAppNote(void); 14 bool hasAppNote(void); 15 std::string getAppVersionString(void); 16 std::string getAppRevisionString(void); 17 std::string getAppVersionInfo(std::string msg); 18 19 private: 20 const char *applicationName = "OpenToonz"; 21 const float applicationVersion = 1.5; 22 const float applicationRevision = 0; 23 const char *applicationNote = ""; 24 }; 25 getAppName(void)26std::string ToonzVersion::getAppName(void) { 27 std::string appname = applicationName; 28 return appname; 29 } getAppVersion(void)30float ToonzVersion::getAppVersion(void) { 31 float appver = applicationVersion; 32 return appver; 33 } getAppRevision(void)34float ToonzVersion::getAppRevision(void) { 35 float apprev = applicationRevision; 36 return apprev; 37 } getAppNote(void)38std::string ToonzVersion::getAppNote(void) { 39 std::string appnote = applicationNote; 40 return appnote; 41 } hasAppNote(void)42bool ToonzVersion::hasAppNote(void) { return *applicationNote != 0; } getAppVersionString(void)43std::string ToonzVersion::getAppVersionString(void) { 44 char buffer[50]; 45 snprintf(buffer, sizeof(buffer), "%.1f", applicationVersion); 46 std::string appver = std::string(buffer); 47 return appver; 48 } getAppRevisionString(void)49std::string ToonzVersion::getAppRevisionString(void) { 50 char buffer[50]; 51 snprintf(buffer, sizeof(buffer), "%g", applicationRevision); 52 std::string apprev = std::string(buffer); 53 return apprev; 54 } getAppVersionInfo(std::string msg)55std::string ToonzVersion::getAppVersionInfo(std::string msg) { 56 std::string appinfo = std::string(applicationName); 57 appinfo += " " + msg + " v"; 58 appinfo += getAppVersionString(); 59 appinfo += "." + getAppRevisionString(); 60 if (hasAppNote()) appinfo += " " + std::string(applicationNote); 61 return appinfo; 62 } 63 64 } // namespace TVER 65 66 #endif // TVER_INCLUDED 67