Use locale independent string conversion functions in SVAModifier class
authorTim Mayberry <mojofunk@gmail.com>
Sat, 20 Aug 2016 13:20:57 +0000 (23:20 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Tue, 18 Apr 2017 23:36:55 +0000 (09:36 +1000)
libs/canvas/colors.cc

index 0bd3f8b04961875622ffb3c847697c7188e43fe6..f03baa52fdd761cb10a1d721702722f3f73a025a 100644 (file)
@@ -22,9 +22,9 @@
 #include <stdint.h>
 #include <cfloat>
 
-#include "pbd/convert.h"
 #include "pbd/failed_constructor.h"
 #include "pbd/locale_guard.h"
+#include "pbd/string_convert.h"
 
 #include "canvas/colors.h"
 #include "canvas/colorspace.h"
@@ -261,10 +261,10 @@ HSV::to_string () const
 {
        PBD::LocaleGuard lg;
        stringstream ss;
-       ss << h << ' ';
-       ss << s << ' ';
-       ss << v << ' ';
-       ss << a;
+       ss << PBD::to_string(h) << ' ';
+       ss << PBD::to_string(s) << ' ';
+       ss << PBD::to_string(v) << ' ';
+       ss << PBD::to_string(a);
        return ss.str();
 }
 
@@ -583,11 +583,11 @@ SVAModifier::from_string (string const & str)
        while (ss) {
                ss >> mod;
                if ((pos = mod.find ("alpha:")) != string::npos) {
-                       _a = PBD::atof (mod.substr (pos+6));
+                       _a = PBD::string_to<double>(mod.substr (pos+6));
                } else if ((pos = mod.find ("saturate:")) != string::npos) {
-                       _s = PBD::atof (mod.substr (pos+9));
+                       _s = PBD::string_to<double>(mod.substr (pos+9));
                } else if ((pos = mod.find ("darkness:")) != string::npos) {
-                       _v = PBD::atof (mod.substr (pos+9));
+                       _v = PBD::string_to<double>(mod.substr (pos+9));
                } else {
                        throw failed_constructor ();
                }
@@ -613,15 +613,15 @@ SVAModifier::to_string () const
        }
 
        if (_s >= 0.0) {
-               ss << " saturate:" << _s;
+               ss << " saturate:" << PBD::to_string(_s);
        }
 
        if (_v >= 0.0) {
-               ss << " darker:" << _v;
+               ss << " darker:" << PBD::to_string(_v);
        }
 
        if (_a >= 0.0) {
-               ss << " alpha:" << _a;
+               ss << " alpha:" << PBD::to_string(_a);
        }
 
        return ss.str();