118df7cf62
- Consolidate Skottie logic into SkottieViewController class that no longer knows about which backend we use. - Abstract out SkiaViewController interdace which SkottieViewController implements. - Create three classes SkiaGLView, SkiaUIView, and SkiaMtkView, which all accept SkiaViewController objects but override GLKView, UIView, and MTKView. - SkAnimationDraw and SkTimeKeeper now SkiaViewController implementation details, no longer shared in headers. Cq-Include-Trybots: skia/skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal Cq-Include-Trybots: skia/skia.primary:Build-Mac-Clang-arm64-Debug-iOS Change-Id: I96ff2911d63da7d5327c81f91996b2a1b12c4419 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261178 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
17 lines
514 B
C++
17 lines
514 B
C++
// Copyright 2019 Google LLC.
|
|
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
|
|
#ifndef GrContextHolder_DEFINED
|
|
#define GrContextHolder_DEFINED
|
|
|
|
#include <memory>
|
|
|
|
class GrContext;
|
|
|
|
// A struct to take ownership of a GrContext.
|
|
struct GrContextRelease { void operator()(GrContext*); };
|
|
using GrContextHolder = std::unique_ptr<GrContext, GrContextRelease>;
|
|
|
|
// Wrapper around GrContext::MakeGL
|
|
GrContextHolder SkMakeGLContext();
|
|
#endif // GrContextHolder_DEFINED
|