X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubtitle_content.h;h=7d4a385c97c61c52e537f57ef2bb801ed9cd2c7f;hb=a5139de256c287459e04c75712614b2e7246a89a;hp=c29485feeb6796bf1bbe942c0949da96d1fe4501;hpb=c719feb3cc4a5627827f8576a9b34756f701d59d;p=dcpomatic.git diff --git a/src/lib/subtitle_content.h b/src/lib/subtitle_content.h index c29485fee..7d4a385c9 100644 --- a/src/lib/subtitle_content.h +++ b/src/lib/subtitle_content.h @@ -25,7 +25,8 @@ class SubtitleContentProperty { public: - static int const SUBTITLE_OFFSET; + static int const SUBTITLE_X_OFFSET; + static int const SUBTITLE_Y_OFFSET; static int const SUBTITLE_SCALE; }; @@ -33,30 +34,41 @@ class SubtitleContent : public virtual Content { public: SubtitleContent (boost::shared_ptr, boost::filesystem::path); - SubtitleContent (boost::shared_ptr, boost::shared_ptr); - + SubtitleContent (boost::shared_ptr, cxml::ConstNodePtr, int version); + SubtitleContent (boost::shared_ptr, std::vector >); + void as_xml (xmlpp::Node *) const; - void set_subtitle_offset (double); + void set_subtitle_x_offset (double); + void set_subtitle_y_offset (double); void set_subtitle_scale (double); - double subtitle_offset () const { + double subtitle_x_offset () const { + boost::mutex::scoped_lock lm (_mutex); + return _subtitle_x_offset; + } + + double subtitle_y_offset () const { boost::mutex::scoped_lock lm (_mutex); - return _subtitle_offset; + return _subtitle_y_offset; } double subtitle_scale () const { boost::mutex::scoped_lock lm (_mutex); return _subtitle_scale; } - + private: friend class ffmpeg_pts_offset_test; - + + /** x offset for placing subtitles, as a proportion of the container width; + * +ve is further right, -ve is further left. + */ + double _subtitle_x_offset; /** y offset for placing subtitles, as a proportion of the container height; - +ve is further down the frame, -ve is further up. - */ - double _subtitle_offset; + * +ve is further down the frame, -ve is further up. + */ + double _subtitle_y_offset; /** scale factor to apply to subtitles */ double _subtitle_scale; };