124ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 224ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org/* 324ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org * Copyright 2013 Google Inc. 424ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org * 524ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org * Use of this source code is governed by a BSD-style license that can be 624ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org * found in the LICENSE file. 724ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org */ 824ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 924ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org#include "GrTypes.h" 1024ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org#include "GrColor.h" 1124ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 1224ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org#ifndef GrBlend_DEFINED 1324ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org#define GrBlend_DEFINED 1424ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 1524ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.orgstatic inline bool GrBlendCoeffRefsSrc(GrBlendCoeff coeff) { 1624ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org switch (coeff) { 1724ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kSC_GrBlendCoeff: 1824ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kISC_GrBlendCoeff: 1924ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kSA_GrBlendCoeff: 2024ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kISA_GrBlendCoeff: 2124ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org return true; 2224ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org default: 2324ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org return false; 2424ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org } 2524ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org} 2624ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 2724ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.orgstatic inline bool GrBlendCoeffRefsDst(GrBlendCoeff coeff) { 2824ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org switch (coeff) { 2924ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kDC_GrBlendCoeff: 3024ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kIDC_GrBlendCoeff: 3124ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kDA_GrBlendCoeff: 3224ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org case kIDA_GrBlendCoeff: 3324ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org return true; 3424ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org default: 3524ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org return false; 3624ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org } 3724ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org} 3824ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 3924ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.orgGrColor GrSimplifyBlend(GrBlendCoeff* srcCoeff, 4024ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org GrBlendCoeff* dstCoeff, 4124ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org GrColor srcColor, uint32_t srcCompFlags, 4224ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org GrColor dstColor, uint32_t dstCompFlags, 4324ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org GrColor constantColor); 4424ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org 4524ab3b0ce50b3428f063849b6160e468f047487ccommit-bot@chromium.org#endif 46