summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-08-26 14:29:06 +0200
committerCarl Hetherington <cth@carlh.net>2023-08-29 18:28:40 +0200
commitc7f45cd00b94393f6e15428a2ea256995f890412 (patch)
tree92c045700e0e60a2a44aec0daa5210278d11f4d6
parente71e6d33210e4a4c7d7841d0d5d8e906e00bb82f (diff)
Cleanup: use some more vector instead of list.
-rw-r--r--src/lib/player_text.h4
-rw-r--r--src/lib/render_text.cc24
-rw-r--r--src/lib/render_text.h6
-rw-r--r--src/lib/util.cc2
-rw-r--r--src/wx/closed_captions_dialog.cc2
-rw-r--r--test/render_subtitles_test.cc14
6 files changed, 26 insertions, 26 deletions
diff --git a/src/lib/player_text.h b/src/lib/player_text.h
index 38affd5ef..5921b28f6 100644
--- a/src/lib/player_text.h
+++ b/src/lib/player_text.h
@@ -37,8 +37,8 @@ class PlayerText
{
public:
/** BitmapTexts, with their rectangles transformed as specified by their content */
- std::list<BitmapText> bitmap;
- std::list<StringText> string;
+ std::vector<BitmapText> bitmap;
+ std::vector<StringText> string;
};
diff --git a/src/lib/render_text.cc b/src/lib/render_text.cc
index 9d154feca..84fc8414d 100644
--- a/src/lib/render_text.cc
+++ b/src/lib/render_text.cc
@@ -39,7 +39,6 @@ LIBDCP_ENABLE_WARNINGS
using std::cerr;
using std::cout;
-using std::list;
using std::make_pair;
using std::make_shared;
using std::max;
@@ -47,6 +46,7 @@ using std::min;
using std::pair;
using std::shared_ptr;
using std::string;
+using std::vector;
using boost::optional;
using namespace dcpomatic;
@@ -76,7 +76,7 @@ create_layout(string font_name, string markup)
string
-marked_up (list<StringText> subtitles, int target_height, float fade_factor, string font_name)
+marked_up(vector<StringText> subtitles, int target_height, float fade_factor, string font_name)
{
auto constexpr pixels_to_1024ths_point = 72 * 1024 / 96;
@@ -296,7 +296,7 @@ struct Layout
* at the same time and with the same fade in/out.
*/
static Layout
-setup_layout(list<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
+setup_layout(vector<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
{
DCPOMATIC_ASSERT(!subtitles.empty());
auto const& first = subtitles.front();
@@ -314,7 +314,7 @@ setup_layout(list<StringText> subtitles, dcp::Size target, DCPTime time, int fra
* at the same time and with the same fade in/out.
*/
static PositionImage
-render_line (list<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
+render_line(vector<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
{
/* XXX: this method can only handle italic / bold changes mid-line,
nothing else yet.
@@ -401,11 +401,11 @@ render_line (list<StringText> subtitles, dcp::Size target, DCPTime time, int fra
* @param target Size of the container that this subtitle will end up in.
* @param frame_rate DCP frame rate.
*/
-list<PositionImage>
-render_text (list<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
+vector<PositionImage>
+render_text(vector<StringText> subtitles, dcp::Size target, DCPTime time, int frame_rate)
{
- list<StringText> pending;
- list<PositionImage> images;
+ vector<StringText> pending;
+ vector<PositionImage> images;
for (auto const& i: subtitles) {
if (!pending.empty() && (i.v_align() != pending.back().v_align() || fabs(i.v_position() - pending.back().v_position()) > 1e-4)) {
@@ -423,11 +423,11 @@ render_text (list<StringText> subtitles, dcp::Size target, DCPTime time, int fra
}
-list<dcpomatic::Rect<int>>
-bounding_box(list<StringText> subtitles, dcp::Size target, optional<dcp::SubtitleStandard> override_standard)
+vector<dcpomatic::Rect<int>>
+bounding_box(vector<StringText> subtitles, dcp::Size target, optional<dcp::SubtitleStandard> override_standard)
{
- list<StringText> pending;
- list<dcpomatic::Rect<int>> rects;
+ vector<StringText> pending;
+ vector<dcpomatic::Rect<int>> rects;
auto use_pending = [&pending, &rects, target, override_standard]() {
auto const& subtitle = pending.front();
diff --git a/src/lib/render_text.h b/src/lib/render_text.h
index 6d20912a2..ff34dc10d 100644
--- a/src/lib/render_text.h
+++ b/src/lib/render_text.h
@@ -32,9 +32,9 @@ namespace dcpomatic {
}
-std::string marked_up (std::list<StringText> subtitles, int target_height, float fade_factor, std::string font_name);
-std::list<PositionImage> render_text (std::list<StringText>, dcp::Size, dcpomatic::DCPTime, int);
-std::list<dcpomatic::Rect<int>> bounding_box(std::list<StringText> subtitles, dcp::Size target, boost::optional<dcp::SubtitleStandard> override_standard = boost::none);
+std::string marked_up(std::vector<StringText> subtitles, int target_height, float fade_factor, std::string font_name);
+std::vector<PositionImage> render_text(std::vector<StringText>, dcp::Size, dcpomatic::DCPTime, int);
+std::vector<dcpomatic::Rect<int>> bounding_box(std::vector<StringText> subtitles, dcp::Size target, boost::optional<dcp::SubtitleStandard> override_standard = boost::none);
class FontMetrics
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 05b69644f..4240279c6 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -461,7 +461,7 @@ LIBDCP_ENABLE_WARNINGS
#if defined(DCPOMATIC_WINDOWS) || defined(DCPOMATIC_OSX)
/* Render something to fontconfig to create its cache */
- list<StringText> subs;
+ vector<StringText> subs;
dcp::SubtitleString ss(
optional<string>(), false, false, false, dcp::Colour(), 42, 1, dcp::Time(), dcp::Time(), 0, dcp::HAlign::CENTER, 0, dcp::VAlign::CENTER, 0, dcp::Direction::LTR,
"Hello dolly", dcp::Effect::NONE, dcp::Colour(), dcp::Time(), dcp::Time(), 0
diff --git a/src/wx/closed_captions_dialog.cc b/src/wx/closed_captions_dialog.cc
index d84ea0135..9142500e0 100644
--- a/src/wx/closed_captions_dialog.cc
+++ b/src/wx/closed_captions_dialog.cc
@@ -201,7 +201,7 @@ ClosedCaptionsDialog::update ()
_lines[j] = "";
}
- to_show.sort (ClosedCaptionSorter());
+ std::sort(to_show.begin(), to_show.end(), ClosedCaptionSorter());
auto j = to_show.begin();
int k = 0;
diff --git a/test/render_subtitles_test.cc b/test/render_subtitles_test.cc
index d1c912602..023237568 100644
--- a/test/render_subtitles_test.cc
+++ b/test/render_subtitles_test.cc
@@ -37,7 +37,7 @@ using std::shared_ptr;
static void
-add (std::list<StringText>& s, std::string text, bool italic, bool bold, bool underline)
+add(std::vector<StringText>& s, std::string text, bool italic, bool bold, bool underline)
{
s.push_back (
StringText (
@@ -74,7 +74,7 @@ add (std::list<StringText>& s, std::string text, bool italic, bool bold, bool un
BOOST_AUTO_TEST_CASE (marked_up_test1)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", false, false, false);
BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "<span size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\">Hello</span>");
}
@@ -82,7 +82,7 @@ BOOST_AUTO_TEST_CASE (marked_up_test1)
BOOST_AUTO_TEST_CASE (marked_up_test2)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", false, true, false);
BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "<span weight=\"bold\" size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\">Hello</span>");
}
@@ -90,21 +90,21 @@ BOOST_AUTO_TEST_CASE (marked_up_test2)
BOOST_AUTO_TEST_CASE (marked_up_test3)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", true, true, false);
BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "<span style=\"italic\" weight=\"bold\" size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\">Hello</span>");
}
BOOST_AUTO_TEST_CASE (marked_up_test4)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", true, true, true);
BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "<span style=\"italic\" weight=\"bold\" underline=\"single\" size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\">Hello</span>");
}
BOOST_AUTO_TEST_CASE (marked_up_test5)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", false, true, false);
add (s, " world.", false, false, false);
BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "<span weight=\"bold\" size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\">Hello</span><span size=\"41705\" alpha=\"65535\" color=\"#FFFFFF\"> world.</span>");
@@ -112,7 +112,7 @@ BOOST_AUTO_TEST_CASE (marked_up_test5)
BOOST_AUTO_TEST_CASE (marked_up_test6)
{
- std::list<StringText> s;
+ std::vector<StringText> s;
add (s, "Hello", true, false, false);
add (s, " world ", false, false, false);
add (s, "we are bold.", false, true, false);