gfx/skia/trunk/src/utils/ios/SkStream_NSData.mm

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rwxr-xr-x

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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  */
     8 #include "SkStream_NSData.h"
    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 }
    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 }
    26 ///////////////////////////////////////////////////////////////////////////////
    28 SkStream_NSData::SkStream_NSData(NSData* data) {
    29     fNSData = data;
    30     [fNSData retain];
    32     this->setMemory([fNSData bytes], [fNSData length], false);
    33 }
    35 SkStream_NSData::~SkStream_NSData() {
    36     [fNSData release];
    37 }
    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 }

mercurial