/* * Copyright 2017 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "GrProcessorSet.h" GrProcessorSet::GrProcessorSet(GrPaint&& paint) { fXPFactory = paint.fXPFactory; fColorFragmentProcessorCnt = paint.numColorFragmentProcessors(); fFragmentProcessors.reset(paint.numTotalFragmentProcessors()); int i = 0; for (auto& fp : paint.fColorFragmentProcessors) { fFragmentProcessors[i++] = fp.release(); } for (auto& fp : paint.fCoverageFragmentProcessors) { fFragmentProcessors[i++] = fp.release(); } fFlags = 0; if (paint.usesDistanceVectorField()) { fFlags |= kUseDistanceVectorField_Flag; } if (paint.getDisableOutputConversionToSRGB()) { fFlags |= kDisableOutputConversionToSRGB_Flag; } if (paint.getAllowSRGBInputs()) { fFlags |= kAllowSRGBInputs_Flag; } }