Add remove option; resize timeline after drags.
[dcpomatic.git] / src / lib / types.h
index 4b8b8072d909caa311db52b815da8c888f6448cf..458a2ecf3a21377b1bc4e3f91cb5186416741360 100644 (file)
 
 class Content;
 
-typedef int64_t ContentAudioFrame;
-typedef int     ContentVideoFrame;
 typedef int64_t Time;
 #define TIME_MAX INT64_MAX
-#define TIME_HZ  96000
+#define TIME_HZ         ((Time) 96000)
 typedef int64_t OutputAudioFrame;
-typedef int     OutputVideoFrame;
+typedef int    OutputVideoFrame;
+typedef std::vector<boost::shared_ptr<Content> > ContentList;
 
 /** @struct Crop
  *  @brief A description of the crop of an image or video.
@@ -55,62 +54,12 @@ struct Crop
 extern bool operator== (Crop const & a, Crop const & b);
 extern bool operator!= (Crop const & a, Crop const & b);
 
-/** @struct Position
- *  @brief A position.
- */
-struct Position
-{
-       Position ()
-               : x (0)
-               , y (0)
-       {}
-
-       Position (int x_, int y_)
-               : x (x_)
-               , y (y_)
-       {}
-
-       /** x coordinate */
-       int x;
-       /** y coordinate */
-       int y;
+enum Resolution {
+       RESOLUTION_2K,
+       RESOLUTION_4K
 };
 
-/** @struct Rect
- *  @brief A rectangle.
- */
-struct Rect
-{
-       Rect ()
-               : x (0)
-               , y (0)
-               , width (0)
-               , height (0)
-       {}
-
-       Rect (int x_, int y_, int w_, int h_)
-               : x (x_)
-               , y (y_)
-               , width (w_)
-               , height (h_)
-       {}
-
-       int x;
-       int y;
-       int width;
-       int height;
-
-       Position position () const {
-               return Position (x, y);
-       }
-
-       libdcp::Size size () const {
-               return libdcp::Size (width, height);
-       }
-
-       Rect intersection (Rect const & other) const;
-
-       bool contains (Position) const;
-};
+std::string resolution_to_string (Resolution);
+Resolution string_to_resolution (std::string);
 
 #endif