summaryrefslogtreecommitdiffstats
path: root/chromium/ui/snapshot/snapshot_win.h
blob: 351d8d898bd0b269dd4e211cd3992c76eb0e49ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Copyright 2017 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 UI_SNAPSHOT_SNAPSHOT_WIN_H_
#define UI_SNAPSHOT_SNAPSHOT_WIN_H_

#include <windows.h>

#include "ui/snapshot/snapshot_export.h"

namespace gfx {
class Image;
class Rect;
}

namespace ui {
namespace internal {

// Grabs a snapshot of the desktop. No security checks are done.  This is
// intended to be used for debugging purposes where no BrowserProcess instance
// is available (ie. tests). DO NOT use in a result of user action.
//
// snapshot_bounds_in_pixels is the area relative to clip_rect_in_pixels that
// should be captured.  Areas outside clip_rect_in_pixels are filled white.
// clip_rect_in_pixels is relative to the client area of the window.
SNAPSHOT_EXPORT bool GrabHwndSnapshot(
    HWND window_handle,
    const gfx::Rect& snapshot_bounds_in_pixels,
    const gfx::Rect& clip_rect_in_pixels,
    gfx::Image* image);

}  // namespace internal
}  // namespace ui

#endif  // UI_SNAPSHOT_SNAPSHOT_WIN_H_