xref: /aosp_15_r20/external/skia/tools/skottie_ios_app/GrContextHolder.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3*c8dee2aaSAndroid Build Coastguard Worker #ifndef GrContextHolder_DEFINED
4*c8dee2aaSAndroid Build Coastguard Worker #define GrContextHolder_DEFINED
5*c8dee2aaSAndroid Build Coastguard Worker 
6*c8dee2aaSAndroid Build Coastguard Worker #include <memory>
7*c8dee2aaSAndroid Build Coastguard Worker 
8*c8dee2aaSAndroid Build Coastguard Worker class GrDirectContext;
9*c8dee2aaSAndroid Build Coastguard Worker 
10*c8dee2aaSAndroid Build Coastguard Worker // A struct to take ownership of a GrDirectContext.
11*c8dee2aaSAndroid Build Coastguard Worker struct GrContextRelease { void operator()(GrDirectContext*); };
12*c8dee2aaSAndroid Build Coastguard Worker using GrContextHolder = std::unique_ptr<GrDirectContext, GrContextRelease>;
13*c8dee2aaSAndroid Build Coastguard Worker 
14*c8dee2aaSAndroid Build Coastguard Worker // Wrapper around GrDirectContexts::MakeGL
15*c8dee2aaSAndroid Build Coastguard Worker GrContextHolder SkMakeGLContext();
16*c8dee2aaSAndroid Build Coastguard Worker 
17*c8dee2aaSAndroid Build Coastguard Worker #endif  // GrContextHolder_DEFINED
18