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