Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
core
SkRecordedDrawable.h
Go to the documentation of this file.
1
/*
2
* Copyright 2016 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
#ifndef SkRecordedDrawable_DEFINED
8
#define SkRecordedDrawable_DEFINED
9
10
#include "
include/core/SkBBHFactory.h
"
11
#include "
include/core/SkDrawable.h
"
12
#include "
include/core/SkFlattenable.h
"
13
#include "
include/core/SkRect.h
"
14
#include "
include/core/SkRefCnt.h
"
15
#include "
src/core/SkRecord.h
"
16
#include "
src/core/SkRecorder.h
"
17
18
#include <cstddef>
19
#include <memory>
20
#include <utility>
21
22
class
SkCanvas
;
23
class
SkPicture
;
24
class
SkReadBuffer
;
25
class
SkWriteBuffer
;
26
27
class
SkRecordedDrawable
:
public
SkDrawable
{
28
public
:
29
SkRecordedDrawable
(
sk_sp<SkRecord>
record,
sk_sp<SkBBoxHierarchy>
bbh,
30
std::unique_ptr<SkDrawableList> drawableList,
const
SkRect
& bounds)
31
: fRecord(
std
::move(record))
32
, fBBH(
std
::move(bbh))
33
, fDrawableList(
std
::move(drawableList))
34
, fBounds(bounds)
35
{}
36
37
void
flatten
(
SkWriteBuffer
&
buffer
)
const override
;
38
39
protected
:
40
SkRect
onGetBounds
()
override
{
return
fBounds; }
41
size_t
onApproximateBytesUsed
()
override
;
42
43
void
onDraw
(
SkCanvas
* canvas)
override
;
44
45
sk_sp<SkPicture>
onMakePictureSnapshot
()
override
;
46
47
private
:
48
SK_FLATTENABLE_HOOKS
(
SkRecordedDrawable
)
49
50
sk_sp<SkRecord>
fRecord;
51
sk_sp<SkBBoxHierarchy>
fBBH;
52
std::unique_ptr<SkDrawableList> fDrawableList;
53
const
SkRect
fBounds;
54
};
55
#endif
// SkRecordedDrawable_DEFINED
SkBBHFactory.h
SkDrawable.h
SkFlattenable.h
SK_FLATTENABLE_HOOKS
#define SK_FLATTENABLE_HOOKS(type)
Definition
SkFlattenable.h:108
SkRecord.h
SkRecorder.h
SkRect.h
SkRefCnt.h
SkCanvas
Definition
SkCanvas.h:106
SkDrawable
Definition
SkDrawable.h:37
SkPicture
Definition
SkPicture.h:44
SkReadBuffer
Definition
SkReadBuffer.h:52
SkRecordedDrawable
Definition
SkRecordedDrawable.h:27
SkRecordedDrawable::onGetBounds
SkRect onGetBounds() override
Definition
SkRecordedDrawable.h:40
SkRecordedDrawable::onMakePictureSnapshot
sk_sp< SkPicture > onMakePictureSnapshot() override
Definition
SkRecordedDrawable.cpp:46
SkRecordedDrawable::onDraw
void onDraw(SkCanvas *canvas) override
Definition
SkRecordedDrawable.cpp:36
SkRecordedDrawable::SkRecordedDrawable
SkRecordedDrawable(sk_sp< SkRecord > record, sk_sp< SkBBoxHierarchy > bbh, std::unique_ptr< SkDrawableList > drawableList, const SkRect &bounds)
Definition
SkRecordedDrawable.h:29
SkRecordedDrawable::onApproximateBytesUsed
size_t onApproximateBytesUsed() override
Definition
SkRecordedDrawable.cpp:23
SkRecordedDrawable::flatten
void flatten(SkWriteBuffer &buffer) const override
Definition
SkRecordedDrawable.cpp:60
SkWriteBuffer
Definition
SkWriteBuffer.h:41
sk_sp
Definition
SkRefCnt.h:220
buffer
static const uint8_t buffer[]
Definition
fl_pixel_buffer_texture_test.cc:44
std
Definition
ref_ptr.h:256
SkRect
Definition
extension.cpp:13
Generated on Fri Apr 26 2024 06:16:47 for Flutter Engine by
1.9.8