| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ |
| 6 #define CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ | 6 #define CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "base/observer_list.h" | 14 #include "base/observer_list.h" |
| 15 #include "chrome/browser/ui/libgtk2ui/gtk2_signal.h" | 15 #include "chrome/browser/ui/libgtk2ui/gtk2_signal.h" |
| 16 #include "chrome/browser/ui/libgtk2ui/libgtk2ui_export.h" | 16 #include "chrome/browser/ui/libgtk2ui/libgtk2ui_export.h" |
| 17 #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" | |
| 18 #include "ui/gfx/color_utils.h" | 17 #include "ui/gfx/color_utils.h" |
| 19 #include "ui/views/linux_ui/linux_ui.h" | 18 #include "ui/views/linux_ui/linux_ui.h" |
| 20 #include "ui/views/window/frame_buttons.h" | 19 #include "ui/views/window/frame_buttons.h" |
| 21 | 20 |
| 22 typedef struct _GtkStyle GtkStyle; | 21 typedef struct _GtkStyle GtkStyle; |
| 23 typedef struct _GtkWidget GtkWidget; | 22 typedef struct _GtkWidget GtkWidget; |
| 24 | 23 |
| 25 class SkBitmap; | 24 class SkBitmap; |
| 26 | 25 |
| 27 namespace libgtk2ui { | 26 namespace libgtk2ui { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 gfx::Font::Weight* weight_out, | 60 gfx::Font::Weight* weight_out, |
| 62 gfx::FontRenderParams* params_out) const override; | 61 gfx::FontRenderParams* params_out) const override; |
| 63 | 62 |
| 64 // ui::ShellDialogLinux: | 63 // ui::ShellDialogLinux: |
| 65 ui::SelectFileDialog* CreateSelectFileDialog( | 64 ui::SelectFileDialog* CreateSelectFileDialog( |
| 66 ui::SelectFileDialog::Listener* listener, | 65 ui::SelectFileDialog::Listener* listener, |
| 67 ui::SelectFilePolicy* policy) const override; | 66 ui::SelectFilePolicy* policy) const override; |
| 68 | 67 |
| 69 // ui::LinuxUI: | 68 // ui::LinuxUI: |
| 70 void Initialize() override; | 69 void Initialize() override; |
| 71 // TODO(varkha): This should not be necessary once Material Design is on | |
| 72 // unconditionally. | |
| 73 void MaterialDesignControllerReady() override; | |
| 74 bool GetTint(int id, color_utils::HSL* tint) const override; | 70 bool GetTint(int id, color_utils::HSL* tint) const override; |
| 75 bool GetColor(int id, SkColor* color) const override; | 71 bool GetColor(int id, SkColor* color) const override; |
| 76 SkColor GetFocusRingColor() const override; | 72 SkColor GetFocusRingColor() const override; |
| 77 SkColor GetThumbActiveColor() const override; | 73 SkColor GetThumbActiveColor() const override; |
| 78 SkColor GetThumbInactiveColor() const override; | 74 SkColor GetThumbInactiveColor() const override; |
| 79 SkColor GetTrackColor() const override; | 75 SkColor GetTrackColor() const override; |
| 80 SkColor GetActiveSelectionBgColor() const override; | 76 SkColor GetActiveSelectionBgColor() const override; |
| 81 SkColor GetActiveSelectionFgColor() const override; | 77 SkColor GetActiveSelectionFgColor() const override; |
| 82 SkColor GetInactiveSelectionBgColor() const override; | 78 SkColor GetInactiveSelectionBgColor() const override; |
| 83 SkColor GetInactiveSelectionFgColor() const override; | 79 SkColor GetInactiveSelectionFgColor() const override; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 // thumb part and of the track colors. | 117 // thumb part and of the track colors. |
| 122 void SetScrollbarColors(); | 118 void SetScrollbarColors(); |
| 123 | 119 |
| 124 // Extracts colors and tints from the GTK theme, both for the | 120 // Extracts colors and tints from the GTK theme, both for the |
| 125 // ThemeService interface and the colors we send to webkit. | 121 // ThemeService interface and the colors we send to webkit. |
| 126 void LoadGtkValues(); | 122 void LoadGtkValues(); |
| 127 | 123 |
| 128 // Initialize the Xcursor theme and size with the GTK theme and size. | 124 // Initialize the Xcursor theme and size with the GTK theme and size. |
| 129 void LoadCursorTheme(); | 125 void LoadCursorTheme(); |
| 130 | 126 |
| 131 // Updates colors if necessary after possible modification of command line. | |
| 132 // TODO(varkha): This should not be necessary once Material Design is on | |
| 133 // unconditionally. | |
| 134 void UpdateMaterialDesignColors(); | |
| 135 | |
| 136 // Reads in explicit theme frame colors from the ChromeGtkFrame style class | 127 // Reads in explicit theme frame colors from the ChromeGtkFrame style class |
| 137 // or generates them per our fallback algorithm. | 128 // or generates them per our fallback algorithm. |
| 138 void BuildFrameColors(); | 129 void BuildFrameColors(); |
| 139 | 130 |
| 140 // Gets a tint which depends on the default for |id| as well as |color|. | 131 // Gets a tint which depends on the default for |id| as well as |color|. |
| 141 color_utils::HSL ColorToTint(int id, SkColor color); | 132 color_utils::HSL ColorToTint(int id, SkColor color); |
| 142 | 133 |
| 143 // Returns the tint for buttons that contrasts with the normal window | 134 // Returns the tint for buttons that contrasts with the normal window |
| 144 // background color. | 135 // background color. |
| 145 void GetNormalButtonTintHSL(color_utils::HSL* tint) const; | 136 void GetNormalButtonTintHSL(color_utils::HSL* tint) const; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 } // namespace libgtk2ui | 208 } // namespace libgtk2ui |
| 218 | 209 |
| 219 // Access point to the GTK2 desktop system. This should be the only symbol that | 210 // Access point to the GTK2 desktop system. This should be the only symbol that |
| 220 // is exported in the library; everything else should be used through the | 211 // is exported in the library; everything else should be used through the |
| 221 // interface, because eventually this .so will be loaded through dlopen at | 212 // interface, because eventually this .so will be loaded through dlopen at |
| 222 // runtime so our main binary can conditionally load GTK2 or GTK3 or EFL or | 213 // runtime so our main binary can conditionally load GTK2 or GTK3 or EFL or |
| 223 // QT or whatever. | 214 // QT or whatever. |
| 224 LIBGTK2UI_EXPORT views::LinuxUI* BuildGtk2UI(); | 215 LIBGTK2UI_EXPORT views::LinuxUI* BuildGtk2UI(); |
| 225 | 216 |
| 226 #endif // CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ | 217 #endif // CHROME_BROWSER_UI_LIBGTK2UI_GTK2_UI_H_ |
| OLD | NEW |