Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1966)

Unified Diff: chrome/browser/views/tabs/native_view_photobooth.h

Issue 115475: Refactors HWNDPhotobooth into NativeViewPhotobooth and... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_
« no previous file with comments | « chrome/browser/views/tabs/hwnd_photobooth.cc ('k') | chrome/browser/views/tabs/native_view_photobooth_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698