// 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 #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 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_