X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubrip_content.h;h=68864f58c1a74830a4006e71f7387eceee5d03c7;hb=db3cd90dadf60df72ebbd95c59b32954f29b9c38;hp=d2dcdee00b09cce5e1b014dba924fd0b09bea8ff;hpb=d2137ac5db409e686b4d9b3fa567935a5e416d41;p=dcpomatic.git diff --git a/src/lib/subrip_content.h b/src/lib/subrip_content.h index d2dcdee00..68864f58c 100644 --- a/src/lib/subrip_content.h +++ b/src/lib/subrip_content.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2014-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,15 @@ #include "subtitle_content.h" +class SubRipContentProperty +{ +public: + static int const SUBTITLE_COLOUR; + static int const SUBTITLE_OUTLINE; + static int const SUBTITLE_OUTLINE_COLOUR; +}; + + class SubRipContent : public SubtitleContent { public: @@ -28,20 +37,55 @@ public: boost::shared_ptr shared_from_this () { return boost::dynamic_pointer_cast (Content::shared_from_this ()); } - + /* Content */ void examine (boost::shared_ptr); std::string summary () const; std::string technical_summary () const; - std::string information () const; void as_xml (xmlpp::Node *) const; DCPTime full_length () const; /* SubtitleContent */ - bool has_subtitles () const { + + bool has_text_subtitles () const { return true; } + bool has_image_subtitles () const { + return false; + } + + double subtitle_video_frame_rate () const; + void set_subtitle_video_frame_rate (int r); + + void set_colour (dcp::Colour); + + dcp::Colour colour () const { + boost::mutex::scoped_lock lm (_mutex); + return _colour; + } + + void set_outline (bool); + + bool outline () const { + boost::mutex::scoped_lock lm (_mutex); + return _outline; + } + + void set_outline_colour (dcp::Colour); + + dcp::Colour outline_colour () const { + boost::mutex::scoped_lock lm (_mutex); + return _outline_colour; + } + + static std::string const font_id; + private: - DCPTime _length; + ContentTime _length; + /** Video frame rate that this content has been prepared for, if known */ + boost::optional _frame_rate; + dcp::Colour _colour; + bool _outline; + dcp::Colour _outline_colour; };