Flutter Engine
The Flutter Engine
third_party
skia
src
gpu
ganesh
GrTextureProxyCacheAccess.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 GrTextureProxyCacheAccess_DEFINED
9
#define GrTextureProxyCacheAccess_DEFINED
10
11
#include "
src/gpu/ganesh/GrTextureProxy.h
"
12
13
/**
14
* This class allows GrResourceCache increased privileged access to GrTextureProxy objects.
15
*/
16
class
GrTextureProxy::CacheAccess
{
17
private
:
18
void
setUniqueKey(
GrProxyProvider
* proxyProvider,
const
skgpu::UniqueKey
&
key
) {
19
fTextureProxy->setUniqueKey(proxyProvider,
key
);
20
}
21
22
void
clearUniqueKey() {
23
fTextureProxy->clearUniqueKey();
24
}
25
26
explicit
CacheAccess
(
GrTextureProxy
* textureProxy) : fTextureProxy(textureProxy) {}
27
CacheAccess
& operator=(
const
CacheAccess
&) =
delete
;
28
29
// No taking addresses of this type.
30
const
CacheAccess
* operator&()
const
;
31
CacheAccess
* operator&();
32
33
GrTextureProxy
* fTextureProxy;
34
35
friend
class
GrTextureProxy
;
// to construct/copy this type.
36
friend
class
GrProxyProvider
;
// to use this type
37
};
38
39
inline
GrTextureProxy::CacheAccess
GrTextureProxy::cacheAccess
() {
return
CacheAccess
(
this
); }
40
41
inline
const
GrTextureProxy::CacheAccess
GrTextureProxy::cacheAccess
()
const
{
// NOLINT(readability-const-return-type)
42
return
CacheAccess
(
const_cast<
GrTextureProxy
*
>
(
this
));
43
}
44
45
#endif
GrTextureProxy.h
GrProxyProvider
Definition:
GrProxyProvider.h:28
GrTextureProxy::CacheAccess
Definition:
GrTextureProxyCacheAccess.h:16
GrTextureProxy
Definition:
GrTextureProxy.h:34
GrTextureProxy::cacheAccess
CacheAccess cacheAccess()
Definition:
GrTextureProxyCacheAccess.h:39
skgpu::UniqueKey
Definition:
ResourceKey.h:241
key
int key
Definition:
keyboard_key_handler_unittests.cc:114
Generated on Sun Jun 23 2024 21:56:21 for Flutter Engine by
1.9.4