1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2016 Google Inc. 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef SkSVGAttribute_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define SkSVGAttribute_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkSVGTypes.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkTLazy.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SkSVGRenderContext; 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotenum class SkSVGAttribute { 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kClipPath, 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kClipRule, 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kCx, // <circle>, <ellipse>, <radialGradient>: center x position 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kCy, // <circle>, <ellipse>, <radialGradient>: center y position 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kD, 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kFill, 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kFillOpacity, 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kFillRule, 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kFx, // <radialGradient>: focal point x position 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kFy, // <radialGradient>: focal point y position 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kGradientTransform, 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kHeight, 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kHref, 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kOffset, 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kOpacity, 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kPatternTransform, 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kPoints, 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kR, // <circle>, <radialGradient>: radius 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kRx, // <ellipse>,<rect>: horizontal (corner) radius 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kRy, // <ellipse>,<rect>: vertical (corner) radius 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kSpreadMethod, 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStopColor, 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStopOpacity, 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStroke, 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeDashArray, 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeDashOffset, 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeOpacity, 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeLineCap, 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeLineJoin, 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeMiterLimit, 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kStrokeWidth, 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kTransform, 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kViewBox, 50fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kVisibility, 51fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kWidth, 52fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kX, 53fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kX1, // <line>: first endpoint x 54fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kX2, // <line>: second endpoint x 55fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kY, 56fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kY1, // <line>: first endpoint y 57fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kY2, // <line>: second endpoint y 58fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 59fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot kUnknown, 60fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 61fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 62fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotstruct SkSVGPresentationAttributes { 63fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot static SkSVGPresentationAttributes MakeInitial(); 64fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 65fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot // TODO: SkTLazy adds an extra ptr per attribute; refactor to reduce overhead. 66fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 67fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGPaint> fFill; 68fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGNumberType> fFillOpacity; 69fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGFillRule> fFillRule; 70fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGFillRule> fClipRule; 71fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 72fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGPaint> fStroke; 73fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGDashArray> fStrokeDashArray; 74fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGLength> fStrokeDashOffset; 75fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGLineCap> fStrokeLineCap; 76fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGLineJoin> fStrokeLineJoin; 77fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGNumberType> fStrokeMiterLimit; 78fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGNumberType> fStrokeOpacity; 79fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGLength> fStrokeWidth; 80fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 81fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGVisibility> fVisibility; 82fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 83fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot // uninherited 84fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGNumberType> fOpacity; 85fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkTLazy<SkSVGClip> fClipPath; 86fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 87fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 88fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif // SkSVGAttribute_DEFINED 89