blob: 54309ddafc39dc20b108ebb1d6d6546f9729b75a [file] [log] [blame]
egdaniel0063a9b2015-01-15 10:52:32 -08001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef GrCustomXfermode_DEFINED
9#define GrCustomXfermode_DEFINED
10
Mike Reedd4706732016-11-15 16:44:34 -050011#include "SkBlendMode.h"
12#include "SkRefCnt.h"
egdaniel0063a9b2015-01-15 10:52:32 -080013
egdaniel0063a9b2015-01-15 10:52:32 -080014class GrTexture;
Mike Reedd4706732016-11-15 16:44:34 -050015class GrXPFactory;
egdaniel0063a9b2015-01-15 10:52:32 -080016
17/**
18 * Custom Xfer modes are used for blending when the blend mode cannot be represented using blend
bsalomonae4738f2015-09-15 15:33:27 -070019 * coefficients.
egdaniel0063a9b2015-01-15 10:52:32 -080020 */
21namespace GrCustomXfermode {
Mike Reed7d954ad2016-10-28 15:42:34 -040022 bool IsSupportedMode(SkBlendMode mode);
Brian Salomona1633922017-01-09 11:46:10 -050023 const GrXPFactory* Get(SkBlendMode mode);
egdaniel0063a9b2015-01-15 10:52:32 -080024};
25
26#endif