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

Unified Diff: views/controls/native/native_view_host_win.h

Issue 114059: Refactors HWNDView, NativeViewHostGtk and NativeViewHost so that they match t... (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
« no previous file with comments | « views/controls/native/native_view_host_gtk.cc ('k') | views/controls/native/native_view_host_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/controls/native/native_view_host_win.h
===================================================================
--- views/controls/native/native_view_host_win.h (revision 0)
+++ views/controls/native/native_view_host_win.h (working copy)
@@ -5,60 +5,40 @@
#ifndef VIEWS_CONTROLS_HWND_VIEW_H_
#define VIEWS_CONTROLS_HWND_VIEW_H_
-#include <string>
+#include "base/logging.h"
+#include "views/controls/native/native_view_host_wrapper.h"
-#include "views/controls/native_view_host.h"
-
namespace views {
-/////////////////////////////////////////////////////////////////////////////
-//
-// HWNDView class
-//
-// The HWNDView class hosts a native window handle (HWND) sizing it
-// according to the bounds of the view. This is useful whenever you need to
-// show a UI control that has a HWND (e.g. a native windows Edit control)
-// within thew View hierarchy and benefit from the sizing/layout.
-//
-/////////////////////////////////////////////////////////////////////////////
-// TODO: Rename this to NativeViewHostWin.
-class HWNDView : public NativeViewHost {
+class NativeViewHost;
+
+// A Windows implementation of NativeViewHostWrapper
+class NativeViewHostWin : public NativeViewHostWrapper {
public:
- HWNDView();
- virtual ~HWNDView();
+ explicit NativeViewHostWin(NativeViewHost* host);
+ virtual ~NativeViewHostWin();
- // Attach a window handle to this View, making the window it represents
- // subject to sizing according to this View's parent container's Layout
- // Manager's sizing heuristics.
- //
- // This object should be added to the view hierarchy before calling this
- // function, which will expect the parent to be valid.
- void Attach(HWND hwnd);
-
- // Detach the attached window handle. It will no longer be updated
- void Detach();
-
- // TODO(sky): convert this to native_view().
- HWND GetHWND() const { return native_view(); }
-
- virtual void Paint(gfx::Canvas* canvas);
-
- // Overridden from View.
- virtual std::string GetClassName() const;
-
- protected:
- virtual void ViewHierarchyChanged(bool is_add, View *parent, View *child);
-
- virtual void Focus();
-
- // NativeHostView overrides.
+ // Overridden from NativeViewHostWrapper:
+ virtual void NativeViewAttached();
+ virtual void NativeViewDetaching();
+ virtual void AddedToWidget();
+ virtual void RemovedFromWidget();
virtual void InstallClip(int x, int y, int w, int h);
+ virtual bool HasInstalledClip();
virtual void UninstallClip();
virtual void ShowWidget(int x, int y, int w, int h);
virtual void HideWidget();
+ virtual void SetFocus();
private:
- DISALLOW_COPY_AND_ASSIGN(HWNDView);
+ // Our associated NativeViewHost.
+ NativeViewHost* host_;
+
+ // Have we installed a region on the gfx::NativeView used to clip to only the
+ // visible portion of the gfx::NativeView ?
+ bool installed_clip_;
+
+ DISALLOW_COPY_AND_ASSIGN(NativeViewHostWin);
};
} // namespace views
« no previous file with comments | « views/controls/native/native_view_host_gtk.cc ('k') | views/controls/native/native_view_host_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698