#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 ## # ------------------------------------------------------------------------------ #Subtopic YUV_ColorSpace #Alias YUV_ColorSpace #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 ## #Subtopic YUV_ColorSpace ## # ------------------------------------------------------------------------------ #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 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 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 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 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 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 ##