OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ | 5 #ifndef UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ |
6 #define UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ | 6 #define UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <atlbase.h> | 9 #include <atlbase.h> |
10 #include <atlapp.h> | 10 #include <atlapp.h> |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 // Stops ignoring SetWindowPos() requests (see below). | 279 // Stops ignoring SetWindowPos() requests (see below). |
280 void StopIgnoringPosChanges() { ignore_window_pos_changes_ = false; } | 280 void StopIgnoringPosChanges() { ignore_window_pos_changes_ = false; } |
281 | 281 |
282 // Synchronously paints the invalid contents of the Widget. | 282 // Synchronously paints the invalid contents of the Widget. |
283 void RedrawInvalidRect(); | 283 void RedrawInvalidRect(); |
284 | 284 |
285 // Synchronously updates the invalid contents of the Widget. Valid for | 285 // Synchronously updates the invalid contents of the Widget. Valid for |
286 // layered windows only. | 286 // layered windows only. |
287 void RedrawLayeredWindowContents(); | 287 void RedrawLayeredWindowContents(); |
288 | 288 |
| 289 // Attempts to force the window to be redrawn, ensuring that it gets |
| 290 // onscreen. |
| 291 void ForceRedrawWindow(int attempts); |
| 292 |
289 // Message Handlers ---------------------------------------------------------- | 293 // Message Handlers ---------------------------------------------------------- |
290 | 294 |
291 BEGIN_SAFE_MSG_MAP_EX(HWNDMessageHandler) | 295 BEGIN_SAFE_MSG_MAP_EX(HWNDMessageHandler) |
292 // Range handlers must go first! | 296 // Range handlers must go first! |
293 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) | 297 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) |
294 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) | 298 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) |
295 | 299 |
296 // CustomFrameWindow hacks | 300 // CustomFrameWindow hacks |
297 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption) | 301 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption) |
298 MESSAGE_HANDLER_EX(WM_NCUAHDRAWFRAME, OnNCUAHDrawFrame) | 302 MESSAGE_HANDLER_EX(WM_NCUAHDRAWFRAME, OnNCUAHDrawFrame) |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 MSG_WM_PAINT(OnPaint) | 371 MSG_WM_PAINT(OnPaint) |
368 MSG_WM_SETFOCUS(OnSetFocus) | 372 MSG_WM_SETFOCUS(OnSetFocus) |
369 MSG_WM_SETICON(OnSetIcon) | 373 MSG_WM_SETICON(OnSetIcon) |
370 MSG_WM_SETTEXT(OnSetText) | 374 MSG_WM_SETTEXT(OnSetText) |
371 MSG_WM_SETTINGCHANGE(OnSettingChange) | 375 MSG_WM_SETTINGCHANGE(OnSettingChange) |
372 MSG_WM_SIZE(OnSize) | 376 MSG_WM_SIZE(OnSize) |
373 MSG_WM_SYSCOMMAND(OnSysCommand) | 377 MSG_WM_SYSCOMMAND(OnSysCommand) |
374 MSG_WM_THEMECHANGED(OnThemeChanged) | 378 MSG_WM_THEMECHANGED(OnThemeChanged) |
375 MSG_WM_WINDOWPOSCHANGED(OnWindowPosChanged) | 379 MSG_WM_WINDOWPOSCHANGED(OnWindowPosChanged) |
376 MSG_WM_WINDOWPOSCHANGING(OnWindowPosChanging) | 380 MSG_WM_WINDOWPOSCHANGING(OnWindowPosChanging) |
| 381 MSG_WM_WTSSESSION_CHANGE(OnSessionChange) |
377 END_MSG_MAP() | 382 END_MSG_MAP() |
378 | 383 |
379 // Message Handlers. | 384 // Message Handlers. |
380 // This list is in _ALPHABETICAL_ order! | 385 // This list is in _ALPHABETICAL_ order! |
381 // TODO(beng): Once this object becomes the WindowImpl, these methods can | 386 // TODO(beng): Once this object becomes the WindowImpl, these methods can |
382 // be made private. | 387 // be made private. |
383 void OnActivateApp(BOOL active, DWORD thread_id); | 388 void OnActivateApp(BOOL active, DWORD thread_id); |
384 // TODO(beng): return BOOL is temporary until this object becomes a | 389 // TODO(beng): return BOOL is temporary until this object becomes a |
385 // WindowImpl. | 390 // WindowImpl. |
386 BOOL OnAppCommand(HWND window, short command, WORD device, int keystate); | 391 BOOL OnAppCommand(HWND window, short command, WORD device, int keystate); |
(...skipping 24 matching lines...) Expand all Loading... |
411 LRESULT OnNCActivate(UINT message, WPARAM w_param, LPARAM l_param); | 416 LRESULT OnNCActivate(UINT message, WPARAM w_param, LPARAM l_param); |
412 LRESULT OnNCCalcSize(BOOL mode, LPARAM l_param); | 417 LRESULT OnNCCalcSize(BOOL mode, LPARAM l_param); |
413 LRESULT OnNCHitTest(const CPoint& point); | 418 LRESULT OnNCHitTest(const CPoint& point); |
414 void OnNCPaint(HRGN rgn); | 419 void OnNCPaint(HRGN rgn); |
415 LRESULT OnNCUAHDrawCaption(UINT message, WPARAM w_param, LPARAM l_param); | 420 LRESULT OnNCUAHDrawCaption(UINT message, WPARAM w_param, LPARAM l_param); |
416 LRESULT OnNCUAHDrawFrame(UINT message, WPARAM w_param, LPARAM l_param); | 421 LRESULT OnNCUAHDrawFrame(UINT message, WPARAM w_param, LPARAM l_param); |
417 LRESULT OnNotify(int w_param, NMHDR* l_param); | 422 LRESULT OnNotify(int w_param, NMHDR* l_param); |
418 void OnPaint(HDC dc); | 423 void OnPaint(HDC dc); |
419 LRESULT OnReflectedMessage(UINT message, WPARAM w_param, LPARAM l_param); | 424 LRESULT OnReflectedMessage(UINT message, WPARAM w_param, LPARAM l_param); |
420 LRESULT OnScrollMessage(UINT message, WPARAM w_param, LPARAM l_param); | 425 LRESULT OnScrollMessage(UINT message, WPARAM w_param, LPARAM l_param); |
| 426 void OnSessionChange(WPARAM status_code, PWTSSESSION_NOTIFICATION session_id); |
421 LRESULT OnSetCursor(UINT message, WPARAM w_param, LPARAM l_param); | 427 LRESULT OnSetCursor(UINT message, WPARAM w_param, LPARAM l_param); |
422 void OnSetFocus(HWND last_focused_window); | 428 void OnSetFocus(HWND last_focused_window); |
423 LRESULT OnSetIcon(UINT size_type, HICON new_icon); | 429 LRESULT OnSetIcon(UINT size_type, HICON new_icon); |
424 LRESULT OnSetText(const wchar_t* text); | 430 LRESULT OnSetText(const wchar_t* text); |
425 void OnSettingChange(UINT flags, const wchar_t* section); | 431 void OnSettingChange(UINT flags, const wchar_t* section); |
426 void OnSize(UINT param, const CSize& size); | 432 void OnSize(UINT param, const CSize& size); |
427 void OnSysCommand(UINT notification_code, const CPoint& point); | 433 void OnSysCommand(UINT notification_code, const CPoint& point); |
428 void OnThemeChanged(); | 434 void OnThemeChanged(); |
429 LRESULT OnTouchEvent(UINT message, WPARAM w_param, LPARAM l_param); | 435 LRESULT OnTouchEvent(UINT message, WPARAM w_param, LPARAM l_param); |
430 void OnWindowPosChanging(WINDOWPOS* window_pos); | 436 void OnWindowPosChanging(WINDOWPOS* window_pos); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 }; | 558 }; |
553 | 559 |
554 // This window property if set on the window does not activate the window for a | 560 // This window property if set on the window does not activate the window for a |
555 // touch based WM_MOUSEACTIVATE message. | 561 // touch based WM_MOUSEACTIVATE message. |
556 const wchar_t kIgnoreTouchMouseActivateForWindow[] = | 562 const wchar_t kIgnoreTouchMouseActivateForWindow[] = |
557 L"Chrome.IgnoreMouseActivate"; | 563 L"Chrome.IgnoreMouseActivate"; |
558 | 564 |
559 } // namespace views | 565 } // namespace views |
560 | 566 |
561 #endif // UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ | 567 #endif // UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ |
OLD | NEW |