diff options
author | Mike Reed <reed@google.com> | 2018-01-26 11:42:38 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-26 17:03:58 +0000 |
commit | 1bd556a1776c6c0b2a7b940516bc53f329516dc7 (patch) | |
tree | 30a25a1cc739c2167a6b31f3fb8903470833921d /include/core/SkCoverageMode.h | |
parent | f9a5e62981c9c1ddd838b5e466c991fae82233a4 (diff) |
use coverage modes instead of blend modes
Bug: skia:
Change-Id: Ib3aa0137644358173ea4087693f33dbc2118c6d2
Reviewed-on: https://skia-review.googlesource.com/99661
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'include/core/SkCoverageMode.h')
-rw-r--r-- | include/core/SkCoverageMode.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/core/SkCoverageMode.h b/include/core/SkCoverageMode.h new file mode 100644 index 0000000000..96863be000 --- /dev/null +++ b/include/core/SkCoverageMode.h @@ -0,0 +1,30 @@ +/* + * Copyright 2018 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkCoverageMode_DEFINED +#define SkCoverageMode_DEFINED + +#include "SkTypes.h" + +/** + * Describes geometric operations (ala SkRegion::Op) that can be applied to coverage bytes. + * These can be thought of as variants of porter-duff (SkBlendMode) modes, but only applied + * to the alpha channel. + * + * See SkMaskFilter for ways to use these when combining two different masks. + */ +enum class SkCoverageMode { + kUnion, // A ∪ B A+B-A*B + kIntersect, // A ∪ B A*B + kDifference, // A - B A*(1-B) + kReverseDifference, // B - A B*(1-A) + kXor, // A ⊕ B A+B-2*A*B + + kLast = kXor +}; + +#endif |