| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2010 Google Inc. | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license that can be | |
| 5 * found in the LICENSE file. | |
| 6 */ | |
| 7 | |
| 8 #include "SkStream_NSData.h" | |
| 9 | |
| 10 NSData* NSData_dataWithStream(SkStream* stream) { | |
| 11 size_t length = stream->getLength(); | |
| 12 void* src = malloc(length); | |
| 13 size_t bytes = stream->read(src, length); | |
| 14 SkASSERT(bytes == length); | |
| 15 return [NSData dataWithBytesNoCopy:src length:length freeWhenDone:YES]; | |
| 16 } | |
| 17 | |
| 18 NSData* NSData_dataFromResource(const char cname[], const char csuffix[]) { | |
| 19 NSBundle* bundle = [NSBundle mainBundle]; | |
| 20 NSString* name = [NSString stringWithUTF8String:cname]; | |
| 21 NSString* suffix = [NSString stringWithUTF8String:csuffix]; | |
| 22 NSString* path = [bundle pathForResource:name ofType:suffix]; | |
| 23 return [NSData dataWithContentsOfMappedFile:path]; | |
| 24 } | |
| 25 | |
| 26 /////////////////////////////////////////////////////////////////////////////// | |
| 27 | |
| 28 SkStream_NSData::SkStream_NSData(NSData* data) { | |
| 29 fNSData = data; | |
| 30 [fNSData retain]; | |
| 31 | |
| 32 this->setMemory([fNSData bytes], [fNSData length], false); | |
| 33 } | |
| 34 | |
| 35 SkStream_NSData::~SkStream_NSData() { | |
| 36 [fNSData release]; | |
| 37 } | |
| 38 | |
| 39 SkStream_NSData* SkStream_NSData::CreateFromResource(const char name[], | |
| 40 const char suffix[]) { | |
| 41 NSData* data = NSData_dataFromResource(name, suffix); | |
| 42 return SkNEW_ARGS(SkStream_NSData, (data)); | |
| 43 } | |
| 44 | |
| OLD | NEW |