1 2/* 3 * Copyright 2011 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8#ifndef SkStream_NSData_DEFINED 9#define SkStream_NSData_DEFINED 10 11#import <UIKit/UIKit.h> 12#include "SkStream.h" 13 14/** Returns an NSData with a copy of the stream's data. The caller must call 15 retain if it intends to keep the data object beyond the current stack-frame 16 (i.e. internally we're calling [NSData dataWithBytes...] 17 */ 18NSData* NSData_dataWithStream(SkStream* stream); 19 20/** Returns an NSData from the named resource (from main bundle). 21 The caller must call retain if it intends to keep the data object beyond 22 the current stack-frame 23 (i.e. internally we're calling [NSData dataWithContentsOfMappedFile...] 24 */ 25NSData* NSData_dataFromResource(const char name[], const char suffix[]); 26 27/** Wrap a stream around NSData. 28 */ 29class SkStream_NSData : public SkMemoryStream { 30public: 31 SkStream_NSData(NSData* data); 32 virtual ~SkStream_NSData(); 33 34 static SkStream_NSData* CreateFromResource(const char name[], 35 const char suffix[]); 36 37private: 38 NSData* fNSData; 39}; 40 41#endif 42