Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
gpu
graphite
PaintOptionsPriv.h
Go to the documentation of this file.
1
/*
2
* Copyright 2022 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 skgpu_graphite_PaintOptionsPriv_DEFINED
9
#define skgpu_graphite_PaintOptionsPriv_DEFINED
10
11
#include "
src/gpu/graphite/Precompile.h
"
12
13
namespace
skgpu::graphite
{
14
15
class
ShaderCodeDictionary;
16
17
/** Class that exposes methods in PaintOptions that are only intended for use internal to Skia.
18
This class is purely a privileged window into PaintOptions. It should never have additional
19
data members or virtual methods. */
20
class
PaintOptionsPriv
{
21
public
:
22
int
numCombinations
()
const
{
23
return
fPaintOptions->numCombinations();
24
}
25
26
void
buildCombinations
(
27
const
KeyContext
& keyContext,
28
PipelineDataGatherer
* gatherer,
29
DrawTypeFlags
drawTypes,
30
bool
withPrimitiveBlender,
31
Coverage
coverage,
32
const
PaintOptions::ProcessCombination
& processCombination)
const
{
33
fPaintOptions->buildCombinations(
34
keyContext, gatherer, drawTypes, withPrimitiveBlender, coverage, processCombination);
35
}
36
37
private
:
38
friend
class
PaintOptions
;
// to construct/copy this type.
39
40
explicit
PaintOptionsPriv
(
PaintOptions
* paintOptions) : fPaintOptions(paintOptions) {}
41
42
PaintOptionsPriv
& operator=(
const
PaintOptionsPriv
&) =
delete
;
43
44
// No taking addresses of this type.
45
const
PaintOptionsPriv
*
operator&
()
const
;
46
PaintOptionsPriv
*
operator&
();
47
48
PaintOptions
* fPaintOptions;
49
};
50
51
inline
PaintOptionsPriv
PaintOptions::priv
() {
return
PaintOptionsPriv
(
this
); }
52
53
// NOLINTNEXTLINE(readability-const-return-type)
54
inline
const
PaintOptionsPriv
PaintOptions::priv
()
const
{
55
return
PaintOptionsPriv
(
const_cast<
PaintOptions
*
>
(
this
));
56
}
57
58
}
// namespace skgpu::graphite
59
60
#endif
// skgpu_graphite_PaintOptionsPriv_DEFINED
Precompile.h
operator&
std::enable_if_t< sknonstd::is_bitmask_enum< E >::value, E > constexpr operator&(E l, E r)
Definition
SkBitmaskEnum.h:33
skgpu::graphite::KeyContext
Definition
KeyContext.h:29
skgpu::graphite::PaintOptionsPriv
Definition
PaintOptionsPriv.h:20
skgpu::graphite::PaintOptionsPriv::numCombinations
int numCombinations() const
Definition
PaintOptionsPriv.h:22
skgpu::graphite::PaintOptionsPriv::buildCombinations
void buildCombinations(const KeyContext &keyContext, PipelineDataGatherer *gatherer, DrawTypeFlags drawTypes, bool withPrimitiveBlender, Coverage coverage, const PaintOptions::ProcessCombination &processCombination) const
Definition
PaintOptionsPriv.h:26
skgpu::graphite::PaintOptions
Definition
Precompile.h:170
skgpu::graphite::PaintOptions::PaintOptionsPriv
friend class PaintOptionsPriv
Definition
Precompile.h:215
skgpu::graphite::PaintOptions::ProcessCombination
std::function< void(UniquePaintParamsID id, DrawTypeFlags, bool withPrimitiveBlender, Coverage)> ProcessCombination
Definition
Precompile.h:208
skgpu::graphite::PaintOptions::priv
PaintOptionsPriv priv()
Definition
PaintOptionsPriv.h:51
skgpu::graphite::PipelineDataGatherer
Definition
PipelineData.h:90
skgpu::graphite
Definition
BoundsManagerBench.cpp:27
skgpu::graphite::Coverage
Coverage
Definition
Renderer.h:43
skgpu::graphite::DrawTypeFlags
DrawTypeFlags
Definition
GraphiteTypes.h:110
Generated on Fri Apr 26 2024 06:17:18 for Flutter Engine by
1.9.8