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 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 void DesktopWindowTreeHostWin::MoveCursorToNative(const gfx::Point& location) { | 579 void DesktopWindowTreeHostWin::MoveCursorToNative(const gfx::Point& location) { |
580 POINT cursor_location = location.ToPOINT(); | 580 POINT cursor_location = location.ToPOINT(); |
581 ::ClientToScreen(GetHWND(), &cursor_location); | 581 ::ClientToScreen(GetHWND(), &cursor_location); |
582 ::SetCursorPos(cursor_location.x, cursor_location.y); | 582 ::SetCursorPos(cursor_location.x, cursor_location.y); |
583 } | 583 } |
584 | 584 |
585 //////////////////////////////////////////////////////////////////////////////// | 585 //////////////////////////////////////////////////////////////////////////////// |
586 // DesktopWindowTreeHostWin, ui::EventSource implementation: | 586 // DesktopWindowTreeHostWin, ui::EventSource implementation: |
587 | 587 |
588 ui::EventProcessor* DesktopWindowTreeHostWin::GetEventProcessor() { | 588 ui::EventProcessor* DesktopWindowTreeHostWin::GetEventProcessor() { |
589 return delegate_->GetEventProcessor(); | 589 return dispatcher(); |
590 } | 590 } |
591 | 591 |
592 //////////////////////////////////////////////////////////////////////////////// | 592 //////////////////////////////////////////////////////////////////////////////// |
593 // DesktopWindowTreeHostWin, aura::AnimationHost implementation: | 593 // DesktopWindowTreeHostWin, aura::AnimationHost implementation: |
594 | 594 |
595 void DesktopWindowTreeHostWin::SetHostTransitionOffsets( | 595 void DesktopWindowTreeHostWin::SetHostTransitionOffsets( |
596 const gfx::Vector2d& top_left_delta, | 596 const gfx::Vector2d& top_left_delta, |
597 const gfx::Vector2d& bottom_right_delta) { | 597 const gfx::Vector2d& bottom_right_delta) { |
598 gfx::Rect bounds_without_expansion = GetBounds(); | 598 gfx::Rect bounds_without_expansion = GetBounds(); |
599 window_expansion_top_left_delta_ = top_left_delta; | 599 window_expansion_top_left_delta_ = top_left_delta; |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
729 return GetWidget()->widget_delegate()->ShouldHandleSystemCommands(); | 729 return GetWidget()->widget_delegate()->ShouldHandleSystemCommands(); |
730 } | 730 } |
731 | 731 |
732 void DesktopWindowTreeHostWin::HandleAppDeactivated() { | 732 void DesktopWindowTreeHostWin::HandleAppDeactivated() { |
733 native_widget_delegate_->EnableInactiveRendering(); | 733 native_widget_delegate_->EnableInactiveRendering(); |
734 } | 734 } |
735 | 735 |
736 void DesktopWindowTreeHostWin::HandleActivationChanged(bool active) { | 736 void DesktopWindowTreeHostWin::HandleActivationChanged(bool active) { |
737 // This can be invoked from HWNDMessageHandler::Init(), at which point we're | 737 // This can be invoked from HWNDMessageHandler::Init(), at which point we're |
738 // not in a good state and need to ignore it. | 738 // not in a good state and need to ignore it. |
739 if (!delegate_) | 739 // TODO(beng): Do we need this still now the host owns the dispatcher? |
| 740 if (!dispatcher()) |
740 return; | 741 return; |
741 | 742 |
742 if (active) | 743 if (active) |
743 delegate_->OnHostActivated(); | 744 OnHostActivated(); |
744 desktop_native_widget_aura_->HandleActivationChanged(active); | 745 desktop_native_widget_aura_->HandleActivationChanged(active); |
745 } | 746 } |
746 | 747 |
747 bool DesktopWindowTreeHostWin::HandleAppCommand(short command) { | 748 bool DesktopWindowTreeHostWin::HandleAppCommand(short command) { |
748 // We treat APPCOMMAND ids as an extension of our command namespace, and just | 749 // We treat APPCOMMAND ids as an extension of our command namespace, and just |
749 // let the delegate figure out what to do... | 750 // let the delegate figure out what to do... |
750 return GetWidget()->widget_delegate() && | 751 return GetWidget()->widget_delegate() && |
751 GetWidget()->widget_delegate()->ExecuteWindowsCommand(command); | 752 GetWidget()->widget_delegate()->ExecuteWindowsCommand(command); |
752 } | 753 } |
753 | 754 |
754 void DesktopWindowTreeHostWin::HandleCancelMode() { | 755 void DesktopWindowTreeHostWin::HandleCancelMode() { |
755 delegate_->OnHostCancelMode(); | 756 dispatcher()->DispatchCancelModeEvent(); |
756 } | 757 } |
757 | 758 |
758 void DesktopWindowTreeHostWin::HandleCaptureLost() { | 759 void DesktopWindowTreeHostWin::HandleCaptureLost() { |
759 delegate_->OnHostLostWindowCapture(); | 760 OnHostLostWindowCapture(); |
760 native_widget_delegate_->OnMouseCaptureLost(); | 761 native_widget_delegate_->OnMouseCaptureLost(); |
761 } | 762 } |
762 | 763 |
763 void DesktopWindowTreeHostWin::HandleClose() { | 764 void DesktopWindowTreeHostWin::HandleClose() { |
764 GetWidget()->Close(); | 765 GetWidget()->Close(); |
765 } | 766 } |
766 | 767 |
767 bool DesktopWindowTreeHostWin::HandleCommand(int command) { | 768 bool DesktopWindowTreeHostWin::HandleCommand(int command) { |
768 return GetWidget()->widget_delegate()->ExecuteWindowsCommand(command); | 769 return GetWidget()->widget_delegate()->ExecuteWindowsCommand(command); |
769 } | 770 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 void DesktopWindowTreeHostWin::HandleVisibilityChanging(bool visible) { | 820 void DesktopWindowTreeHostWin::HandleVisibilityChanging(bool visible) { |
820 native_widget_delegate_->OnNativeWidgetVisibilityChanging(visible); | 821 native_widget_delegate_->OnNativeWidgetVisibilityChanging(visible); |
821 } | 822 } |
822 | 823 |
823 void DesktopWindowTreeHostWin::HandleVisibilityChanged(bool visible) { | 824 void DesktopWindowTreeHostWin::HandleVisibilityChanged(bool visible) { |
824 native_widget_delegate_->OnNativeWidgetVisibilityChanged(visible); | 825 native_widget_delegate_->OnNativeWidgetVisibilityChanged(visible); |
825 } | 826 } |
826 | 827 |
827 void DesktopWindowTreeHostWin::HandleClientSizeChanged( | 828 void DesktopWindowTreeHostWin::HandleClientSizeChanged( |
828 const gfx::Size& new_size) { | 829 const gfx::Size& new_size) { |
829 if (delegate_) | 830 if (dispatcher()) |
830 OnHostResized(new_size); | 831 OnHostResized(new_size); |
831 } | 832 } |
832 | 833 |
833 void DesktopWindowTreeHostWin::HandleFrameChanged() { | 834 void DesktopWindowTreeHostWin::HandleFrameChanged() { |
834 SetWindowTransparency(); | 835 SetWindowTransparency(); |
835 // Replace the frame and layout the contents. | 836 // Replace the frame and layout the contents. |
836 GetWidget()->non_client_view()->UpdateFrame(); | 837 GetWidget()->non_client_view()->UpdateFrame(); |
837 } | 838 } |
838 | 839 |
839 void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { | 840 void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 | 1010 |
1010 // static | 1011 // static |
1011 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( | 1012 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( |
1012 internal::NativeWidgetDelegate* native_widget_delegate, | 1013 internal::NativeWidgetDelegate* native_widget_delegate, |
1013 DesktopNativeWidgetAura* desktop_native_widget_aura) { | 1014 DesktopNativeWidgetAura* desktop_native_widget_aura) { |
1014 return new DesktopWindowTreeHostWin(native_widget_delegate, | 1015 return new DesktopWindowTreeHostWin(native_widget_delegate, |
1015 desktop_native_widget_aura); | 1016 desktop_native_widget_aura); |
1016 } | 1017 } |
1017 | 1018 |
1018 } // namespace views | 1019 } // namespace views |
OLD | NEW |