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 "SkSVGGroup.h"
110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGParser.h"
120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkSVGGroup::SkSVGGroup() {
140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    fIsNotDef = false;
150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkSVGElement* SkSVGGroup::getGradient() {
180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    for (SkSVGElement** ptr = fChildren.begin(); ptr < fChildren.end(); ptr++) {
190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        SkSVGElement* result = (*ptr)->getGradient();
200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        if (result != NULL)
210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project            return result;
220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    }
230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return NULL;
240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkSVGGroup::isDef() {
270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return fParent ? fParent->isDef() : false;
280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkSVGGroup::isFlushable() {
310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return false;
320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkSVGGroup::isGroup() {
350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return true;
360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkSVGGroup::isNotDef() {
390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return fParent ? fParent->isNotDef() : false;
400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkSVGGroup::translate(SkSVGParser& parser, bool defState) {
430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    for (SkSVGElement** ptr = fChildren.begin(); ptr < fChildren.end(); ptr++)
440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        parser.translate(*ptr, defState);
450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
46