1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkSVGGroup.h"
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkSVGParser.h"
128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comSkSVGGroup::SkSVGGroup() {
148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    fIsNotDef = false;
158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comSkSVGElement* SkSVGGroup::getGradient() {
188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    for (SkSVGElement** ptr = fChildren.begin(); ptr < fChildren.end(); ptr++) {
198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        SkSVGElement* result = (*ptr)->getGradient();
208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        if (result != NULL)
218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com            return result;
228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    }
238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    return NULL;
248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.combool SkSVGGroup::isDef() {
278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    return fParent ? fParent->isDef() : false;
288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.combool SkSVGGroup::isFlushable() {
318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    return false;
328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.combool SkSVGGroup::isGroup() {
358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    return true;
368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.combool SkSVGGroup::isNotDef() {
398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    return fParent ? fParent->isNotDef() : false;
408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid SkSVGGroup::translate(SkSVGParser& parser, bool defState) {
438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    for (SkSVGElement** ptr = fChildren.begin(); ptr < fChildren.end(); ptr++)
448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com        parser.translate(*ptr, defState);
458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
46