blob: 951055a42bca34d7da6e5a55ace1147511169a3d [file] [log] [blame]
[email protected]2e6f39e2014-05-15 19:36:361// Copyright 2014 The Chromium 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 UI_SNAPSHOT_SNAPSHOT_ASYNC_H_
6#define UI_SNAPSHOT_SNAPSHOT_ASYNC_H_
7
danakj25c52c32016-04-12 21:51:088#include <memory>
9
avi9c81217b2015-12-24 23:40:0510#include "base/macros.h"
danakjf20f4502017-09-26 17:13:3111#include "components/viz/common/frame_sinks/copy_output_result.h"
[email protected]2e6f39e2014-05-15 19:36:3612#include "ui/snapshot/snapshot.h"
13
[email protected]2e6f39e2014-05-15 19:36:3614namespace gfx {
15class Size;
16}
17
18namespace ui {
19
Fady Samueldfecb7d2017-07-26 11:41:0420// Helper methods for async snapshots to convert a viz::CopyOutputResult into a
[email protected]2e6f39e2014-05-15 19:36:3621// ui::GrabWindowSnapshot callback.
22class SnapshotAsync {
23 public:
24 static void ScaleCopyOutputResult(
Sylvain Defresnef2e33792019-09-30 10:47:1625 GrabWindowSnapshotAsyncCallback callback,
[email protected]2e6f39e2014-05-15 19:36:3626 const gfx::Size& target_size,
Fady Samueldfecb7d2017-07-26 11:41:0427 std::unique_ptr<viz::CopyOutputResult> result);
[email protected]2e6f39e2014-05-15 19:36:3628
eseckler7233c1a72017-01-25 15:07:5429 static void RunCallbackWithCopyOutputResult(
Sylvain Defresnef2e33792019-09-30 10:47:1630 GrabWindowSnapshotAsyncCallback callback,
Fady Samueldfecb7d2017-07-26 11:41:0431 std::unique_ptr<viz::CopyOutputResult> result);
[email protected]2e6f39e2014-05-15 19:36:3632
33 private:
34 DISALLOW_IMPLICIT_CONSTRUCTORS(SnapshotAsync);
35};
36
37} // namespace ui
38
39#endif // UI_SNAPSHOT_SNAPSHOT_ASYNC_H_