diff options
| author | Matthew Petroff <matthew@mpetroff.net> | 2013-08-28 02:53:31 +0000 |
|---|---|---|
| committer | Matthew Petroff <matthew@mpetroff.net> | 2013-08-28 02:53:31 +0000 |
| commit | bdb32f3606bca79275b0aafce4a2c722de88fd5d (patch) | |
| tree | f6afabd844b01b70cee4622dcc192846c998de8e /src/util/units.cpp | |
| parent | Use enum names instead of numbers. (diff) | |
| download | inkscape-bdb32f3606bca79275b0aafce4a2c722de88fd5d.tar.gz inkscape-bdb32f3606bca79275b0aafce4a2c722de88fd5d.zip | |
Added Quantity comparison functions.
(bzr r12475.1.7)
Diffstat (limited to 'src/util/units.cpp')
| -rw-r--r-- | src/util/units.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/util/units.cpp b/src/util/units.cpp index 8bae9c419..2b09337b6 100644 --- a/src/util/units.cpp +++ b/src/util/units.cpp @@ -450,6 +450,27 @@ double Quantity::convert(const double from_dist, const Glib::ustring from, const return convert(from_dist, unit_table.getUnit(from), unit_table.getUnit(to)); } +bool operator< (const Quantity &ql, const Quantity &qr) +{ + if (ql.unit->type != qr.unit->type) { + g_warning("Incompatible units"); + return false; + } + return ql.quantity < qr.value(*ql.unit); +} +bool operator> (const Quantity &ql, const Quantity &qr) +{ + if (ql.unit->type != qr.unit->type) { + g_warning("Incompatible units"); + return false; + } + return ql.quantity > qr.value(*ql.unit); +} +bool operator!= (const Quantity &q1, const Quantity &q2) +{ + return (*q1.unit != *q2.unit) || (q1.quantity != q2.quantity); +} + } // namespace Util } // namespace Inkscape |
