Hand-apply 80562fe5dce5fd625da583ca6f7c2833f9db8754 from master (remove default scale...
[dcpomatic.git] / src / lib / ratio.cc
index fc36415c50638e161e73c8bd1df1ed19d3e01e99..bc83ae87c4059d0ba07b5d2d50cba70c64ec7c1c 100644 (file)
@@ -73,3 +73,19 @@ Ratio::from_ratio (float r)
        return *j;
 }
    
+Ratio const *
+Ratio::nearest_from_ratio (float r)
+{
+       Ratio const * nearest = 0;
+       float distance = FLT_MAX;
+       
+       for (vector<Ratio const *>::iterator i = _ratios.begin (); i != _ratios.end(); ++i) {
+               float const d = fabs ((*i)->ratio() - r);
+               if (d < distance) {
+                       distance = d;
+                       nearest = *i;
+               }
+       }
+
+       return nearest;
+}