X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvalue.h;h=0195db53d4fbfa87f0ec6a5e2f22c790e9571a7c;hb=1a5b665468b32fc50f15b381dbc4964600428e38;hp=2bf39bbe9b8dcdd6c741ae3716497180f6cc2f2b;hpb=37600b4b217caa5e316984ec0b035c5e8f9698af;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/value.h b/synfig-core/trunk/src/synfig/value.h index 2bf39bb..0195db5 100644 --- a/synfig-core/trunk/src/synfig/value.h +++ b/synfig-core/trunk/src/synfig/value.h @@ -205,14 +205,20 @@ public: { const Type testtype(get_type(x)); - return same_type_as(testtype); + return same_type_as(type, testtype); } bool same_type_as(const Type testtype)const { - if(testtype==type)return true; - if( (type==TYPE_REAL || type==TYPE_TIME) && - (testtype==TYPE_REAL || testtype==TYPE_TIME) ) + return same_type_as(type, testtype); + } + + //! Compares two types. Returns true if they are the same type. + static bool same_type_as(const Type type1, const Type type2) + { + if (type1 == type2) return true; + if ((type1 == TYPE_REAL || type1 == TYPE_TIME) && + (type2 == TYPE_REAL || type2 == TYPE_TIME)) return true; return false; } @@ -254,6 +260,7 @@ public: void set(const float &x) { _set(Real(x)); } void set(const list_type &x); void set(const char* x); + void set(char* x); void set(Canvas*x); void set(etl::loose_handle x); void set(etl::handle x); @@ -273,6 +280,9 @@ public: //! Returns a string containing the name of the given Type static String type_name(Type id); + //! Returns a string containing the translated name of the given Type + static String type_local_name(Type id); + //! Returns a the corresponding Type of the described type static Type ident_type(const String &str);