4cd0734f4c
We're moving in a different direction for Skia documentation. We no longer run bookmaker on the bots, and things have already degraded such that it can't be run. This leaves the generated markdown in place for the last set of docs that were generated (which are still useful until the Doxygen docs catch up). See also: https://skia-review.googlesource.com/c/skia/+/198162 Docs-Preview: https://skia.org/?cl=203464 Bug: skia: Change-Id: I2f967a9c17dbc1cc899947d365071ef69cfb8ad7 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203464 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
66 lines
3.9 KiB
C
66 lines
3.9 KiB
C
/*
|
|
* Copyright 2016 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkBlendMode_DEFINED
|
|
#define SkBlendMode_DEFINED
|
|
|
|
#include "SkTypes.h"
|
|
|
|
enum class SkBlendMode {
|
|
kClear, //!< replaces destination with zero: fully transparent
|
|
kSrc, //!< replaces destination
|
|
kDst, //!< preserves destination
|
|
kSrcOver, //!< source over destination
|
|
kDstOver, //!< destination over source
|
|
kSrcIn, //!< source trimmed inside destination
|
|
kDstIn, //!< destination trimmed by source
|
|
kSrcOut, //!< source trimmed outside destination
|
|
kDstOut, //!< destination trimmed outside source
|
|
kSrcATop, //!< source inside destination blended with destination
|
|
kDstATop, //!< destination inside source blended with source
|
|
kXor, //!< each of source and destination trimmed outside the other
|
|
kPlus, //!< sum of colors
|
|
kModulate, //!< product of premultiplied colors; darkens destination
|
|
kScreen, //!< multiply inverse of pixels, inverting result; brightens destination
|
|
kLastCoeffMode = kScreen, //!< last porter duff blend mode
|
|
kOverlay, //!< multiply or screen, depending on destination
|
|
kDarken, //!< darker of source and destination
|
|
kLighten, //!< lighter of source and destination
|
|
kColorDodge, //!< brighten destination to reflect source
|
|
kColorBurn, //!< darken destination to reflect source
|
|
kHardLight, //!< multiply or screen, depending on source
|
|
kSoftLight, //!< lighten or darken, depending on source
|
|
kDifference, //!< subtract darker from lighter with higher contrast
|
|
kExclusion, //!< subtract darker from lighter with lower contrast
|
|
kMultiply, //!< multiply source with destination, darkening image
|
|
kLastSeparableMode = kMultiply, //!< last blend mode operating separately on components
|
|
kHue, //!< hue of source with saturation and luminosity of destination
|
|
kSaturation, //!< saturation of source with hue and luminosity of destination
|
|
kColor, //!< hue and saturation of source with luminosity of destination
|
|
kLuminosity, //!< luminosity of source with hue and saturation of destination
|
|
kLastMode = kLuminosity, //!< last valid value
|
|
};
|
|
|
|
/** Returns name of blendMode as null-terminated C string.
|
|
|
|
@param blendMode one of:
|
|
SkBlendMode::kClear, SkBlendMode::kSrc, SkBlendMode::kDst,
|
|
SkBlendMode::kSrcOver, SkBlendMode::kDstOver, SkBlendMode::kSrcIn,
|
|
SkBlendMode::kDstIn, SkBlendMode::kSrcOut, SkBlendMode::kDstOut,
|
|
SkBlendMode::kSrcATop, SkBlendMode::kDstATop, SkBlendMode::kXor,
|
|
SkBlendMode::kPlus, SkBlendMode::kModulate, SkBlendMode::kScreen,
|
|
SkBlendMode::kOverlay, SkBlendMode::kDarken, SkBlendMode::kLighten,
|
|
SkBlendMode::kColorDodge, SkBlendMode::kColorBurn, SkBlendMode::kHardLight,
|
|
SkBlendMode::kSoftLight, SkBlendMode::kDifference, SkBlendMode::kExclusion,
|
|
SkBlendMode::kMultiply, SkBlendMode::kHue, SkBlendMode::kSaturation,
|
|
SkBlendMode::kColor, SkBlendMode::kLuminosity
|
|
@return C string
|
|
*/
|
|
SK_API const char* SkBlendMode_Name(SkBlendMode blendMode);
|
|
|
|
#endif
|