/* * 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 SkImageEncoderPriv_DEFINED #define SkImageEncoderPriv_DEFINED #include "include/core/SkImageInfo.h" #include "include/core/SkPixmap.h" #include "src/core/SkImageInfoPriv.h" #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) || \ defined(SK_BUILD_FOR_WIN) || defined(SK_ENABLE_NDK_IMAGES) #include "include/core/SkEncodedImageFormat.h" class SkWStream; #endif static inline bool SkPixmapIsValid(const SkPixmap& src) { if (!SkImageInfoIsValid(src.info())) { return false; } if (!src.addr() || src.rowBytes() < src.info().minRowBytes()) { return false; } return true; } #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) bool SkEncodeImageWithCG(SkWStream*, const SkPixmap&, SkEncodedImageFormat); #else #define SkEncodeImageWithCG(...) false #endif #ifdef SK_BUILD_FOR_WIN bool SkEncodeImageWithWIC(SkWStream*, const SkPixmap&, SkEncodedImageFormat, int quality); #else #define SkEncodeImageWithWIC(...) false #endif #ifdef SK_ENABLE_NDK_IMAGES bool SkEncodeImageWithNDK(SkWStream*, const SkPixmap&, SkEncodedImageFormat, int quality); #else #define SkEncodeImageWithNDK(...) false #endif #endif // SkImageEncoderPriv_DEFINED