31 lines
827 B
C
31 lines
827 B
C
/*
|
||
* 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 "include/core/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
|