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