Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
modules
sksg
include
SkSGDraw.h
Go to the documentation of this file.
1
/*
2
* Copyright 2017 Google Inc.
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
#ifndef SkSGDraw_DEFINED
9
#define SkSGDraw_DEFINED
10
11
#include "
include/core/SkRect.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
modules/sksg/include/SkSGGeometryNode.h
"
14
#include "
modules/sksg/include/SkSGPaint.h
"
15
#include "
modules/sksg/include/SkSGRenderNode.h
"
16
17
#include <utility>
18
19
class
SkCanvas
;
20
class
SkMatrix
;
21
struct
SkPoint
;
22
23
namespace
sksg
{
24
class
InvalidationController;
25
26
/**
27
* Concrete rendering node.
28
*
29
* Wraps and draws a [geometry, paint] tuple.
30
*
31
* Think Skia SkCanvas::drawFoo(foo, paint) calls.
32
*/
33
class
Draw
:
public
RenderNode
{
34
public
:
35
static
sk_sp<Draw>
Make
(
sk_sp<GeometryNode>
geo,
sk_sp<PaintNode>
paint
) {
36
return
(geo &&
paint
) ?
sk_sp<Draw>
(
new
Draw
(std::move(geo), std::move(
paint
))) :
nullptr
;
37
}
38
39
protected
:
40
Draw
(
sk_sp<GeometryNode>
,
sk_sp<PaintNode>
paint
);
41
~Draw
()
override
;
42
43
void
onRender
(
SkCanvas
*,
const
RenderContext*)
const override
;
44
const
RenderNode
*
onNodeAt
(
const
SkPoint
&)
const override
;
45
46
SkRect
onRevalidate
(
InvalidationController
*,
const
SkMatrix
&)
override
;
47
48
private
:
49
sk_sp<GeometryNode>
fGeometry;
50
sk_sp<PaintNode>
fPaint;
51
52
using
INHERITED =
RenderNode
;
53
};
54
55
}
// namespace sksg
56
57
#endif
// SkSGDraw_DEFINED
SkRect.h
SkRefCnt.h
SkSGGeometryNode.h
SkSGPaint.h
SkSGRenderNode.h
SkCanvas
Definition
SkCanvas.h:106
SkMatrix
Definition
SkMatrix.h:54
sk_sp
Definition
SkRefCnt.h:220
sksg::Draw
Definition
SkSGDraw.h:33
sksg::Draw::onRevalidate
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
Definition
SkSGDraw.cpp:68
sksg::Draw::~Draw
~Draw() override
Definition
SkSGDraw.cpp:30
sksg::Draw::onRender
void onRender(SkCanvas *, const RenderContext *) const override
Definition
SkSGDraw.cpp:35
sksg::Draw::Make
static sk_sp< Draw > Make(sk_sp< GeometryNode > geo, sk_sp< PaintNode > paint)
Definition
SkSGDraw.h:35
sksg::Draw::onNodeAt
const RenderNode * onNodeAt(const SkPoint &) const override
Definition
SkSGDraw.cpp:49
sksg::InvalidationController
Definition
SkSGInvalidationController.h:24
sksg::RenderNode
Definition
SkSGRenderNode.h:34
paint
const Paint & paint
Definition
color_source.cc:38
sksg
Definition
Skottie.h:32
SkPoint
Definition
SkPoint_impl.h:163
SkRect
Definition
extension.cpp:13
Generated on Fri Apr 26 2024 06:16:23 for Flutter Engine by
1.9.8