| Index: chrome/browser/views/tabs/native_view_photobooth.h
|
| ===================================================================
|
| --- chrome/browser/views/tabs/native_view_photobooth.h (revision 16306)
|
| +++ chrome/browser/views/tabs/native_view_photobooth.h (working copy)
|
| @@ -2,62 +2,42 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_VIEWS_TABS_HWND_PHOTOBOOTH_H__
|
| -#define CHROME_BROWSER_VIEWS_TABS_HWND_PHOTOBOOTH_H__
|
| +#ifndef CHROME_BROWSER_VIEWS_TABS_NATIVE_VIEW_PHOTOBOOTH_H_
|
| +#define CHROME_BROWSER_VIEWS_TABS_NATIVE_VIEW_PHOTOBOOTH_H_
|
|
|
| -#include "base/basictypes.h"
|
| -#include "base/gfx/rect.h"
|
| +#include "base/gfx/native_widget_types.h"
|
|
|
| namespace gfx {
|
| class Canvas;
|
| +class Rect;
|
| }
|
| -namespace views {
|
| -class WidgetWin;
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| -// HWNDPhotobooth
|
| +// NativeViewPhotobooth
|
| //
|
| -// An object that a HWND "steps into" to have its picture taken. This is used
|
| -// to generate a full size screen shot of the contents of a HWND including
|
| -// any child windows.
|
| +// An object that a NativeView "steps into" to have its picture taken. This is
|
| +// used to generate a full size screen shot of the contents of a NativeView
|
| +// including any child windows.
|
| //
|
| -// Implementation note: This causes the HWND to be re-parented to a mostly
|
| -// off-screen layered window.
|
| +// Implementation note: This causes the NativeView to be re-parented to a
|
| +// mostly off-screen layered window.
|
| //
|
| -class HWNDPhotobooth {
|
| +class NativeViewPhotobooth {
|
| public:
|
| // Creates the photo booth. Constructs a nearly off-screen window, parents
|
| - // the HWND, then shows it. The caller is responsible for destroying this
|
| - // window, since the photo-booth will detach it before it is destroyed.
|
| - // |canvas| is a canvas to paint the contents into, and dest_bounds is the
|
| - // target area in |canvas| to which painted contents will be clipped.
|
| - explicit HWNDPhotobooth(HWND initial_hwnd);
|
| + // the view, then shows it. The caller is responsible for destroying this
|
| + // photo-booth, since the photo-booth will detach it before it is destroyed.
|
| + static NativeViewPhotobooth* Create(gfx::NativeView initial_view);
|
|
|
| // Destroys the photo booth window.
|
| - virtual ~HWNDPhotobooth();
|
| + virtual ~NativeViewPhotobooth() {}
|
|
|
| - // Replaces the HWND in the photo booth with the specified one. The caller is
|
| - // responsible for destroying this HWND since it will be detached from the
|
| - // capture window before the capture window is destroyed.
|
| - void ReplaceHWND(HWND new_hwnd);
|
| + // Replaces the view in the photo booth with the specified one.
|
| + virtual void Replace(gfx::NativeView new_view) = 0;
|
|
|
| // Paints the current display image of the window into |canvas|, clipped to
|
| // |target_bounds|.
|
| - void PaintScreenshotIntoCanvas(gfx::Canvas* canvas,
|
| - const gfx::Rect& target_bounds);
|
| -
|
| - private:
|
| - // Creates a mostly off-screen window to contain the HWND to be captured.
|
| - void CreateCaptureWindow(HWND initial_hwnd);
|
| -
|
| - // The nearly off-screen photo-booth layered window used to hold the HWND.
|
| - views::WidgetWin* capture_window_;
|
| -
|
| - // The current HWND being captured.
|
| - HWND current_hwnd_;
|
| -
|
| - DISALLOW_EVIL_CONSTRUCTORS(HWNDPhotobooth);
|
| + virtual void PaintScreenshotIntoCanvas(gfx::Canvas* canvas,
|
| + const gfx::Rect& target_bounds) = 0;
|
| };
|
|
|
| -#endif // #ifndef CHROME_BROWSER_VIEWS_TABS_HWND_PHOTOBOOTH_H__
|
| +#endif // #ifndef CHROME_BROWSER_VIEWS_TABS_NATIVE_VIEW_PHOTOBOOTH_H_
|
|
|