Flutter Engine
 
Loading...
Searching...
No Matches
io_manager.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_LIB_UI_IO_MANAGER_H_
6#define FLUTTER_LIB_UI_IO_MANAGER_H_
7
11#include "third_party/skia/include/gpu/ganesh/GrDirectContext.h"
12
13namespace impeller {
14class Context;
15} // namespace impeller
16
17namespace flutter {
18// Interface for methods that manage access to the resource GrDirectContext and
19// Skia unref queue. Meant to be implemented by the owner of the resource
20// GrDirectContext, i.e. the shell's IOManager.
21class IOManager {
22 public:
23 virtual ~IOManager() = default;
24
26
28
30
31 virtual std::shared_ptr<const fml::SyncSwitch>
33
34 /// @brief Retrieve the impeller::Context.
35 ///
36 /// Call may block until context is availabe.
37 virtual std::shared_ptr<impeller::Context> GetImpellerContext() const = 0;
38};
39
40} // namespace flutter
41
42#endif // FLUTTER_LIB_UI_IO_MANAGER_H_
virtual std::shared_ptr< impeller::Context > GetImpellerContext() const =0
Retrieve the impeller::Context.
virtual fml::WeakPtr< GrDirectContext > GetResourceContext() const =0
virtual fml::RefPtr< flutter::SkiaUnrefQueue > GetSkiaUnrefQueue() const =0
virtual std::shared_ptr< const fml::SyncSwitch > GetIsGpuDisabledSyncSwitch()=0
virtual fml::WeakPtr< IOManager > GetWeakIOManager() const =0
virtual ~IOManager()=default