projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use an enum for the effect in SubtitleContent.
[dcpomatic.git]
/
src
/
lib
/
subtitle_content.h
diff --git
a/src/lib/subtitle_content.h
b/src/lib/subtitle_content.h
index fd02d032ae79f384463210a65d036034411b496d..73e53e446ba59c8ef5cebc20bb8d26e645e8a6de 100644
(file)
--- a/
src/lib/subtitle_content.h
+++ b/
src/lib/subtitle_content.h
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2013-201
6
Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-201
8
Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
This file is part of DCP-o-matic.
@@
-40,12
+40,12
@@
public:
static int const LANGUAGE;
static int const FONTS;
static int const COLOUR;
static int const LANGUAGE;
static int const FONTS;
static int const COLOUR;
- static int const OUTLINE;
- static int const SHADOW;
+ static int const EFFECT;
static int const EFFECT_COLOUR;
static int const LINE_SPACING;
static int const FADE_IN;
static int const FADE_OUT;
static int const EFFECT_COLOUR;
static int const LINE_SPACING;
static int const FADE_IN;
static int const FADE_OUT;
+ static int const OUTLINE_WIDTH;
};
/** @class SubtitleContent
};
/** @class SubtitleContent
@@
-62,6
+62,7
@@
public:
void as_xml (xmlpp::Node *) const;
std::string identifier () const;
void as_xml (xmlpp::Node *) const;
std::string identifier () const;
+ void take_settings_from (boost::shared_ptr<const SubtitleContent> c);
void add_font (boost::shared_ptr<Font> font);
void add_font (boost::shared_ptr<Font> font);
@@
-73,12
+74,14
@@
public:
void set_y_scale (double);
void set_language (std::string language);
void set_colour (dcp::Colour);
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
unset_colour (
);
+ void set_
effect (dcp::Effect
);
void set_effect_colour (dcp::Colour);
void set_effect_colour (dcp::Colour);
+ void unset_effect_colour ();
void set_line_spacing (double s);
void set_fade_in (ContentTime);
void set_fade_out (ContentTime);
void set_line_spacing (double s);
void set_fade_in (ContentTime);
void set_fade_out (ContentTime);
+ void set_outline_width (int);
bool use () const {
boost::mutex::scoped_lock lm (_mutex);
bool use () const {
boost::mutex::scoped_lock lm (_mutex);
@@
-120,22
+123,17
@@
public:
return _language;
}
return _language;
}
-
dcp::Colour
colour () const {
+
boost::optional<dcp::Colour>
colour () const {
boost::mutex::scoped_lock lm (_mutex);
return _colour;
}
boost::mutex::scoped_lock lm (_mutex);
return _colour;
}
-
bool outline
() const {
+
dcp::Effect effect
() const {
boost::mutex::scoped_lock lm (_mutex);
boost::mutex::scoped_lock lm (_mutex);
- return _
outline
;
+ return _
effect
;
}
}
- bool shadow () const {
- boost::mutex::scoped_lock lm (_mutex);
- return _shadow;
- }
-
- dcp::Colour effect_colour () const {
+ boost::optional<dcp::Colour> effect_colour () const {
boost::mutex::scoped_lock lm (_mutex);
return _effect_colour;
}
boost::mutex::scoped_lock lm (_mutex);
return _effect_colour;
}
@@
-155,6
+153,11
@@
public:
return _fade_out;
}
return _fade_out;
}
+ int outline_width () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _outline_width;
+ }
+
static boost::shared_ptr<SubtitleContent> from_xml (Content* parent, cxml::ConstNodePtr, int version);
protected:
static boost::shared_ptr<SubtitleContent> from_xml (Content* parent, cxml::ConstNodePtr, int version);
protected:
@@
-185,14
+188,14
@@
private:
/** y scale factor to apply to subtitles */
double _y_scale;
std::list<boost::shared_ptr<Font> > _fonts;
/** y scale factor to apply to subtitles */
double _y_scale;
std::list<boost::shared_ptr<Font> > _fonts;
- dcp::Colour _colour;
- bool _outline;
- bool _shadow;
- dcp::Colour _effect_colour;
+ boost::optional<dcp::Colour> _colour;
+ dcp::Effect _effect;
+ boost::optional<dcp::Colour> _effect_colour;
/** 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;
/** 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;
+ int _outline_width;
};
#endif
};
#endif