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

Unified Diff: views/widget/widget_win.cc

Issue 6623025: Make more methods on Widget non-virtual and move to NativeWidget... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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/widget/widget_win.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/widget/widget_win.cc
===================================================================
--- views/widget/widget_win.cc (revision 76963)
+++ views/widget/widget_win.cc (working copy)
@@ -211,6 +211,82 @@
Init(parent->GetNativeView(), bounds);
}
+gfx::NativeView WidgetWin::GetNativeView() const {
+ return WindowImpl::hwnd();
+}
+
+void WidgetWin::GenerateMousePressedForView(View* view,
+ const gfx::Point& point) {
+ gfx::Point point_in_widget(point);
+ View::ConvertPointToWidget(view, &point_in_widget);
+ GetRootView()->SetMouseHandler(view);
+ ProcessMousePressed(point_in_widget.ToPOINT(), MK_LBUTTON, false, false);
+}
+
+bool WidgetWin::GetAccelerator(int cmd_id, ui::Accelerator* accelerator) {
+ return false;
+}
+
+Window* WidgetWin::GetWindow() {
+ return GetWindowImpl(hwnd());
+}
+
+const Window* WidgetWin::GetWindow() const {
+ return GetWindowImpl(hwnd());
+}
+
+void WidgetWin::ViewHierarchyChanged(bool is_add, View* parent,
+ View* child) {
+ Widget::ViewHierarchyChanged(is_add, parent, child);
+ if (drop_target_.get())
+ drop_target_->ResetTargetViewIfEquals(child);
+
+ if (!is_add)
+ ClearAccessibilityViewEvent(child);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// WidgetWin, NativeWidget implementation:
+
+Widget* WidgetWin::GetWidget() {
+ return this;
+}
+
+void WidgetWin::SetNativeWindowProperty(const char* name, void* value) {
+ // Remove the existing property (if any).
+ for (ViewProps::iterator i = props_.begin(); i != props_.end(); ++i) {
+ if ((*i)->Key() == name) {
+ props_.erase(i);
+ break;
+ }
+ }
+
+ if (value)
+ props_.push_back(new ViewProp(hwnd(), name, value));
+}
+
+void* WidgetWin::GetNativeWindowProperty(const char* name) {
+ return ViewProp::GetValue(hwnd(), name);
+}
+
+TooltipManager* WidgetWin::GetTooltipManager() const {
+ return tooltip_manager_.get();
+}
+
+gfx::Rect WidgetWin::GetWindowScreenBounds() const {
+ RECT r;
+ GetWindowRect(&r);
+ return gfx::Rect(r);
+}
+
+gfx::Rect WidgetWin::GetClientAreaScreenBounds() const {
+ RECT r;
+ GetClientRect(&r);
+ POINT point = { r.left, r.top };
+ ClientToScreen(hwnd(), &point);
+ return gfx::Rect(point.x, point.y, r.right - r.left, r.bottom - r.top);
+}
+
void WidgetWin::SetBounds(const gfx::Rect& bounds) {
LONG style = GetWindowLong(GWL_STYLE);
if (style & WS_MAXIMIZE)
@@ -220,9 +296,8 @@
}
void WidgetWin::MoveAbove(Widget* other) {
- gfx::Rect bounds = GetClientAreaScreenBounds();
- SetWindowPos(other->GetNativeView(), bounds.x(), bounds.y(),
- bounds.width(), bounds.height(), SWP_NOACTIVATE);
+ SetWindowPos(other->GetNativeView(), 0, 0, 0, 0,
+ SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
}
void WidgetWin::SetShape(gfx::NativeRegion region) {
@@ -273,10 +348,6 @@
}
}
-gfx::NativeView WidgetWin::GetNativeView() const {
- return WindowImpl::hwnd();
-}
-
void WidgetWin::SetOpacity(unsigned char opacity) {
layered_alpha_ = static_cast<BYTE>(opacity);
}
@@ -300,78 +371,6 @@
return screen_reader_active_;
}
-void WidgetWin::GenerateMousePressedForView(View* view,
- const gfx::Point& point) {
- gfx::Point point_in_widget(point);
- View::ConvertPointToWidget(view, &point_in_widget);
- GetRootView()->SetMouseHandler(view);
- ProcessMousePressed(point_in_widget.ToPOINT(), MK_LBUTTON, false, false);
-}
-
-bool WidgetWin::GetAccelerator(int cmd_id, ui::Accelerator* accelerator) {
- return false;
-}
-
-Window* WidgetWin::GetWindow() {
- return GetWindowImpl(hwnd());
-}
-
-const Window* WidgetWin::GetWindow() const {
- return GetWindowImpl(hwnd());
-}
-
-void WidgetWin::ViewHierarchyChanged(bool is_add, View* parent,
- View* child) {
- Widget::ViewHierarchyChanged(is_add, parent, child);
- if (drop_target_.get())
- drop_target_->ResetTargetViewIfEquals(child);
-
- if (!is_add)
- ClearAccessibilityViewEvent(child);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// WidgetWin, NativeWidget implementation:
-
-Widget* WidgetWin::GetWidget() {
- return this;
-}
-
-void WidgetWin::SetNativeWindowProperty(const char* name, void* value) {
- // Remove the existing property (if any).
- for (ViewProps::iterator i = props_.begin(); i != props_.end(); ++i) {
- if ((*i)->Key() == name) {
- props_.erase(i);
- break;
- }
- }
-
- if (value)
- props_.push_back(new ViewProp(hwnd(), name, value));
-}
-
-void* WidgetWin::GetNativeWindowProperty(const char* name) {
- return ViewProp::GetValue(hwnd(), name);
-}
-
-TooltipManager* WidgetWin::GetTooltipManager() const {
- return tooltip_manager_.get();
-}
-
-gfx::Rect WidgetWin::GetWindowScreenBounds() const {
- RECT r;
- GetWindowRect(&r);
- return gfx::Rect(r);
-}
-
-gfx::Rect WidgetWin::GetClientAreaScreenBounds() const {
- RECT r;
- GetClientRect(&r);
- POINT point = { r.left, r.top };
- ClientToScreen(hwnd(), &point);
- return gfx::Rect(point.x, point.y, r.right - r.left, r.bottom - r.top);
-}
-
bool WidgetWin::ContainsNativeView(gfx::NativeView native_view) const {
if (hwnd() == native_view)
return true;
« no previous file with comments | « views/widget/widget_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698