skia2/experimental/svg/model/SkSVGRenderContext.h
fmalita 6ceef3dd67 Initial SVG model
A minimal subset needed to render tiger.svg: <svg>, <g>, <path>, 'd', 'fill'/'stroke' (color-only), 'transform'.

R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164193002

Review-Url: https://codereview.chromium.org/2164193002
2016-07-26 18:46:34 -07:00

37 lines
837 B
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkSVGRenderContext_DEFINED
#define SkSVGRenderContext_DEFINED
#include "SkPaint.h"
#include "SkTLazy.h"
class SkPaint;
class SkSVGRenderContext {
public:
SkSVGRenderContext();
SkSVGRenderContext(const SkSVGRenderContext&) = default;
SkSVGRenderContext& operator=(const SkSVGRenderContext&);
const SkPaint* fillPaint() const { return fFill.getMaybeNull(); }
const SkPaint* strokePaint() const { return fStroke.getMaybeNull(); }
void setFillColor(SkColor);
void setStrokeColor(SkColor);
private:
SkPaint& ensureFill();
SkPaint& ensureStroke();
SkTLazy<SkPaint> fFill;
SkTLazy<SkPaint> fStroke;
};
#endif // SkSVGRenderContext_DEFINED