aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/sksg/SkSGPaintNode.h
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-12-29 11:52:44 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-29 17:12:11 +0000
commitfa8d49adfa8d592219e9ac999c54e87969aa817d (patch)
treef464556de9280e5ae43f57b0aec07417612c9711 /experimental/sksg/SkSGPaintNode.h
parentd1e268cfa1c4d2d56ea04f09576220f3841cc0a1 (diff)
[sksg] Refactor stroke logic
Instead of a specialized node, hoist attributes to base class. TBR= Change-Id: I4fa5a24dfc899307a8603577738972ebd32f57f5 Reviewed-on: https://skia-review.googlesource.com/89903 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'experimental/sksg/SkSGPaintNode.h')
-rw-r--r--experimental/sksg/SkSGPaintNode.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/experimental/sksg/SkSGPaintNode.h b/experimental/sksg/SkSGPaintNode.h
index d0a7787bc8..534ad551ae 100644
--- a/experimental/sksg/SkSGPaintNode.h
+++ b/experimental/sksg/SkSGPaintNode.h
@@ -22,18 +22,31 @@ namespace sksg {
*/
class PaintNode : public Node {
public:
-
const SkPaint& makePaint();
+ SG_ATTRIBUTE(AntiAlias , bool , fAntiAlias )
+ SG_ATTRIBUTE(StrokeWidth, SkScalar , fStrokeWidth)
+ SG_ATTRIBUTE(StrokeMiter, SkScalar , fStrokeMiter)
+ SG_ATTRIBUTE(Style , SkPaint::Style, fStyle )
+ SG_ATTRIBUTE(StrokeJoin , SkPaint::Join , fStrokeJoin )
+ SG_ATTRIBUTE(StrokeCap , SkPaint::Cap , fStrokeCap )
+
protected:
PaintNode();
- virtual SkPaint onMakePaint() const = 0;
+ virtual void onApplyToPaint(SkPaint*) const = 0;
void onRevalidate(InvalidationController*, const SkMatrix&) override;
private:
- SkPaint fPaint;
+ SkPaint fPaint;
+
+ SkScalar fStrokeWidth = 1,
+ fStrokeMiter = 4;
+ bool fAntiAlias = false;
+ SkPaint::Style fStyle = SkPaint::kFill_Style;
+ SkPaint::Join fStrokeJoin = SkPaint::kMiter_Join;
+ SkPaint::Cap fStrokeCap = SkPaint::kButt_Cap;
typedef Node INHERITED;
};