summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorMatthew Petroff <matthew@mpetroff.net>2013-08-04 22:01:18 +0000
committerMatthew Petroff <matthew@mpetroff.net>2013-08-04 22:01:18 +0000
commit6ae6c0bea96eef09907091279e0678aa5f83102d (patch)
tree825708d13704e27c33cb90a5269b25ae390cf4d2 /src/util
parentFix handling of SVG lengths with spaces [Bug #1208002]. (diff)
downloadinkscape-6ae6c0bea96eef09907091279e0678aa5f83102d.tar.gz
inkscape-6ae6c0bea96eef09907091279e0678aa5f83102d.zip
Switched to global UnitTable.
(bzr r12380.1.62)
Diffstat (limited to 'src/util')
-rw-r--r--src/util/expression-evaluator.cpp4
-rw-r--r--src/util/units.cpp9
-rw-r--r--src/util/units.h2
3 files changed, 6 insertions, 9 deletions
diff --git a/src/util/expression-evaluator.cpp b/src/util/expression-evaluator.cpp
index 3e1bab6bc..dc59c67f4 100644
--- a/src/util/expression-evaluator.cpp
+++ b/src/util/expression-evaluator.cpp
@@ -29,6 +29,8 @@
#include <string.h>
+using Inkscape::Util::unit_table;
+
namespace Inkscape {
namespace Util {
@@ -77,8 +79,6 @@ typedef struct
*/
static bool unitresolverproc (const gchar* identifier, GimpEevlQuantity *result, Unit* unit)
{
- static UnitTable unit_table;
-
if (!unit) {
result->value = 1;
result->dimension = 1;
diff --git a/src/util/units.cpp b/src/util/units.cpp
index 7f60eb391..7bc910fcc 100644
--- a/src/util/units.cpp
+++ b/src/util/units.cpp
@@ -303,6 +303,8 @@ bool UnitTable::save(std::string const &filename) {
return true;
}
+Inkscape::Util::UnitTable unit_table;
+
void UnitParser::on_start_element(Ctx &ctx, Glib::ustring const &name, AttrMap const &attrs)
{
if (name == "unit") {
@@ -358,7 +360,6 @@ Quantity::Quantity(double q, const Unit &u)
}
Quantity::Quantity(double q, const Glib::ustring u)
{
- UnitTable unit_table;
unit = new Unit(unit_table.getUnit(u));
quantity = q;
}
@@ -369,7 +370,6 @@ bool Quantity::compatibleWith(const Unit &u) const
}
bool Quantity::compatibleWith(const Glib::ustring u) const
{
- static UnitTable unit_table;
return compatibleWith(unit_table.getUnit(u));
}
@@ -379,7 +379,6 @@ double Quantity::value(const Unit &u) const
}
double Quantity::value(const Glib::ustring u) const
{
- static UnitTable unit_table;
return value(unit_table.getUnit(u));
}
@@ -387,7 +386,6 @@ Glib::ustring Quantity::string(const Unit &u) const {
return Glib::ustring::format(std::fixed, std::setprecision(2), value(u)) + " " + unit->abbr;
}
Glib::ustring Quantity::string(const Glib::ustring u) const {
- static UnitTable unit_table;
return string(unit_table.getUnit(u));
}
Glib::ustring Quantity::string() const {
@@ -411,17 +409,14 @@ double Quantity::convert(const double from_dist, const Unit &from, const Unit &t
}
double Quantity::convert(const double from_dist, const Glib::ustring from, const Unit &to)
{
- static UnitTable unit_table;
return convert(from_dist, unit_table.getUnit(from), to);
}
double Quantity::convert(const double from_dist, const Unit &from, const Glib::ustring to)
{
- static UnitTable unit_table;
return convert(from_dist, from, unit_table.getUnit(to));
}
double Quantity::convert(const double from_dist, const Glib::ustring from, const Glib::ustring to)
{
- static UnitTable unit_table;
return convert(from_dist, unit_table.getUnit(from), unit_table.getUnit(to));
}
diff --git a/src/util/units.h b/src/util/units.h
index c30fa24b3..bb202b96a 100644
--- a/src/util/units.h
+++ b/src/util/units.h
@@ -175,6 +175,8 @@ class UnitTable {
};
+extern UnitTable unit_table;
+
} // namespace Util
} // namespace Inkscape