Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
tools
viewer
SkSLSlide.h
Go to the documentation of this file.
1
/*
2
* Copyright 2019 Google LLC
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 SkSLSlide_DEFINED
9
#define SkSLSlide_DEFINED
10
11
#include "
include/core/SkM44.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
include/core/SkScalar.h
"
14
#include "
include/core/SkShader.h
"
15
#include "
include/core/SkString.h
"
16
#include "
include/effects/SkRuntimeEffect.h
"
17
#include "
include/private/base/SkTArray.h
"
18
#include "
include/private/base/SkTemplates.h
"
19
#include "
tools/viewer/Slide.h
"
20
21
#include <utility>
22
23
class
SkCanvas
;
24
25
namespace
skui
{
26
enum class
InputState
;
27
enum class
ModifierKey
;
28
}
// namespace sk
29
30
class
SkSLSlide
:
public
Slide
{
31
public
:
32
SkSLSlide
();
33
34
void
draw
(
SkCanvas
* canvas)
override
;
35
bool
animate
(
double
nanos)
override
;
36
37
void
resize
(
SkScalar
winWidth,
SkScalar
winHeight)
override
{
38
fResolution = { winWidth, winHeight, 1.0f };
39
}
40
void
load
(
SkScalar
winWidth,
SkScalar
winHeight)
override
;
41
void
unload
()
override
;
42
43
bool
onMouse
(
SkScalar
x
,
SkScalar
y
,
skui::InputState
state
,
44
skui::ModifierKey
modifiers)
override
{
return
true
; }
45
46
private
:
47
bool
rebuild();
48
49
SkString
fSkSL;
50
bool
fCodeIsDirty;
51
sk_sp<SkRuntimeEffect>
fEffect;
52
skia_private::AutoTMalloc<char>
fInputs;
53
skia_private::TArray<sk_sp<SkShader>
> fChildren;
54
float
fSeconds = 0.0f;
55
56
enum
Geometry {
57
kFill,
58
kCircle,
59
kRoundRect,
60
kCapsule,
61
kText,
62
};
63
int
fGeometry = kFill;
64
SkV3
fResolution = { 1, 1, 1 };
65
SkV4
fMousePos;
66
int
fTraceCoord[2] = {64, 64};
67
bool
fShadertoyUniforms =
true
;
68
69
// Named shaders that can be selected as inputs
70
skia_private::TArray<std::pair<const char*, sk_sp<SkShader>
>> fShaders;
71
};
72
73
#endif
SkM44.h
SkRefCnt.h
SkRuntimeEffect.h
SkScalar.h
SkShader.h
SkString.h
SkTArray.h
SkTemplates.h
Slide.h
SkCanvas
Definition
SkCanvas.h:106
SkSLSlide
Definition
SkSLSlide.h:30
SkSLSlide::unload
void unload() override
Definition
SkSLSlide.cpp:97
SkSLSlide::resize
void resize(SkScalar winWidth, SkScalar winHeight) override
Definition
SkSLSlide.h:37
SkSLSlide::SkSLSlide
SkSLSlide()
Definition
SkSLSlide.cpp:57
SkSLSlide::onMouse
bool onMouse(SkScalar x, SkScalar y, skui::InputState state, skui::ModifierKey modifiers) override
Definition
SkSLSlide.h:43
SkSLSlide::animate
bool animate(double nanos) override
Definition
SkSLSlide.cpp:350
SkSLSlide::load
void load(SkScalar winWidth, SkScalar winHeight) override
Definition
SkSLSlide.cpp:72
SkSLSlide::draw
void draw(SkCanvas *canvas) override
Definition
SkSLSlide.cpp:146
SkString
Definition
SkString.h:118
Slide
Definition
Slide.h:29
sk_sp
Definition
SkRefCnt.h:220
skia_private::AutoTMalloc
Definition
SkTemplates.h:278
skia_private::TArray
Definition
SkTArray.h:40
SkScalar
float SkScalar
Definition
extension.cpp:12
state
AtkStateType state
Definition
fl_accessible_node.cc:10
y
double y
Definition
mouse-input-test.cc:83
x
double x
Definition
mouse-input-test.cc:82
skui
Definition
TextEditor.h:27
skui::InputState
InputState
Definition
InputState.h:6
skui::ModifierKey
ModifierKey
Definition
ModifierKey.h:9
SkV3
Definition
SkM44.h:56
SkV4
Definition
SkM44.h:98
Generated on Fri Apr 26 2024 06:18:15 for Flutter Engine by
1.9.8