X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fsubtitle_asset.h;h=4d62bfb4d8335578618b3281ba32838178bb2dc2;hb=4bcd365d3dba8d640d79685209b7a306b508c3e3;hp=efcab3a35fff68ed52a42b131ef064f756949b29;hpb=422c8a63d2368a2e63aee4c391207e3332d1d4c7;p=libdcp.git diff --git a/src/subtitle_asset.h b/src/subtitle_asset.h index efcab3a3..4d62bfb4 100644 --- a/src/subtitle_asset.h +++ b/src/subtitle_asset.h @@ -35,6 +35,7 @@ public: float v_position; VAlign v_align; std::string text; + std::list > font_nodes; }; class SubtitleNode : public XMLNode @@ -61,6 +62,7 @@ public: FontNode (xmlpp::Node const * node); FontNode (std::list > const & font_nodes); + std::string text; std::string id; int size; boost::optional italic; @@ -198,16 +200,22 @@ public: private: std::string font_id_to_name (std::string id) const; + struct ParseState { + std::list > font_nodes; + std::list > text_nodes; + std::list > subtitle_nodes; + }; + + void maybe_add_subtitle (std::string text, ParseState const & parse_state); + void examine_font_nodes ( std::list > const & font_nodes, - std::list >& current_font_nodes, - std::list >& current_subtitle_nodes + ParseState& parse_state ); void examine_text_nodes ( - boost::shared_ptr subtitle_node, std::list > const & text_nodes, - std::list >& current_font_nodes + ParseState& parse_state ); std::string _subtitle_id;