blob: 6ea97440b9fd0ec84047ea604859801d79f49068 [file] [log] [blame]
#Topic Image_Info
#Alias Image_Info_Reference
#Subtopic Overview
#Subtopic Subtopic
#Populate
##
##
#Subtopic Constant
#Populate
##
# ------------------------------------------------------------------------------
#Subtopic Alpha_Type
#Line # incomplete ##
#Alias Alpha_Type
#Alias Alpha_Types
#Enum SkAlphaType
#Line # incomplete ##
#Code
enum SkAlphaType {
kUnknown_SkAlphaType,
kOpaque_SkAlphaType,
kPremul_SkAlphaType,
kUnpremul_SkAlphaType,
kLastEnum_SkAlphaType = kUnpremul_SkAlphaType,
};
##
Describes how to interpret the alpha component of a pixel.
#Const kUnknown_SkAlphaType 0
##
#Const kOpaque_SkAlphaType 1
All pixels are stored as opaque.
##
#Const kPremul_SkAlphaType 2
All pixels have their alpha premultiplied in their color components.
This is the natural format for the rendering target pixels.
##
#Const kUnpremul_SkAlphaType 3
All pixels have their color components stored without any regard to the
alpha. e.g. this is the default configuration for PNG images.
kUnpremul_SkAlphaType is supported only for input images. Rendering cannot
generate this on output.
##
#Example
// incomplete
##
#SeeAlso incomplete
#Enum SkAlphaType ##
#Subtopic Alpha_Type ##
# ------------------------------------------------------------------------------
#Subtopic Color_Type
#Line # incomplete ##
#Alias Native_Color_Type
#Substitute native SkColorType
#Alias Color_Type
#Alias Color_Types
#Enum SkColorType
#Line # incomplete ##
#Code
enum SkColorType {
kUnknown_SkColorType,
kAlpha_8_SkColorType,
kRGB_565_SkColorType,
kARGB_4444_SkColorType,
kRGBA_8888_SkColorType,
kRGB_888x_SkColorType,
kBGRA_8888_SkColorType,
kRGBA_1010102_SkColorType,
kRGB_101010x_SkColorType,
kGray_8_SkColorType,
kRGBA_F16_SkColorType,
kLastEnum_SkColorType = kRGBA_F16_SkColorType,
kN32_SkColorType = kBGRA_8888_SkColorType,
kN32_SkColorType = kRGBA_8888_SkColorType,
};
##
Describes how to interpret the components of a pixel.
kN32_SkColorType selects the native 32-bit Color_ARGB format. On Little_Endian
processors, pixels containing 8-bit Color_ARGB components pack into 32-bit
kBGRA_8888_SkColorType. On Big_Endian processors, pixels pack into 32-bit
kRGBA_8888_SkColorType.
#Const kUnknown_SkColorType 0
##
#Const kAlpha_8_SkColorType 1
##
#Const kRGB_565_SkColorType 2
##
#Const kARGB_4444_SkColorType 3
##
#Const kRGBA_8888_SkColorType 4
##
#Const kRGB_888x_SkColorType 5
##
#Const kBGRA_8888_SkColorType 6
##
#Const kRGBA_1010102_SkColorType 7
##
#Const kRGB_101010x_SkColorType 8
##
#Const kGray_8_SkColorType 9
##
#Const kRGBA_F16_SkColorType 10
##
#ToDo can be 4 or 6; how to document? ##
#Const kN32_SkColorType 4
##
#Example
// incomplete
##
#SeeAlso incomplete
#Enum SkColorType ##
#Subtopic Color_Type ##
# ------------------------------------------------------------------------------
#Enum SkYUVColorSpace
#Line # incomplete ##
#Code
enum SkYUVColorSpace {
kJPEG_SkYUVColorSpace,
kRec601_SkYUVColorSpace,
kRec709_SkYUVColorSpace,
kLastEnum_SkYUVColorSpace = kRec709_SkYUVColorSpace,
};
##
Describes the color space a YUV pixel.
#Const kJPEG_SkYUVColorSpace 0
Standard JPEG color space.
##
#Const kRec601_SkYUVColorSpace 1
SDTV standard Rec. 601 color space. Uses "studio swing" [16, 235] color
range. See http://en.wikipedia.org/wiki/Rec._601 for details.
##
#Const kRec709_SkYUVColorSpace 2
HDTV standard Rec. 709 color space. Uses "studio swing" [16, 235] color
range. See http://en.wikipedia.org/wiki/Rec._709 for details.
##
#Example
// incomplete
##
#SeeAlso incomplete
#Enum SkYUVColorSpace ##
# ------------------------------------------------------------------------------
#EnumClass SkDestinationSurfaceColorMode
#Line # incomplete ##
#Code
enum class SkDestinationSurfaceColorMode {
kLegacy,
kGammaAndColorSpaceAware,
};
##
#Const kLegacy 0
##
#Const kGammaAndColorSpaceAware 1
##
#Example
// incomplete
##
#SeeAlso incomplete
#EnumClass SkDestinationSurfaceColorMode ##
# ------------------------------------------------------------------------------
#Struct SkImageInfo
Describes Image dimensions and pixel type.
Used for both source images and render-targets (surfaces).
#Subtopic Member_Function
#Populate
##
#Subtopic Related_Function
#Populate
##
# ------------------------------------------------------------------------------
#Subtopic Constructor
#Populate
##
#Method SkImageInfo()
#In Constructor
#Line # creates with zero dimensions, kUnknown_SkColorType, kUnknown_SkAlphaType ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at,
sk_sp<SkColorSpace> cs = nullptr)
#In Constructor
#Line # creates Image_Info from dimensions, Color_Type, Alpha_Type, Color_Space ##
#Param width incomplete ##
#Param height incomplete ##
#Param ct incomplete ##
#Param at incomplete ##
#Param cs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeN32(int width, int height, SkAlphaType at,
sk_sp<SkColorSpace> cs = nullptr)
#In Constructor
#Line # creates Image_Info with Native_Color_Type ##
Sets Color_Type to kN32_SkColorType.
#Param width incomplete ##
#Param height incomplete ##
#Param at incomplete ##
#Param cs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeS32(int width, int height, SkAlphaType at)
#In Constructor
#Line # creates Image_Info with Native_Color_Type, sRGB Color_Space ##
Creates Image_Info marked as sRGB with kN32_SkColorType swizzle.
#Param width incomplete ##
#Param height incomplete ##
#Param at incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeN32Premul(int width, int height, sk_sp<SkColorSpace> cs = nullptr)
#In Constructor
#Line # creates Image_Info with Native_Color_Type, kPremul_SkAlphaType ##
Sets Color_Type to kN32_SkColorType, and the Alpha_Type to kPremul_SkAlphaType.
#Param width incomplete ##
#Param height incomplete ##
#Param cs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeN32Premul(const SkISize& size)
#In Constructor
#Param size incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeA8(int width, int height)
#In Constructor
#Line # creates Image_Info with kAlpha_8_SkColorType, kPremul_SkAlphaType ##
#Param width incomplete ##
#Param height incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeUnknown(int width, int height)
#In Constructor
#Line # creates Image_Info with kUnknown_SkColorType, kUnknown_SkAlphaType ##
#Param width incomplete ##
#Param height incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static SkImageInfo MakeUnknown()
#In Constructor
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Subtopic Property
#Populate
#Line # metrics and attributes ##
##
#Method int width() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method int height() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkColorType colorType() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkAlphaType alphaType() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkColorSpace* colorSpace() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method sk_sp<SkColorSpace> refColorSpace() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method bool isEmpty() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method bool isOpaque() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkISize dimensions() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkIRect bounds() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method bool gammaCloseToSRGB() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkImageInfo makeWH(int newWidth, int newHeight) const
#In Constructor
#Line # creates Image_Info with changed dimensions ##
Creates Image_Info with the same Color_Type and Alpha_Type as this info,
but with the specified width and height.
#Param newWidth incomplete ##
#Param newHeight incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkImageInfo makeAlphaType(SkAlphaType newAlphaType) const
#In Constructor
#Line # creates Image_Info with changed Alpha_Type ##
#Param newAlphaType incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkImageInfo makeColorType(SkColorType newColorType) const
#In Constructor
#Line # creates Image_Info with changed Color_Type ##
#Param newColorType incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method SkImageInfo makeColorSpace(sk_sp<SkColorSpace> cs) const
#In Constructor
#Line # creates Image_Info with changed Color_Space ##
#Param cs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method int bytesPerPixel() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method int shiftPerPixel() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method uint64_t minRowBytes64() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method size_t minRowBytes() const
#In Property
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method size_t computeOffset(int x, int y, size_t rowBytes) const
#In Utility
#Line # incomplete ##
#Param x incomplete ##
#Param y incomplete ##
#Param rowBytes incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Subtopic Operator
#Populate
##
#Method bool operator==(const SkImageInfo& other)_const
#Line # incomplete ##
#Param other incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method bool operator!=(const SkImageInfo& other)_const
#Line # incomplete ##
#Param other incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method void unflatten(SkReadBuffer& buffer)
#In Utility
#Line # incomplete ##
#Param buffer incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method void flatten(SkWriteBuffer& buffer) const
#In Utility
#Line # incomplete ##
#Param buffer incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method size_t computeByteSize(size_t rowBytes) const
#In Utility
#Line # incomplete ##
Returns the size (in bytes) of the image buffer that this info needs, given the specified
rowBytes. The rowBytes must be >= this->minRowBytes().
if (height == 0) {
return 0;
} else {
return (height - 1) * rowBytes + width * bytes_per_pixel.
If the calculation overflows this returns SK_MaxSizeT.
#Param rowBytes incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method size_t computeMinByteSize() const
#In Utility
#Line # incomplete ##
Returns the minimum size (in bytes) of the image buffer that this info needs.
If the calculation overflows, or if the height is 0, this returns 0.
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static bool ByteSizeOverflowed(size_t byteSize)
#In Utility
#Line # incomplete ##
Returns true if the result of computeByteSize (or computeMinByteSize) overflowed
#Param byteSize incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method bool validRowBytes(size_t rowBytes) const
#In Utility
#Line # incomplete ##
#Param rowBytes incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method void reset()
#In Constructor
#Line # incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Subtopic Utility
#Populate
#Line # rarely called management functions ##
##
#Method void validate() const
#In Utility
#Line # incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
#Struct SkImageInfo ##
#Topic Image_Info ##