/* * Copyright 2018 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkottieProperty.h" #include "SkottieAdapter.h" #include "SkSGColor.h" #include "SkSGOpacityEffect.h" namespace skottie { bool TransformPropertyValue::operator==(const TransformPropertyValue& other) const { return this->fAnchorPoint == other.fAnchorPoint && this->fPosition == other.fPosition && this->fScale == other.fScale && this->fSkew == other.fSkew && this->fSkewAxis == other.fSkewAxis; } bool TransformPropertyValue::operator!=(const TransformPropertyValue& other) const { return !(*this == other); } template <> PropertyHandle<ColorPropertyValue, sksg::Color>::~PropertyHandle() {} template <> ColorPropertyValue PropertyHandle<ColorPropertyValue, sksg::Color>::get() const { return fNode->getColor(); } template <> void PropertyHandle<ColorPropertyValue, sksg::Color>::set(const ColorPropertyValue& c) { fNode->setColor(c); } template <> PropertyHandle<OpacityPropertyValue, sksg::OpacityEffect>::~PropertyHandle() {} template <> OpacityPropertyValue PropertyHandle<OpacityPropertyValue, sksg::OpacityEffect>::get() const { return fNode->getOpacity() * 100; } template <> void PropertyHandle<OpacityPropertyValue, sksg::OpacityEffect>::set(const OpacityPropertyValue& o) { fNode->setOpacity(o / 100); } template <> PropertyHandle<TransformPropertyValue, TransformAdapter2D>::~PropertyHandle() {} template <> TransformPropertyValue PropertyHandle<TransformPropertyValue, TransformAdapter2D>::get() const { return { fNode->getAnchorPoint(), fNode->getPosition(), fNode->getScale(), fNode->getRotation(), fNode->getSkew(), fNode->getSkewAxis() }; } template <> void PropertyHandle<TransformPropertyValue, TransformAdapter2D>::set( const TransformPropertyValue& t) { fNode->setAnchorPoint(t.fAnchorPoint); fNode->setPosition(t.fPosition); fNode->setScale(t.fScale); fNode->setRotation(t.fRotation); fNode->setSkew(t.fSkew); fNode->setSkewAxis(t.fSkewAxis); } void PropertyObserver::onColorProperty(const char[], const LazyHandle<ColorPropertyHandle>&) {} void PropertyObserver::onOpacityProperty(const char[], const LazyHandle<OpacityPropertyHandle>&) {} void PropertyObserver::onTransformProperty(const char[], const LazyHandle<TransformPropertyHandle>&) {} } // namespace skottie