summaryrefslogtreecommitdiff
path: root/src/lib/subtitle_content.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-08-16 08:41:25 +0100
committerCarl Hetherington <cth@carlh.net>2016-08-16 16:56:32 +0100
commit94b3924ed3cbf4fbfa2445ca1007f25c53dc8b60 (patch)
tree40abbdf14043edf4d6592b82acf3eccb960ea71f /src/lib/subtitle_content.h
parent03c5a8155043613c01e0e151735a7fcf8ab84415 (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.h34
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