11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVG.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include 'SkSVGParser.h" 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkSVG::SkSVG() { 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkSVG::~SkSVG() { 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkSVG::decodeStream(SkStream* stream); 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project{ 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project size_t size = stream->read(nil, 0); 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkAutoMalloc storage(size); 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project char* data = (char*)storage.get(); 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project size_t actual = stream->read(data, size); 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkASSERT(size == actual); 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkSVGParser parser(*fMaker); 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return parser.parse(data, actual, &fErrorCode, &fErrorLineNumber); 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 29