blob: 351d8d898bd0b269dd4e211cd3992c76eb0e49ad [file] [log] [blame]
// 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_