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

Side by Side Diff: views/window/window_win.cc

Issue 6880201: Scrap WNDCLASSEX.hCursor, update GetCursorForPoint, etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use brace style struct init for WNDCLASSEX |class_ex|, fix comment. Created 9 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « views/window/window_win.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/window/window_win.h" 5 #include "views/window/window_win.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 ~ScopedRedrawLock() { 224 ~ScopedRedrawLock() {
225 window_->UnlockUpdates(); 225 window_->UnlockUpdates();
226 } 226 }
227 227
228 private: 228 private:
229 // The window having its style changed. 229 // The window having its style changed.
230 WindowWin* window_; 230 WindowWin* window_;
231 }; 231 };
232 232
233 HCURSOR WindowWin::resize_cursors_[6];
234
235 //////////////////////////////////////////////////////////////////////////////// 233 ////////////////////////////////////////////////////////////////////////////////
236 // WindowWin, public: 234 // WindowWin, public:
237 235
238 WindowWin::~WindowWin() { 236 WindowWin::~WindowWin() {
239 } 237 }
240 238
241 // static 239 // static
242 Window* Window::CreateChromeWindow(gfx::NativeWindow parent, 240 Window* Window::CreateChromeWindow(gfx::NativeWindow parent,
243 const gfx::Rect& bounds, 241 const gfx::Rect& bounds,
244 WindowDelegate* window_delegate) { 242 WindowDelegate* window_delegate) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 lock_updates_(false), 307 lock_updates_(false),
310 saved_window_style_(0), 308 saved_window_style_(0),
311 ignore_window_pos_changes_(false), 309 ignore_window_pos_changes_(false),
312 ignore_pos_changes_factory_(this), 310 ignore_pos_changes_factory_(this),
313 force_hidden_count_(0), 311 force_hidden_count_(0),
314 is_right_mouse_pressed_on_caption_(false), 312 is_right_mouse_pressed_on_caption_(false),
315 last_monitor_(NULL), 313 last_monitor_(NULL),
316 is_in_size_move_(false) { 314 is_in_size_move_(false) {
317 SetNativeWindow(this); 315 SetNativeWindow(this);
318 is_window_ = true; 316 is_window_ = true;
319 InitClass();
320 // Initialize these values to 0 so that subclasses can override the default 317 // Initialize these values to 0 so that subclasses can override the default
321 // behavior before calling Init. 318 // behavior before calling Init.
322 set_window_style(0); 319 set_window_style(0);
323 set_window_ex_style(0); 320 set_window_ex_style(0);
324 } 321 }
325 322
326 gfx::Insets WindowWin::GetClientAreaInsets() const { 323 gfx::Insets WindowWin::GetClientAreaInsets() const {
327 // Returning an empty Insets object causes the default handling in 324 // Returning an empty Insets object causes the default handling in
328 // WidgetWin::OnNCCalcSize() to be invoked. 325 // WidgetWin::OnNCCalcSize() to be invoked.
329 if (delegate_->IsUsingNativeFrame()) 326 if (delegate_->IsUsingNativeFrame())
(...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 // it from doing so. 1332 // it from doing so.
1336 ScopedRedrawLock lock(this); 1333 ScopedRedrawLock lock(this);
1337 return DefWindowProc(GetNativeView(), WM_NCACTIVATE, active, 0); 1334 return DefWindowProc(GetNativeView(), WM_NCACTIVATE, active, 0);
1338 } 1335 }
1339 1336
1340 void WindowWin::ExecuteSystemMenuCommand(int command) { 1337 void WindowWin::ExecuteSystemMenuCommand(int command) {
1341 if (command) 1338 if (command)
1342 SendMessage(GetNativeView(), WM_SYSCOMMAND, command, 0); 1339 SendMessage(GetNativeView(), WM_SYSCOMMAND, command, 0);
1343 } 1340 }
1344 1341
1345 void WindowWin::InitClass() {
1346 static bool initialized = false;
1347 if (!initialized) {
1348 resize_cursors_[RC_NORMAL] = LoadCursor(NULL, IDC_ARROW);
1349 resize_cursors_[RC_VERTICAL] = LoadCursor(NULL, IDC_SIZENS);
1350 resize_cursors_[RC_HORIZONTAL] = LoadCursor(NULL, IDC_SIZEWE);
1351 resize_cursors_[RC_NESW] = LoadCursor(NULL, IDC_SIZENESW);
1352 resize_cursors_[RC_NWSE] = LoadCursor(NULL, IDC_SIZENWSE);
1353 initialized = true;
1354 }
1355 }
1356
1357 namespace { 1342 namespace {
1358 BOOL CALLBACK WindowCallbackProc(HWND hwnd, LPARAM lParam) { 1343 BOOL CALLBACK WindowCallbackProc(HWND hwnd, LPARAM lParam) {
1359 NativeWidget* native_widget = 1344 NativeWidget* native_widget =
1360 NativeWidget::GetNativeWidgetForNativeView(hwnd); 1345 NativeWidget::GetNativeWidgetForNativeView(hwnd);
1361 if (native_widget) 1346 if (native_widget)
1362 Window::CloseSecondaryWidget(native_widget->GetWidget()); 1347 Window::CloseSecondaryWidget(native_widget->GetWidget());
1363 return TRUE; 1348 return TRUE;
1364 } 1349 }
1365 } // namespace 1350 } // namespace
1366 1351
1367 void Window::CloseAllSecondaryWindows() { 1352 void Window::CloseAllSecondaryWindows() {
1368 EnumThreadWindows(GetCurrentThreadId(), WindowCallbackProc, 0); 1353 EnumThreadWindows(GetCurrentThreadId(), WindowCallbackProc, 0);
1369 } 1354 }
1370 1355
1371 } // namespace views 1356 } // namespace views
OLDNEW
« no previous file with comments | « views/window/window_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698