diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-08-26 14:29:06 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-08-29 18:28:40 +0200 |
| commit | c7f45cd00b94393f6e15428a2ea256995f890412 (patch) | |
| tree | 92c045700e0e60a2a44aec0daa5210278d11f4d6 | |
| parent | e71e6d33210e4a4c7d7841d0d5d8e906e00bb82f (diff) | |
Cleanup: use some more vector instead of list.
| -rw-r--r-- | src/lib/player_text.h | 4 | ||||
| -rw-r--r-- | src/lib/render_text.cc | 24 | ||||
| -rw-r--r-- | src/lib/render_text.h | 6 | ||||
| -rw-r--r-- | src/lib/util.cc | 2 | ||||
| -rw-r--r-- | src/wx/closed_captions_dialog.cc | 2 | ||||
| -rw-r--r-- | test/render_subtitles_test.cc | 14 |
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); |
