| /* |
| * Copyright 2014 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "SkImageEncoderPriv.h" |
| |
| #include "SkColorPriv.h" |
| #include "SkImageGenerator.h" |
| #include "SkPixelRef.h" |
| #include "SkStream.h" |
| #include "SkStreamPriv.h" |
| |
| #include "ktx.h" |
| #include "etc1.h" |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| // KTX Image Encoder |
| // |
| // KTX is a general texture data storage file format ratified by the Khronos Group. As an |
| // overview, a KTX file contains all of the appropriate values needed to fully specify a |
| // texture in an OpenGL application, including the use of compressed data. |
| // |
| // This encoder takes a best guess at how to encode the bitmap passed to it. |
| // The KTX library tries to do its best to encode the appropriate |
| // data specified by the bitmap based on the config. (i.e. kAlpha8_Config will |
| // be represented as a full resolution 8-bit image dump with the appropriate |
| // OpenGL defines in the header). |
| |
| bool SkEncodeImageAsKTX(SkWStream* stream, const SkPixmap& pixmap) { |
| return SkKTXFile::WritePixmapToKTX(stream, pixmap); |
| } |