PassRefPtr<FilterOperation> BasicColorMatrixFilterOperation::blend(const FilterOperation* from, double progress, bool blendToPassthrough) { if (from && !from->isSameType(*this)) return this; if (blendToPassthrough) return BasicColorMatrixFilterOperation::create(WebCore::blend(m_amount, passthroughAmount(), progress), m_type); const BasicColorMatrixFilterOperation* fromOp = toBasicColorMatrixFilterOperation(from); double fromAmount = fromOp ? fromOp->amount() : passthroughAmount(); return BasicColorMatrixFilterOperation::create(WebCore::blend(fromAmount, m_amount, progress), m_type); }
PassRefPtr<FilterOperation> BasicComponentTransferFilterOperation::blend(const FilterOperation* from, double progress, bool blendToPassthrough) { if (from && !from->isSameType(*this)) return this; if (blendToPassthrough) return BasicComponentTransferFilterOperation::create(WebCore::blend(m_amount, passthroughAmount(), progress), m_type); const BasicComponentTransferFilterOperation* fromOperation = downcast<BasicComponentTransferFilterOperation>(from); double fromAmount = fromOperation ? fromOperation->amount() : passthroughAmount(); return BasicComponentTransferFilterOperation::create(WebCore::blend(fromAmount, m_amount, progress), m_type); }