summaryrefslogtreecommitdiff
path: root/src/text_asset_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/text_asset_internal.h')
-rw-r--r--src/text_asset_internal.h36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/text_asset_internal.h b/src/text_asset_internal.h
index ddbc8833..2dfccce9 100644
--- a/src/text_asset_internal.h
+++ b/src/text_asset_internal.h
@@ -44,6 +44,7 @@
#include "array_data.h"
#include "dcp_time.h"
#include "h_align.h"
+#include "load_variable_z.h"
#include "raw_convert.h"
#include "v_align.h"
#include "warnings.h"
@@ -146,25 +147,41 @@ private:
class Text : public Part
{
public:
- 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)
+ Text(
+ std::shared_ptr<Part> parent,
+ HAlign h_align,
+ float h_position,
+ VAlign v_align,
+ float v_position,
+ float z_position,
+ boost::optional<std::string> variable_z,
+ Direction direction,
+ std::vector<Ruby> rubies
+ )
: Part (parent)
, _h_align (h_align)
, _h_position (h_position)
, _v_align (v_align)
, _v_position (v_position)
, _z_position(z_position)
+ , _variable_z(variable_z)
, _direction (direction)
, _rubies(rubies)
{}
xmlpp::Element* as_xml (xmlpp::Element* parent, Context& context) const override;
+ boost::optional<std::string> variable_z() {
+ return _variable_z;
+ }
+
private:
HAlign _h_align;
float _h_position;
VAlign _v_align;
float _v_position;
float _z_position;
+ boost::optional<std::string> _variable_z;
Direction _direction;
std::vector<Ruby> _rubies;
};
@@ -181,6 +198,8 @@ public:
, _fade_down (fade_down)
{}
+ boost::optional<std::string> find_or_add_variable_z_positions(std::vector<dcp::Text::VariableZPosition> const& positions, int& load_variable_z_index);
+
xmlpp::Element* as_xml (xmlpp::Element* parent, Context& context) const override;
private:
@@ -188,13 +207,24 @@ private:
Time _out;
Time _fade_up;
Time _fade_down;
+ std::vector<LoadVariableZ> _load_variable_z;
};
class Image : public Part
{
public:
- 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)
+ 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,
+ boost::optional<std::string> variable_z
+ )
: Part (parent)
, _png_data (png_data)
, _id (id)
@@ -203,6 +233,7 @@ public:
, _v_align (v_align)
, _v_position (v_position)
, _z_position(z_position)
+ , _variable_z(variable_z)
{}
xmlpp::Element* as_xml (xmlpp::Element* parent, Context& context) const override;
@@ -215,6 +246,7 @@ private:
VAlign _v_align;
float _v_position;
float _z_position;
+ boost::optional<std::string> _variable_z;
};