blob: 59cb2ba573817762363286930131eb9321b8d725 [file]
/*
* Copyright 2012 The Android Open Source Project
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkImageEncoderFns_DEFINED
#define SkImageEncoderFns_DEFINED
#include "include/codec/SkEncodedOrigin.h"
#include "include/core/SkColorSpace.h"
#include "include/core/SkData.h"
#include "include/core/SkImageInfo.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkTypes.h"
#include "include/encode/SkICC.h"
#include "include/private/SkExif.h"
#include "modules/skcms/skcms.h"
#include <cstring>
#include <optional>
typedef void (*transform_scanline_proc)(char* dst, const char* src, int width, int bpp);
static inline void transform_scanline_memcpy(char* dst, const char* src, int width, int bpp) {
memcpy(dst, src, width * bpp);
}
static inline void transform_scanline_A8_to_GrayAlpha(char* dst, const char* src, int width, int) {
for (int i = 0; i < width; i++) {
*dst++ = 0;
*dst++ = *src++;
}
}
static inline sk_sp<SkData> exif_from_origin(const SkEncodedOrigin origin) {
SkExif::Metadata metadata;
metadata.fOrigin = origin;
return SkExif::WriteExif(metadata);
}
#endif // SkImageEncoderFns_DEFINED