Home | History | Annotate | Download | only in ios
      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  */
     18 NSData* 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  */
     25 NSData* NSData_dataFromResource(const char name[], const char suffix[]);
     26 
     27 /** Wrap a stream around NSData.
     28  */
     29 class SkStream_NSData : public SkMemoryStream {
     30 public:
     31             SkStream_NSData(NSData* data);
     32     virtual ~SkStream_NSData();
     33 
     34     static SkStream_NSData* CreateFromResource(const char name[],
     35                                                const char suffix[]);
     36 
     37 private:
     38     NSData* fNSData;
     39 };
     40 
     41 #endif
     42