128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita/* 228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita * Copyright 2016 Google Inc. 328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita * 428d5b72d86fdfae20dc47ba548748f119c7273e3fmalita * Use of this source code is governed by a BSD-style license that can be 528d5b72d86fdfae20dc47ba548748f119c7273e3fmalita * found in the LICENSE file. 628d5b72d86fdfae20dc47ba548748f119c7273e3fmalita */ 728d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 828d5b72d86fdfae20dc47ba548748f119c7273e3fmalita#ifndef SkSVGStop_DEFINED 928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita#define SkSVGStop_DEFINED 1028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 1128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita#include "SkSVGHiddenContainer.h" 1228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita#include "SkSVGTypes.h" 1328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 1428d5b72d86fdfae20dc47ba548748f119c7273e3fmalitaclass SkSVGLengthContext; 1528d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 1628d5b72d86fdfae20dc47ba548748f119c7273e3fmalitaclass SkSVGStop : public SkSVGHiddenContainer { 1728d5b72d86fdfae20dc47ba548748f119c7273e3fmalitapublic: 18d3b65972aad96453ff4510caa3e25a2b847c6d1eBrian Salomon ~SkSVGStop() override = default; 1928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita static sk_sp<SkSVGStop> Make() { 2028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita return sk_sp<SkSVGStop>(new SkSVGStop()); 2128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita } 2228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 2328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita const SkSVGLength& offset() const { return fOffset; } 2428d5b72d86fdfae20dc47ba548748f119c7273e3fmalita const SkSVGColorType& stopColor() const { return fStopColor; } 2528d5b72d86fdfae20dc47ba548748f119c7273e3fmalita const SkSVGNumberType& stopOpacity() const { return fStopOpacity; } 2628d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 2728d5b72d86fdfae20dc47ba548748f119c7273e3fmalita void setOffset(const SkSVGLength&); 2828d5b72d86fdfae20dc47ba548748f119c7273e3fmalita void setStopColor(const SkSVGColorType&); 2928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita void setStopOpacity(const SkSVGNumberType&); 3028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 3128d5b72d86fdfae20dc47ba548748f119c7273e3fmalitaprotected: 3228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita void onSetAttribute(SkSVGAttribute, const SkSVGValue&) override; 3328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 3428d5b72d86fdfae20dc47ba548748f119c7273e3fmalitaprivate: 3528d5b72d86fdfae20dc47ba548748f119c7273e3fmalita SkSVGStop(); 3628d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 3728d5b72d86fdfae20dc47ba548748f119c7273e3fmalita SkSVGLength fOffset = SkSVGLength(0 , SkSVGLength::Unit::kPercentage); 3828d5b72d86fdfae20dc47ba548748f119c7273e3fmalita SkSVGColorType fStopColor = SkSVGColorType(SK_ColorBLACK); 3928d5b72d86fdfae20dc47ba548748f119c7273e3fmalita SkSVGNumberType fStopOpacity = SkSVGNumberType(1); 4028d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 4128d5b72d86fdfae20dc47ba548748f119c7273e3fmalita typedef SkSVGHiddenContainer INHERITED; 4228d5b72d86fdfae20dc47ba548748f119c7273e3fmalita}; 4328d5b72d86fdfae20dc47ba548748f119c7273e3fmalita 4428d5b72d86fdfae20dc47ba548748f119c7273e3fmalita#endif // SkSVGStop_DEFINED 45