[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 1 | // 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 | |||||
danakj | 25c52c3 | 2016-04-12 21:51:08 | [diff] [blame] | 8 | #include <memory> |
9 | |||||
avi | 9c81217b | 2015-12-24 23:40:05 | [diff] [blame] | 10 | #include "base/macros.h" |
danakj | f20f450 | 2017-09-26 17:13:31 | [diff] [blame] | 11 | #include "components/viz/common/frame_sinks/copy_output_result.h" |
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 12 | #include "ui/snapshot/snapshot.h" |
13 | |||||
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 14 | namespace gfx { |
15 | class Size; | ||||
16 | } | ||||
17 | |||||
18 | namespace ui { | ||||
19 | |||||
Fady Samuel | dfecb7d | 2017-07-26 11:41:04 | [diff] [blame] | 20 | // Helper methods for async snapshots to convert a viz::CopyOutputResult into a |
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 21 | // ui::GrabWindowSnapshot callback. |
22 | class SnapshotAsync { | ||||
23 | public: | ||||
24 | static void ScaleCopyOutputResult( | ||||
Sylvain Defresne | f2e3379 | 2019-09-30 10:47:16 | [diff] [blame] | 25 | GrabWindowSnapshotAsyncCallback callback, |
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 26 | const gfx::Size& target_size, |
Fady Samuel | dfecb7d | 2017-07-26 11:41:04 | [diff] [blame] | 27 | std::unique_ptr<viz::CopyOutputResult> result); |
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 28 | |
eseckler | 7233c1a7 | 2017-01-25 15:07:54 | [diff] [blame] | 29 | static void RunCallbackWithCopyOutputResult( |
Sylvain Defresne | f2e3379 | 2019-09-30 10:47:16 | [diff] [blame] | 30 | GrabWindowSnapshotAsyncCallback callback, |
Fady Samuel | dfecb7d | 2017-07-26 11:41:04 | [diff] [blame] | 31 | std::unique_ptr<viz::CopyOutputResult> result); |
[email protected] | 2e6f39e | 2014-05-15 19:36:36 | [diff] [blame] | 32 | |
33 | private: | ||||
34 | DISALLOW_IMPLICIT_CONSTRUCTORS(SnapshotAsync); | ||||
35 | }; | ||||
36 | |||||
37 | } // namespace ui | ||||
38 | |||||
39 | #endif // UI_SNAPSHOT_SNAPSHOT_ASYNC_H_ |