1cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix/* 2cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * Copyright 2015 Google Inc. 3cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * 4cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * Use of this source code is governed by a BSD-style license that can be 5cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * found in the LICENSE file. 6cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix */ 7cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix 8cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix#ifndef GrGLBlend_DEFINED 9cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix#define GrGLBlend_DEFINED 10cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix 110e39f97cd7af16e57c7257770af8340750c9b3b0Mike Reed#include "SkBlendMode.h" 12f34b293681ea49aaa4aaa70d84515e4a58a112e7egdaniel#include "SkRegion.h" 13cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix 142d721d33aad192cc8a7a1321504b39bdca2a57ceegdanielclass GrGLSLFragmentBuilder; 15cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix 16ae4738f677c70f4ec7687422e1510ee3d80d810ebsalomonnamespace GrGLSLBlend { 17cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix /* 18cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * Appends GLSL code to fsBuilder that assigns a specified blend of the srcColor and dstColor 19cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix * variables to the outColor variable. 20cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix */ 212d721d33aad192cc8a7a1321504b39bdca2a57ceegdaniel void AppendMode(GrGLSLFragmentBuilder* fsBuilder, const char* srcColor, 227d954ad797176afedb9262fdea4507d0fc60eb9dMike Reed const char* dstColor, const char* outColor, SkBlendMode mode); 23f34b293681ea49aaa4aaa70d84515e4a58a112e7egdaniel 24f34b293681ea49aaa4aaa70d84515e4a58a112e7egdaniel void AppendRegionOp(GrGLSLFragmentBuilder* fsBuilder, const char* srcColor, 25f34b293681ea49aaa4aaa70d84515e4a58a112e7egdaniel const char* dstColor, const char* outColor, SkRegion::Op regionOp); 26cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix}; 27cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix 28cef14bf9ce626e6e6582f3aac18c8e176b987f3ewangyix#endif 29