diff options
Diffstat (limited to 'platform/darwin/src/NSData+MGLAdditions.mm')
-rw-r--r-- | platform/darwin/src/NSData+MGLAdditions.mm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/platform/darwin/src/NSData+MGLAdditions.mm b/platform/darwin/src/NSData+MGLAdditions.mm new file mode 100644 index 0000000000..ef171c5e1e --- /dev/null +++ b/platform/darwin/src/NSData+MGLAdditions.mm @@ -0,0 +1,23 @@ +#import "NSData+MGLAdditions.h" + +#include <mbgl/util/compression.hpp> + +@implementation NSData (MGLAdditions) + +- (NSData *)mgl_compressedData +{ + std::string string(static_cast<const char*>(self.bytes), self.length); + std::string compressed_string = mbgl::util::compress(string); + + return [NSData dataWithBytes:&compressed_string[0] length:compressed_string.length()]; +} + +- (NSData *)mgl_decompressedData +{ + std::string string(static_cast<const char*>(self.bytes), self.length); + std::string decompressed_string = mbgl::util::decompress(string); + + return [NSData dataWithBytes:&decompressed_string[0] length:decompressed_string.length()]; +} + +@end |