Chromium Code Reviews| 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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 276 // Stops ignoring SetWindowPos() requests (see below). | 276 // Stops ignoring SetWindowPos() requests (see below). |
| 277 void StopIgnoringPosChanges() { ignore_window_pos_changes_ = false; } | 277 void StopIgnoringPosChanges() { ignore_window_pos_changes_ = false; } |
| 278 | 278 |
| 279 // Synchronously paints the invalid contents of the Widget. | 279 // Synchronously paints the invalid contents of the Widget. |
| 280 void RedrawInvalidRect(); | 280 void RedrawInvalidRect(); |
| 281 | 281 |
| 282 // Synchronously updates the invalid contents of the Widget. Valid for | 282 // Synchronously updates the invalid contents of the Widget. Valid for |
| 283 // layered windows only. | 283 // layered windows only. |
| 284 void RedrawLayeredWindowContents(); | 284 void RedrawLayeredWindowContents(); |
| 285 | 285 |
| 286 // Attempts to force the window to be redrawn, ensuring that it gets | |
| 287 // onscreen. | |
| 288 void ForceRedrawWindow(int attempts); | |
| 289 | |
| 286 // Message Handlers ---------------------------------------------------------- | 290 // Message Handlers ---------------------------------------------------------- |
| 287 | 291 |
| 288 BEGIN_SAFE_MSG_MAP_EX(HWNDMessageHandler) | 292 BEGIN_SAFE_MSG_MAP_EX(HWNDMessageHandler) |
| 289 // Range handlers must go first! | 293 // Range handlers must go first! |
| 290 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) | 294 MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, WM_MOUSELAST, OnMouseRange) |
| 291 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) | 295 MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) |
| 292 | 296 |
| 293 // CustomFrameWindow hacks | 297 // CustomFrameWindow hacks |
| 294 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption) | 298 MESSAGE_HANDLER_EX(WM_NCUAHDRAWCAPTION, OnNCUAHDrawCaption) |
| 295 MESSAGE_HANDLER_EX(WM_NCUAHDRAWFRAME, OnNCUAHDrawFrame) | 299 MESSAGE_HANDLER_EX(WM_NCUAHDRAWFRAME, OnNCUAHDrawFrame) |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 364 MSG_WM_PAINT(OnPaint) | 368 MSG_WM_PAINT(OnPaint) |
| 365 MSG_WM_SETFOCUS(OnSetFocus) | 369 MSG_WM_SETFOCUS(OnSetFocus) |
| 366 MSG_WM_SETICON(OnSetIcon) | 370 MSG_WM_SETICON(OnSetIcon) |
| 367 MSG_WM_SETTEXT(OnSetText) | 371 MSG_WM_SETTEXT(OnSetText) |
| 368 MSG_WM_SETTINGCHANGE(OnSettingChange) | 372 MSG_WM_SETTINGCHANGE(OnSettingChange) |
| 369 MSG_WM_SIZE(OnSize) | 373 MSG_WM_SIZE(OnSize) |
| 370 MSG_WM_SYSCOMMAND(OnSysCommand) | 374 MSG_WM_SYSCOMMAND(OnSysCommand) |
| 371 MSG_WM_THEMECHANGED(OnThemeChanged) | 375 MSG_WM_THEMECHANGED(OnThemeChanged) |
| 372 MSG_WM_WINDOWPOSCHANGED(OnWindowPosChanged) | 376 MSG_WM_WINDOWPOSCHANGED(OnWindowPosChanged) |
| 373 MSG_WM_WINDOWPOSCHANGING(OnWindowPosChanging) | 377 MSG_WM_WINDOWPOSCHANGING(OnWindowPosChanging) |
| 378 MSG_WM_WTSSESSION_CHANGE(OnSessionChange) | |
| 374 END_MSG_MAP() | 379 END_MSG_MAP() |
| 375 | 380 |
| 376 // Message Handlers. | 381 // Message Handlers. |
| 377 // This list is in _ALPHABETICAL_ order! | 382 // This list is in _ALPHABETICAL_ order! |
| 378 // TODO(beng): Once this object becomes the WindowImpl, these methods can | 383 // TODO(beng): Once this object becomes the WindowImpl, these methods can |
| 379 // be made private. | 384 // be made private. |
| 380 void OnActivateApp(BOOL active, DWORD thread_id); | 385 void OnActivateApp(BOOL active, DWORD thread_id); |
| 381 // TODO(beng): return BOOL is temporary until this object becomes a | 386 // TODO(beng): return BOOL is temporary until this object becomes a |
| 382 // WindowImpl. | 387 // WindowImpl. |
| 383 BOOL OnAppCommand(HWND window, short command, WORD device, int keystate); | 388 BOOL OnAppCommand(HWND window, short command, WORD device, int keystate); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 419 void OnSetFocus(HWND last_focused_window); | 424 void OnSetFocus(HWND last_focused_window); |
| 420 LRESULT OnSetIcon(UINT size_type, HICON new_icon); | 425 LRESULT OnSetIcon(UINT size_type, HICON new_icon); |
| 421 LRESULT OnSetText(const wchar_t* text); | 426 LRESULT OnSetText(const wchar_t* text); |
| 422 void OnSettingChange(UINT flags, const wchar_t* section); | 427 void OnSettingChange(UINT flags, const wchar_t* section); |
| 423 void OnSize(UINT param, const CSize& size); | 428 void OnSize(UINT param, const CSize& size); |
| 424 void OnSysCommand(UINT notification_code, const CPoint& point); | 429 void OnSysCommand(UINT notification_code, const CPoint& point); |
| 425 void OnThemeChanged(); | 430 void OnThemeChanged(); |
| 426 LRESULT OnTouchEvent(UINT message, WPARAM w_param, LPARAM l_param); | 431 LRESULT OnTouchEvent(UINT message, WPARAM w_param, LPARAM l_param); |
| 427 void OnWindowPosChanging(WINDOWPOS* window_pos); | 432 void OnWindowPosChanging(WINDOWPOS* window_pos); |
| 428 void OnWindowPosChanged(WINDOWPOS* window_pos); | 433 void OnWindowPosChanged(WINDOWPOS* window_pos); |
| 434 void OnSessionChange(WPARAM status_code, PWTSSESSION_NOTIFICATION session_id); | |
|
sky
2014/01/16 16:36:37
Keep alphabetical (see comment on 382).
| |
| 429 | 435 |
| 430 typedef std::vector<ui::TouchEvent> TouchEvents; | 436 typedef std::vector<ui::TouchEvent> TouchEvents; |
| 431 // Helper to handle the list of touch events passed in. We need this because | 437 // Helper to handle the list of touch events passed in. We need this because |
| 432 // touch events on windows don't fire if we enter a modal loop in the context | 438 // touch events on windows don't fire if we enter a modal loop in the context |
| 433 // of a touch event. | 439 // of a touch event. |
| 434 void HandleTouchEvents(const TouchEvents& touch_events); | 440 void HandleTouchEvents(const TouchEvents& touch_events); |
| 435 | 441 |
| 436 HWNDMessageHandlerDelegate* delegate_; | 442 HWNDMessageHandlerDelegate* delegate_; |
| 437 | 443 |
| 438 scoped_ptr<FullscreenHandler> fullscreen_handler_; | 444 scoped_ptr<FullscreenHandler> fullscreen_handler_; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 546 }; | 552 }; |
| 547 | 553 |
| 548 // This window property if set on the window does not activate the window for a | 554 // This window property if set on the window does not activate the window for a |
| 549 // touch based WM_MOUSEACTIVATE message. | 555 // touch based WM_MOUSEACTIVATE message. |
| 550 const wchar_t kIgnoreTouchMouseActivateForWindow[] = | 556 const wchar_t kIgnoreTouchMouseActivateForWindow[] = |
| 551 L"Chrome.IgnoreMouseActivate"; | 557 L"Chrome.IgnoreMouseActivate"; |
| 552 | 558 |
| 553 } // namespace views | 559 } // namespace views |
| 554 | 560 |
| 555 #endif // UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ | 561 #endif // UI_VIEWS_WIN_HWND_MESSAGE_HANDLER_H_ |
| OLD | NEW |