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