blob: 74ea687f96095ba79537f3b66c79db726615c23e [file] [log] [blame]
* Copyright 2013 Google Inc.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
#ifndef SkAlpha_DEFINED
#define SkAlpha_DEFINED
#include "SkTypes.h"
* Describes how to interpret the alpha compoent of a pixel.
enum SkAlphaType {
* All pixels should be treated as opaque, regardless of the value stored
* in their alpha field. Used for legacy images that wrote 0 or garbarge
* in their alpha field, but intended the RGB to be treated as opaque.
* All pixels are stored as opaque. This differs slightly from kIgnore in
* that kOpaque has correct "opaque" values stored in the pixels, while
* kIgnore may not, but in both cases the caller should treat the pixels
* as opaque.
* All pixels have their alpha premultiplied in their color components.
* This is the natural format for the rendering target pixels.
* All pixels have their color components stored without any regard to the
* alpha. e.g. this is the default configuration for PNG images.
* This alpha-type is ONLY supported for input images. Rendering cannot
* generate this on output.
kLastEnum_SkAlphaType = kUnpremul_SkAlphaType
static inline bool SkAlphaTypeIsOpaque(SkAlphaType at) {
return (unsigned)at <= kOpaque_SkAlphaType;