| 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_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ | 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ |
| 6 #define UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ | 6 #define UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ |
| 7 | 7 |
| 8 #include <X11/Xlib.h> | 8 #include <X11/Xlib.h> |
| 9 | 9 |
| 10 // Get rid of a macro from Xlib.h that conflicts with Aura's RootWindow class. | 10 // Get rid of a macro from Xlib.h that conflicts with Aura's RootWindow class. |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 namespace aura { | 24 namespace aura { |
| 25 class DesktopActivationClient; | 25 class DesktopActivationClient; |
| 26 class DesktopCursorClient; | 26 class DesktopCursorClient; |
| 27 class DesktopDispatcherClient; | 27 class DesktopDispatcherClient; |
| 28 class FocusManager; | 28 class FocusManager; |
| 29 namespace client { | 29 namespace client { |
| 30 class DefaultCaptureClient; | 30 class DefaultCaptureClient; |
| 31 class ScreenPositionClient; | 31 class ScreenPositionClient; |
| 32 } | 32 } |
| 33 namespace shared { | |
| 34 class CompoundEventFilter; | |
| 35 class InputMethodEventFilter; | |
| 36 } | |
| 37 } | 33 } |
| 38 | 34 |
| 39 namespace views { | 35 namespace views { |
| 40 class X11DesktopWindowMoveClient; | 36 class X11DesktopWindowMoveClient; |
| 41 class X11WindowEventFilter; | 37 class X11WindowEventFilter; |
| 38 namespace corewm { |
| 39 class CompoundEventFilter; |
| 40 class InputMethodEventFilter; |
| 41 } |
| 42 | 42 |
| 43 class VIEWS_EXPORT DesktopRootWindowHostLinux | 43 class VIEWS_EXPORT DesktopRootWindowHostLinux |
| 44 : public DesktopRootWindowHost, | 44 : public DesktopRootWindowHost, |
| 45 public aura::RootWindowHost, | 45 public aura::RootWindowHost, |
| 46 public views::internal::InputMethodDelegate, | 46 public views::internal::InputMethodDelegate, |
| 47 public MessageLoop::Dispatcher { | 47 public MessageLoop::Dispatcher { |
| 48 public: | 48 public: |
| 49 DesktopRootWindowHostLinux( | 49 DesktopRootWindowHostLinux( |
| 50 internal::NativeWidgetDelegate* native_widget_delegate, | 50 internal::NativeWidgetDelegate* native_widget_delegate, |
| 51 DesktopNativeWidgetAura* desktop_native_widget_aura, | 51 DesktopNativeWidgetAura* desktop_native_widget_aura, |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 scoped_ptr<aura::DesktopDispatcherClient> dispatcher_client_; | 215 scoped_ptr<aura::DesktopDispatcherClient> dispatcher_client_; |
| 216 scoped_ptr<aura::client::ScreenPositionClient> position_client_; | 216 scoped_ptr<aura::client::ScreenPositionClient> position_client_; |
| 217 | 217 |
| 218 // Current Aura cursor. | 218 // Current Aura cursor. |
| 219 gfx::NativeCursor current_cursor_; | 219 gfx::NativeCursor current_cursor_; |
| 220 | 220 |
| 221 // The invisible cursor. | 221 // The invisible cursor. |
| 222 ::Cursor invisible_cursor_; | 222 ::Cursor invisible_cursor_; |
| 223 | 223 |
| 224 // Toplevel event filter which dispatches to other event filters. | 224 // Toplevel event filter which dispatches to other event filters. |
| 225 aura::shared::CompoundEventFilter* root_window_event_filter_; | 225 views::corewm::CompoundEventFilter* root_window_event_filter_; |
| 226 | 226 |
| 227 // An event filter that pre-handles all key events to send them to an IME. | 227 // An event filter that pre-handles all key events to send them to an IME. |
| 228 scoped_ptr<aura::shared::InputMethodEventFilter> input_method_filter_; | 228 scoped_ptr<views::corewm::InputMethodEventFilter> input_method_filter_; |
| 229 scoped_ptr<X11WindowEventFilter> x11_window_event_filter_; | 229 scoped_ptr<X11WindowEventFilter> x11_window_event_filter_; |
| 230 scoped_ptr<X11DesktopWindowMoveClient> x11_window_move_client_; | 230 scoped_ptr<X11DesktopWindowMoveClient> x11_window_move_client_; |
| 231 | 231 |
| 232 // TODO(beng): Consider providing an interface to DesktopNativeWidgetAura | 232 // TODO(beng): Consider providing an interface to DesktopNativeWidgetAura |
| 233 // instead of providing this route back to Widget. | 233 // instead of providing this route back to Widget. |
| 234 internal::NativeWidgetDelegate* native_widget_delegate_; | 234 internal::NativeWidgetDelegate* native_widget_delegate_; |
| 235 | 235 |
| 236 DesktopNativeWidgetAura* desktop_native_widget_aura_; | 236 DesktopNativeWidgetAura* desktop_native_widget_aura_; |
| 237 | 237 |
| 238 aura::RootWindowHostDelegate* root_window_host_delegate_; | 238 aura::RootWindowHostDelegate* root_window_host_delegate_; |
| 239 aura::Window* content_window_; | 239 aura::Window* content_window_; |
| 240 | 240 |
| 241 // The current root window host that has capture. While X11 has something | 241 // The current root window host that has capture. While X11 has something |
| 242 // like Windows SetCapture()/ReleaseCapture(), it is entirely implicit and | 242 // like Windows SetCapture()/ReleaseCapture(), it is entirely implicit and |
| 243 // there are no notifications when this changes. We need to track this so we | 243 // there are no notifications when this changes. We need to track this so we |
| 244 // can notify widgets when they have lost capture, which controls a bunch of | 244 // can notify widgets when they have lost capture, which controls a bunch of |
| 245 // things in views like hiding menus. | 245 // things in views like hiding menus. |
| 246 static DesktopRootWindowHostLinux* g_current_capture; | 246 static DesktopRootWindowHostLinux* g_current_capture; |
| 247 | 247 |
| 248 DISALLOW_COPY_AND_ASSIGN(DesktopRootWindowHostLinux); | 248 DISALLOW_COPY_AND_ASSIGN(DesktopRootWindowHostLinux); |
| 249 }; | 249 }; |
| 250 | 250 |
| 251 } // namespace views | 251 } // namespace views |
| 252 | 252 |
| 253 #endif // UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ | 253 #endif // UI_VIEWS_WIDGET_DESKTOP_ROOT_WINDOW_HOST_LINUX_H_ |
| OLD | NEW |