skia2/experimental/sksg/SkSGRenderNode.h

37 lines
636 B
C
Raw Normal View History

/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkSGRenderNode_DEFINED
#define SkSGRenderNode_DEFINED
#include "SkSGNode.h"
class SkCanvas;
namespace sksg {
/**
* Base class for nodes which can render to a canvas.
*/
class RenderNode : public Node {
public:
// Render the node and its descendants to the canvas.
void render(SkCanvas*) const;
protected:
RenderNode();
virtual void onRender(SkCanvas*) const = 0;
private:
typedef Node INHERITED;
};
} // namespace sksg
#endif // SkSGRenderNode_DEFINED