platform_view_linux.h 1.1 KB
Newer Older
1 2 3 4 5 6 7
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SKY_SHELL_PLATFORM_LINUX_PLATFORM_VIEW_LINUX_H_
#define SKY_SHELL_PLATFORM_LINUX_PLATFORM_VIEW_LINUX_H_

8
#include "flutter/sky/shell/platform_view.h"
9 10 11 12 13 14

namespace sky {
namespace shell {

class PlatformViewLinux : public PlatformView {
 public:
15 16
  explicit PlatformViewLinux(const Config& config,
                             SurfaceConfig surface_config);
17 18 19 20

  ~PlatformViewLinux() override;

  // sky::shell::PlatformView override
21
  ftl::WeakPtr<PlatformView> GetWeakViewPtr() override;
22 23 24 25 26 27 28 29 30 31 32

  // sky::shell::PlatformView override
  uint64_t DefaultFramebuffer() const override;

  // sky::shell::PlatformView override
  bool ContextMakeCurrent() override;

  // sky::shell::PlatformView override
  bool SwapBuffers() override;

 private:
33
  ftl::WeakPtrFactory<PlatformViewLinux> weak_factory_;
34

35
  FTL_DISALLOW_COPY_AND_ASSIGN(PlatformViewLinux);
36 37 38 39 40 41
};

}  // namespace shell
}  // namespace sky

#endif  // SKY_SHELL_PLATFORM_LINUX_PLATFORM_VIEW_LINUX_H_