| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_LINUX_UI_LINUX_UI_H_ | 5 #ifndef UI_VIEWS_LINUX_UI_LINUX_UI_H_ |
| 6 #define UI_VIEWS_LINUX_UI_LINUX_UI_H_ | 6 #define UI_VIEWS_LINUX_UI_LINUX_UI_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 } | 29 } |
| 30 | 30 |
| 31 namespace ui { | 31 namespace ui { |
| 32 class NativeTheme; | 32 class NativeTheme; |
| 33 } | 33 } |
| 34 | 34 |
| 35 namespace views { | 35 namespace views { |
| 36 class Border; | 36 class Border; |
| 37 class LabelButton; | 37 class LabelButton; |
| 38 class View; | 38 class View; |
| 39 class NativeThemeChangeObserver; | |
| 40 class WindowButtonOrderObserver; | 39 class WindowButtonOrderObserver; |
| 41 | 40 |
| 42 // Adapter class with targets to render like different toolkits. Set by any | 41 // Adapter class with targets to render like different toolkits. Set by any |
| 43 // project that wants to do linux desktop native rendering. | 42 // project that wants to do linux desktop native rendering. |
| 44 // | 43 // |
| 45 // TODO(erg): We're hardcoding GTK2, when we'll need to have backends for (at | 44 // TODO(erg): We're hardcoding GTK2, when we'll need to have backends for (at |
| 46 // minimum) GTK2 and GTK3. LinuxUI::instance() should actually be a very | 45 // minimum) GTK2 and GTK3. LinuxUI::instance() should actually be a very |
| 47 // complex method that pokes around with dlopen against a libuigtk2.so, a | 46 // complex method that pokes around with dlopen against a libuigtk2.so, a |
| 48 // liuigtk3.so, etc. | 47 // liuigtk3.so, etc. |
| 49 class VIEWS_EXPORT LinuxUI : public ui::LinuxInputMethodContextFactory, | 48 class VIEWS_EXPORT LinuxUI : public ui::LinuxInputMethodContextFactory, |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 // Notifies the observer about changes about how window buttons should be | 130 // Notifies the observer about changes about how window buttons should be |
| 132 // laid out. If the order is anything other than the default min,max,close on | 131 // laid out. If the order is anything other than the default min,max,close on |
| 133 // the right, will immediately send a button change event to the observer. | 132 // the right, will immediately send a button change event to the observer. |
| 134 virtual void AddWindowButtonOrderObserver( | 133 virtual void AddWindowButtonOrderObserver( |
| 135 WindowButtonOrderObserver* observer) = 0; | 134 WindowButtonOrderObserver* observer) = 0; |
| 136 | 135 |
| 137 // Removes the observer from the LinuxUI's list. | 136 // Removes the observer from the LinuxUI's list. |
| 138 virtual void RemoveWindowButtonOrderObserver( | 137 virtual void RemoveWindowButtonOrderObserver( |
| 139 WindowButtonOrderObserver* observer) = 0; | 138 WindowButtonOrderObserver* observer) = 0; |
| 140 | 139 |
| 141 // Notifies the observer when the native theme changes. | |
| 142 virtual void AddNativeThemeChangeObserver( | |
| 143 NativeThemeChangeObserver* observer) = 0; | |
| 144 virtual void RemoveNativeThemeChangeObserver( | |
| 145 NativeThemeChangeObserver* observer) = 0; | |
| 146 | |
| 147 // Determines whether the user's window manager is Unity. | 140 // Determines whether the user's window manager is Unity. |
| 148 virtual bool UnityIsRunning() = 0; | 141 virtual bool UnityIsRunning() = 0; |
| 149 | 142 |
| 150 // What action we should take when the user middle clicks on non-client | 143 // What action we should take when the user middle clicks on non-client |
| 151 // area. The default is lowering the window. | 144 // area. The default is lowering the window. |
| 152 virtual NonClientMiddleClickAction GetNonClientMiddleClickAction() = 0; | 145 virtual NonClientMiddleClickAction GetNonClientMiddleClickAction() = 0; |
| 153 | 146 |
| 154 // Notifies the window manager that start up has completed. | 147 // Notifies the window manager that start up has completed. |
| 155 // Normally Chromium opens a new window on startup and GTK does this | 148 // Normally Chromium opens a new window on startup and GTK does this |
| 156 // automatically. In case Chromium does not open a new window on startup, | 149 // automatically. In case Chromium does not open a new window on startup, |
| 157 // e.g. an existing browser window already exists, this should be called. | 150 // e.g. an existing browser window already exists, this should be called. |
| 158 virtual void NotifyWindowManagerStartupComplete() = 0; | 151 virtual void NotifyWindowManagerStartupComplete() = 0; |
| 159 }; | 152 }; |
| 160 | 153 |
| 161 } // namespace views | 154 } // namespace views |
| 162 | 155 |
| 163 #endif // UI_VIEWS_LINUX_UI_LINUX_UI_H_ | 156 #endif // UI_VIEWS_LINUX_UI_LINUX_UI_H_ |
| OLD | NEW |