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 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" | 5 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" |
6 | 6 |
7 #include "base/win/metro.h" | 7 #include "base/win/metro.h" |
8 #include "third_party/skia/include/core/SkPath.h" | 8 #include "third_party/skia/include/core/SkPath.h" |
9 #include "third_party/skia/include/core/SkRegion.h" | 9 #include "third_party/skia/include/core/SkRegion.h" |
10 #include "ui/aura/client/aura_constants.h" | 10 #include "ui/aura/client/aura_constants.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 #include "ui/views/widget/desktop_aura/desktop_cursor_loader_updater.h" | 30 #include "ui/views/widget/desktop_aura/desktop_cursor_loader_updater.h" |
31 #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_win.h" | 31 #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_win.h" |
32 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" | 32 #include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" |
33 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" | 33 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" |
34 #include "ui/views/widget/root_view.h" | 34 #include "ui/views/widget/root_view.h" |
35 #include "ui/views/widget/widget_delegate.h" | 35 #include "ui/views/widget/widget_delegate.h" |
36 #include "ui/views/widget/widget_hwnd_utils.h" | 36 #include "ui/views/widget/widget_hwnd_utils.h" |
37 #include "ui/views/win/fullscreen_handler.h" | 37 #include "ui/views/win/fullscreen_handler.h" |
38 #include "ui/views/win/hwnd_message_handler.h" | 38 #include "ui/views/win/hwnd_message_handler.h" |
39 #include "ui/wm/core/compound_event_filter.h" | 39 #include "ui/wm/core/compound_event_filter.h" |
40 #include "ui/wm/core/input_method_event_filter.h" | |
41 #include "ui/wm/core/window_animations.h" | 40 #include "ui/wm/core/window_animations.h" |
42 #include "ui/wm/public/scoped_tooltip_disabler.h" | 41 #include "ui/wm/public/scoped_tooltip_disabler.h" |
43 | 42 |
44 DECLARE_WINDOW_PROPERTY_TYPE(views::DesktopWindowTreeHostWin*); | 43 DECLARE_WINDOW_PROPERTY_TYPE(views::DesktopWindowTreeHostWin*); |
45 | 44 |
46 namespace views { | 45 namespace views { |
47 | 46 |
48 namespace { | 47 namespace { |
49 | 48 |
50 gfx::Size GetExpandedWindowSize(DWORD window_style, gfx::Size size) { | 49 gfx::Size GetExpandedWindowSize(DWORD window_style, gfx::Size size) { |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 ::ShowCursor(!!show); | 545 ::ShowCursor(!!show); |
547 } | 546 } |
548 | 547 |
549 void DesktopWindowTreeHostWin::MoveCursorToNative(const gfx::Point& location) { | 548 void DesktopWindowTreeHostWin::MoveCursorToNative(const gfx::Point& location) { |
550 POINT cursor_location = location.ToPOINT(); | 549 POINT cursor_location = location.ToPOINT(); |
551 ::ClientToScreen(GetHWND(), &cursor_location); | 550 ::ClientToScreen(GetHWND(), &cursor_location); |
552 ::SetCursorPos(cursor_location.x, cursor_location.y); | 551 ::SetCursorPos(cursor_location.x, cursor_location.y); |
553 } | 552 } |
554 | 553 |
555 //////////////////////////////////////////////////////////////////////////////// | 554 //////////////////////////////////////////////////////////////////////////////// |
556 // DesktopWindowTreeHostWin, ui::EventSource implementation: | |
557 | |
558 ui::EventProcessor* DesktopWindowTreeHostWin::GetEventProcessor() { | |
559 return dispatcher(); | |
560 } | |
561 | |
562 //////////////////////////////////////////////////////////////////////////////// | |
563 // DesktopWindowTreeHostWin, aura::AnimationHost implementation: | 555 // DesktopWindowTreeHostWin, aura::AnimationHost implementation: |
564 | 556 |
565 void DesktopWindowTreeHostWin::SetHostTransitionOffsets( | 557 void DesktopWindowTreeHostWin::SetHostTransitionOffsets( |
566 const gfx::Vector2d& top_left_delta, | 558 const gfx::Vector2d& top_left_delta, |
567 const gfx::Vector2d& bottom_right_delta) { | 559 const gfx::Vector2d& bottom_right_delta) { |
568 gfx::Rect bounds_without_expansion = GetBounds(); | 560 gfx::Rect bounds_without_expansion = GetBounds(); |
569 window_expansion_top_left_delta_ = top_left_delta; | 561 window_expansion_top_left_delta_ = top_left_delta; |
570 window_expansion_bottom_right_delta_ = bottom_right_delta; | 562 window_expansion_bottom_right_delta_ = bottom_right_delta; |
571 SetBounds(bounds_without_expansion); | 563 SetBounds(bounds_without_expansion); |
572 } | 564 } |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 } | 664 } |
673 | 665 |
674 void DesktopWindowTreeHostWin::PaintLayeredWindow(gfx::Canvas* canvas) { | 666 void DesktopWindowTreeHostWin::PaintLayeredWindow(gfx::Canvas* canvas) { |
675 GetWidget()->GetRootView()->Paint(ui::PaintContext(canvas)); | 667 GetWidget()->GetRootView()->Paint(ui::PaintContext(canvas)); |
676 } | 668 } |
677 | 669 |
678 gfx::NativeViewAccessible DesktopWindowTreeHostWin::GetNativeViewAccessible() { | 670 gfx::NativeViewAccessible DesktopWindowTreeHostWin::GetNativeViewAccessible() { |
679 return GetWidget()->GetRootView()->GetNativeViewAccessible(); | 671 return GetWidget()->GetRootView()->GetNativeViewAccessible(); |
680 } | 672 } |
681 | 673 |
682 InputMethod* DesktopWindowTreeHostWin::GetInputMethod() { | |
683 return GetWidget()->GetInputMethodDirect(); | |
684 } | |
685 | |
686 bool DesktopWindowTreeHostWin::ShouldHandleSystemCommands() const { | 674 bool DesktopWindowTreeHostWin::ShouldHandleSystemCommands() const { |
687 return GetWidget()->widget_delegate()->ShouldHandleSystemCommands(); | 675 return GetWidget()->widget_delegate()->ShouldHandleSystemCommands(); |
688 } | 676 } |
689 | 677 |
690 void DesktopWindowTreeHostWin::HandleAppDeactivated() { | 678 void DesktopWindowTreeHostWin::HandleAppDeactivated() { |
691 native_widget_delegate_->EnableInactiveRendering(); | 679 native_widget_delegate_->EnableInactiveRendering(); |
692 } | 680 } |
693 | 681 |
694 void DesktopWindowTreeHostWin::HandleActivationChanged(bool active) { | 682 void DesktopWindowTreeHostWin::HandleActivationChanged(bool active) { |
695 // This can be invoked from HWNDMessageHandler::Init(), at which point we're | 683 // This can be invoked from HWNDMessageHandler::Init(), at which point we're |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 | 837 |
850 bool DesktopWindowTreeHostWin::HandleIMEMessage(UINT message, | 838 bool DesktopWindowTreeHostWin::HandleIMEMessage(UINT message, |
851 WPARAM w_param, | 839 WPARAM w_param, |
852 LPARAM l_param, | 840 LPARAM l_param, |
853 LRESULT* result) { | 841 LRESULT* result) { |
854 MSG msg = {}; | 842 MSG msg = {}; |
855 msg.hwnd = GetHWND(); | 843 msg.hwnd = GetHWND(); |
856 msg.message = message; | 844 msg.message = message; |
857 msg.wParam = w_param; | 845 msg.wParam = w_param; |
858 msg.lParam = l_param; | 846 msg.lParam = l_param; |
859 return desktop_native_widget_aura_->input_method_event_filter()-> | 847 return GetInputMethod()->OnUntranslatedIMEMessage(msg, result); |
860 input_method()->OnUntranslatedIMEMessage(msg, result); | |
861 } | 848 } |
862 | 849 |
863 void DesktopWindowTreeHostWin::HandleInputLanguageChange( | 850 void DesktopWindowTreeHostWin::HandleInputLanguageChange( |
864 DWORD character_set, | 851 DWORD character_set, |
865 HKL input_language_id) { | 852 HKL input_language_id) { |
866 desktop_native_widget_aura_->input_method_event_filter()-> | 853 GetInputMethod()->OnInputLocaleChanged(); |
867 input_method()->OnInputLocaleChanged(); | |
868 } | 854 } |
869 | 855 |
870 void DesktopWindowTreeHostWin::HandlePaintAccelerated( | 856 void DesktopWindowTreeHostWin::HandlePaintAccelerated( |
871 const gfx::Rect& invalid_rect) { | 857 const gfx::Rect& invalid_rect) { |
872 if (compositor()) | 858 if (compositor()) |
873 compositor()->ScheduleRedrawRect(invalid_rect); | 859 compositor()->ScheduleRedrawRect(invalid_rect); |
874 } | 860 } |
875 | 861 |
876 bool DesktopWindowTreeHostWin::HandleTooltipNotify(int w_param, | 862 bool DesktopWindowTreeHostWin::HandleTooltipNotify(int w_param, |
877 NMHDR* l_param, | 863 NMHDR* l_param, |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
955 | 941 |
956 // static | 942 // static |
957 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( | 943 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( |
958 internal::NativeWidgetDelegate* native_widget_delegate, | 944 internal::NativeWidgetDelegate* native_widget_delegate, |
959 DesktopNativeWidgetAura* desktop_native_widget_aura) { | 945 DesktopNativeWidgetAura* desktop_native_widget_aura) { |
960 return new DesktopWindowTreeHostWin(native_widget_delegate, | 946 return new DesktopWindowTreeHostWin(native_widget_delegate, |
961 desktop_native_widget_aura); | 947 desktop_native_widget_aura); |
962 } | 948 } |
963 | 949 |
964 } // namespace views | 950 } // namespace views |
OLD | NEW |