X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Futil.h;h=244c018554e958b36bbec842d0335401353afeec;hb=129afab72bfc026b5704c41a6bfc0f4b3a2c4033;hp=03d04b852c3a859edc611d05bf4847aab2bb72ef;hpb=4fd257106009b2db170dafddece06ee3c190fceb;p=dcpomatic.git diff --git a/src/lib/util.h b/src/lib/util.h index 03d04b852..244c01855 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -33,6 +33,13 @@ extern "C" { #include #include } +#include "compose.hpp" + +#ifdef DVDOMATIC_DEBUG +#define TIMING(...) _log->microsecond_log (String::compose (__VA_ARGS__), Log::TIMING); +#else +#define TIMING(...) +#endif class Scaler; @@ -46,14 +53,13 @@ extern double seconds (struct timeval); extern void dvdomatic_setup (); extern std::vector split_at_spaces_considering_quotes (std::string); extern std::string md5_digest (std::string); +extern std::string md5_digest (void const *, int); enum ContentType { STILL, VIDEO }; -extern std::string md5_hash (void const *, int); - /** @class Size * @brief Representation of the size of something */ struct Size @@ -115,9 +121,35 @@ struct Position int y; }; +/** A rectangle */ +struct Rectangle +{ + Rectangle () + : x (0) + , y (0) + , w (0) + , h (0) + {} + + Rectangle (int x_, int y_, int w_, int h_) + : x (x_) + , y (y_) + , w (w_) + , h (h_) + {} + + int x; + int y; + int w; + int h; + + Rectangle intersection (Rectangle const & other) const; +}; + extern std::string crop_string (Position, Size); extern int dcp_audio_sample_rate (int); extern std::string colour_lut_index_to_name (int index); +extern int round_up (int, int); /** @class Socket * @brief A class to wrap a boost::asio::ip::tcp::socket with some things