diff options
Diffstat (limited to 'cc/raster/texture_compressor.h')
-rw-r--r-- | cc/raster/texture_compressor.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/cc/raster/texture_compressor.h b/cc/raster/texture_compressor.h new file mode 100644 index 0000000..95536bc --- /dev/null +++ b/cc/raster/texture_compressor.h @@ -0,0 +1,46 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CC_RASTER_TEXTURE_COMPRESSOR_H_ +#define CC_RASTER_TEXTURE_COMPRESSOR_H_ + +#include <stdint.h> + +#include "base/macros.h" +#include "base/memory/scoped_ptr.h" +#include "cc/base/cc_export.h" + +namespace cc { + +class CC_EXPORT TextureCompressor { + public: + enum Format { + kFormatETC1, + }; + + enum Quality { + kQualityLow, + kQualityMedium, + kQualityHigh, + }; + + static scoped_ptr<TextureCompressor> Create(Format format); + virtual ~TextureCompressor() {} + + virtual void Compress(const uint8_t* src, + uint8_t* dst, + int width, + int height, + Quality quality) = 0; + + protected: + TextureCompressor() {} + + private: + DISALLOW_COPY_AND_ASSIGN(TextureCompressor); +}; + +} // namespace cc + +#endif // CC_RASTER_TEXTURE_COMPRESSOR_H_ |