]> git.sesse.net Git - casparcg/blobdiff - core/producer/frame/frame_transform.cpp
2.0. Fixed mix transition.
[casparcg] / core / producer / frame / frame_transform.cpp
index 60d93a1aaa8b4424efc63701ff65b646c93f74d0..a608973ab6acce6b5f2669960cde72476c4c96eb 100644 (file)
@@ -34,6 +34,7 @@ frame_transform::frame_transform()
        , saturation(1.0)\r
        , field_mode(field_mode::progressive)\r
        , is_key(false)\r
+       , is_mix(false)\r
 {\r
        std::fill(fill_translation.begin(), fill_translation.end(), 0.0);\r
        std::fill(fill_scale.begin(), fill_scale.end(), 1.0);\r
@@ -63,6 +64,7 @@ frame_transform& frame_transform::operator*=(const frame_transform &other)
        levels.gamma                    *= other.levels.gamma;\r
        field_mode                               = static_cast<field_mode::type>(field_mode & other.field_mode);\r
        is_key                                  |= other.is_key;\r
+       is_mix                                  |= other.is_mix;\r
        return *this;\r
 }\r
 \r
@@ -99,6 +101,7 @@ frame_transform tween(double time, const frame_transform& source, const frame_tr
        result.levels.gamma                     = do_tween(time, source.levels.gamma,                   dest.levels.gamma,                      duration, tweener);\r
        result.field_mode                       = static_cast<field_mode::type>(source.field_mode & dest.field_mode);\r
        result.is_key                           = source.is_key | dest.is_key;\r
+       result.is_mix                           = source.is_mix | dest.is_mix;\r
        \r
        return result;\r
 }\r