diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-08-16 08:41:25 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-08-16 16:56:32 +0100 |
| commit | 94b3924ed3cbf4fbfa2445ca1007f25c53dc8b60 (patch) | |
| tree | 40abbdf14043edf4d6592b82acf3eccb960ea71f /src/lib/subtitle_content.h | |
| parent | 03c5a8155043613c01e0e151735a7fcf8ab84415 (diff) | |
Basic support for fading subtitles in and out (#923).
Diffstat (limited to 'src/lib/subtitle_content.h')
| -rw-r--r-- | src/lib/subtitle_content.h | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/src/lib/subtitle_content.h b/src/lib/subtitle_content.h index c8492b91a..fd02d032a 100644 --- a/src/lib/subtitle_content.h +++ b/src/lib/subtitle_content.h @@ -44,6 +44,8 @@ public: static int const SHADOW; static int const EFFECT_COLOUR; static int const LINE_SPACING; + static int const FADE_IN; + static int const FADE_OUT; }; /** @class SubtitleContent @@ -70,6 +72,13 @@ public: void set_x_scale (double); void set_y_scale (double); void set_language (std::string language); + void set_colour (dcp::Colour); + void set_outline (bool); + void set_shadow (bool); + void set_effect_colour (dcp::Colour); + void set_line_spacing (double s); + void set_fade_in (ContentTime); + void set_fade_out (ContentTime); bool use () const { boost::mutex::scoped_lock lm (_mutex); @@ -111,41 +120,41 @@ public: return _language; } - 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_shadow (bool); - bool shadow () const { boost::mutex::scoped_lock lm (_mutex); return _shadow; } - void set_effect_colour (dcp::Colour); - dcp::Colour effect_colour () const { boost::mutex::scoped_lock lm (_mutex); return _effect_colour; } - void set_line_spacing (double s); - double line_spacing () const { boost::mutex::scoped_lock lm (_mutex); return _line_spacing; } + ContentTime fade_in () const { + boost::mutex::scoped_lock lm (_mutex); + return _fade_in; + } + + ContentTime fade_out () const { + boost::mutex::scoped_lock lm (_mutex); + return _fade_out; + } + static boost::shared_ptr<SubtitleContent> from_xml (Content* parent, cxml::ConstNodePtr, int version); protected: @@ -159,6 +168,8 @@ private: void font_changed (); void connect_to_fonts (); + std::list<boost::signals2::connection> _font_connections; + bool _use; bool _burn; /** x offset for placing subtitles, as a proportion of the container width; @@ -178,9 +189,10 @@ private: bool _outline; bool _shadow; dcp::Colour _effect_colour; - std::list<boost::signals2::connection> _font_connections; /** scaling factor for line spacing; 1 is "standard", < 1 is closer together, > 1 is further apart */ double _line_spacing; + ContentTime _fade_in; + ContentTime _fade_out; }; #endif |
