Hand-apply 80562fe5dce5fd625da583ca6f7c2833f9db8754 from master (remove default scale...
[dcpomatic.git] / src / lib / ratio.h
index 6916a74912cdaa5c9c322312e867747b40d9f700..f1a180d8f9d5ae2c8197ce25a17e59fe0fc18b2b 100644 (file)
 
 */
 
+#ifndef DCPOMATIC_RATIO_H
+#define DCPOMATIC_RATIO_H
+
 #include <vector>
-#include <libdcp/util.h>
+#include <boost/utility.hpp>
+#include <dcp/util.h>
 
-class Ratio
+class Ratio : public boost::noncopyable
 {
 public:
        Ratio (float ratio, std::string id, std::string n, std::string d)
                : _ratio (ratio)
                , _id (id)
                , _nickname (n)
-               , _dci_name (d)
+               , _isdcf_name (d)
        {}
 
-       libdcp::Size size (libdcp::Size) const;
-
        std::string id () const {
                return _id;
        }
@@ -40,8 +42,8 @@ public:
                return _nickname;
        }
 
-       std::string dci_name () const {
-               return _dci_name;
+       std::string isdcf_name () const {
+               return _isdcf_name;
        }
 
        float ratio () const {
@@ -50,6 +52,8 @@ public:
 
        static void setup_ratios ();
        static Ratio const * from_id (std::string i);
+       static Ratio const * from_ratio (float r);
+       static Ratio const * nearest_from_ratio (float r);
        static std::vector<Ratio const *> all () {
                return _ratios;
        }
@@ -60,7 +64,9 @@ private:
        std::string _id;
        /** nickname (e.g. Flat, Scope) */
        std::string _nickname;
-       std::string _dci_name;
+       std::string _isdcf_name;
 
        static std::vector<Ratio const *> _ratios;      
 };
+
+#endif