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 |