40 #ifndef LIBDCP_TEXT_ASSET_INTERNAL_H
41 #define LIBDCP_TEXT_ASSET_INTERNAL_H
50 LIBDCP_DISABLE_WARNINGS
51 #include <libxml++/libxml++.h>
52 LIBDCP_ENABLE_WARNINGS
55 struct take_intersection_test;
56 struct take_difference_test;
57 struct pull_fonts_test1;
58 struct pull_fonts_test2;
59 struct pull_fonts_test3;
85 Font (std::shared_ptr<TextString> s, Standard standard);
87 xmlpp::Element* as_xml (xmlpp::Element* parent,
Context& context)
const;
93 bool operator== (
Font const & other)
const;
96 friend struct ::take_intersection_test;
97 friend struct ::take_difference_test;
98 friend struct ::pull_fonts_test1;
99 friend struct ::pull_fonts_test2;
100 friend struct ::pull_fonts_test3;
102 std::map<std::string, std::string> _values;
109 Part (std::shared_ptr<Part> parent_)
113 Part (std::shared_ptr<Part> parent_,
Font font_)
120 virtual xmlpp::Element* as_xml (xmlpp::Element* parent,
Context &)
const;
121 void write_xml (xmlpp::Element* parent,
order::Context& context)
const;
123 std::shared_ptr<Part> parent;
125 std::vector<std::shared_ptr<Part>> children;
132 String (std::shared_ptr<Part> parent,
Font font, std::string text,
float space_before)
133 :
Part (parent, font)
135 , _space_before (space_before)
138 virtual xmlpp::Element* as_xml (xmlpp::Element* parent,
Context &)
const override;
149 Text(std::shared_ptr<Part> parent,
HAlign h_align,
float h_position,
VAlign v_align,
float v_position,
float z_position,
Direction direction, std::vector<Ruby> rubies)
152 , _h_position (h_position)
154 , _v_position (v_position)
155 , _z_position(z_position)
156 , _direction (direction)
160 xmlpp::Element* as_xml (xmlpp::Element* parent,
Context& context)
const override;
169 std::vector<Ruby> _rubies;
181 , _fade_down (fade_down)
184 xmlpp::Element* as_xml (xmlpp::Element* parent,
Context& context)
const override;
197 Image (std::shared_ptr<Part> parent, std::string
id,
ArrayData png_data,
HAlign h_align,
float h_position,
VAlign v_align,
float v_position,
float z_position)
199 , _png_data (png_data)
202 , _h_position (h_position)
204 , _v_position (v_position)
205 , _z_position(z_position)
208 xmlpp::Element* as_xml (xmlpp::Element* parent,
Context& context)
const override;
Class to hold an arbitrary block of data.
A representation of time within a DCP.
void take_difference(Font other)
void take_intersection(Font other)
std::string _id
the ID of this image
Namespace for everything in libdcp.
Methods for conversion to/from string.