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 |