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_LIBGTKUI_GTK_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_LIBGTKUI_GTK_UI_H_ |
6 #define CHROME_BROWSER_UI_LIBGTKUI_GTK_UI_H_ | 6 #define CHROME_BROWSER_UI_LIBGTKUI_GTK_UI_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <vector> | 10 #include <vector> |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 views::WindowButtonOrderObserver* observer) override; | 98 views::WindowButtonOrderObserver* observer) override; |
99 bool UnityIsRunning() override; | 99 bool UnityIsRunning() override; |
100 NonClientMiddleClickAction GetNonClientMiddleClickAction() override; | 100 NonClientMiddleClickAction GetNonClientMiddleClickAction() override; |
101 void NotifyWindowManagerStartupComplete() override; | 101 void NotifyWindowManagerStartupComplete() override; |
102 | 102 |
103 // ui::TextEditKeybindingDelegate: | 103 // ui::TextEditKeybindingDelegate: |
104 bool MatchEvent(const ui::Event& event, | 104 bool MatchEvent(const ui::Event& event, |
105 std::vector<ui::TextEditCommandAuraLinux>* commands) override; | 105 std::vector<ui::TextEditCommandAuraLinux>* commands) override; |
106 | 106 |
107 // ui::Views::LinuxUI: | 107 // ui::Views::LinuxUI: |
108 void UpdateDeviceScaleFactor(float device_scale_factor) override; | 108 void UpdateDeviceScaleFactor() override; |
109 float GetDeviceScaleFactor() const override; | 109 float GetDeviceScaleFactor() const override; |
110 | 110 |
111 private: | 111 private: |
112 typedef std::map<int, SkColor> ColorMap; | 112 typedef std::map<int, SkColor> ColorMap; |
113 typedef std::map<int, color_utils::HSL> TintMap; | 113 typedef std::map<int, color_utils::HSL> TintMap; |
114 | 114 |
115 // This method returns the colors webkit will use for the scrollbars. When no | 115 // This method returns the colors webkit will use for the scrollbars. When no |
116 // colors are specified by the GTK+ theme, this function averages of the | 116 // colors are specified by the GTK+ theme, this function averages of the |
117 // thumb part and of the track colors. | 117 // thumb part and of the track colors. |
118 void SetScrollbarColors(); | 118 void SetScrollbarColors(); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 SkColor thumb_active_color_; | 163 SkColor thumb_active_color_; |
164 SkColor thumb_inactive_color_; | 164 SkColor thumb_inactive_color_; |
165 SkColor track_color_; | 165 SkColor track_color_; |
166 SkColor active_selection_bg_color_; | 166 SkColor active_selection_bg_color_; |
167 SkColor active_selection_fg_color_; | 167 SkColor active_selection_fg_color_; |
168 SkColor inactive_selection_bg_color_; | 168 SkColor inactive_selection_bg_color_; |
169 SkColor inactive_selection_fg_color_; | 169 SkColor inactive_selection_fg_color_; |
170 | 170 |
171 // Details about the default UI font. | 171 // Details about the default UI font. |
172 std::string default_font_family_; | 172 std::string default_font_family_; |
173 int default_font_size_pixels_; | 173 int default_font_size_pixels_ = 0; |
174 int default_font_style_; // Bitfield of gfx::Font::Style values. | 174 // Bitfield of gfx::Font::Style values. |
175 gfx::Font::Weight default_font_weight_; | 175 int default_font_style_ = gfx::Font::NORMAL; |
| 176 gfx::Font::Weight default_font_weight_ = gfx::Font::Weight::NORMAL; |
176 gfx::FontRenderParams default_font_render_params_; | 177 gfx::FontRenderParams default_font_render_params_; |
177 | 178 |
178 #if defined(USE_GCONF) | 179 #if defined(USE_GCONF) |
179 // Currently, the only source of window button configuration. This will | 180 // Currently, the only source of window button configuration. This will |
180 // change if we ever have to support XFCE's configuration system or KDE's. | 181 // change if we ever have to support XFCE's configuration system or KDE's. |
181 std::unique_ptr<GConfListener> gconf_listener_; | 182 std::unique_ptr<GConfListener> gconf_listener_; |
182 #endif // defined(USE_GCONF) | 183 #endif // defined(USE_GCONF) |
183 | 184 |
184 // If either of these vectors are non-empty, they represent the current | 185 // If either of these vectors are non-empty, they represent the current |
185 // window button configuration. | 186 // window button configuration. |
186 std::vector<views::FrameButton> leading_buttons_; | 187 std::vector<views::FrameButton> leading_buttons_; |
187 std::vector<views::FrameButton> trailing_buttons_; | 188 std::vector<views::FrameButton> trailing_buttons_; |
188 | 189 |
189 std::unique_ptr<Gtk2KeyBindingsHandler> key_bindings_handler_; | 190 std::unique_ptr<Gtk2KeyBindingsHandler> key_bindings_handler_; |
190 | 191 |
191 // Objects to notify when the window frame button order changes. | 192 // Objects to notify when the window frame button order changes. |
192 base::ObserverList<views::WindowButtonOrderObserver> observer_list_; | 193 base::ObserverList<views::WindowButtonOrderObserver> observer_list_; |
193 | 194 |
194 // Whether we should lower the window on a middle click to the non client | 195 // Whether we should lower the window on a middle click to the non client |
195 // area. | 196 // area. |
196 NonClientMiddleClickAction middle_click_action_; | 197 NonClientMiddleClickAction middle_click_action_; |
197 | 198 |
198 // Used to override the native theme for a window. If no override is provided | 199 // Used to override the native theme for a window. If no override is provided |
199 // or the callback returns NULL, Gtk2UI will default to a NativeThemeGtk2 | 200 // or the callback returns NULL, Gtk2UI will default to a NativeThemeGtk2 |
200 // instance. | 201 // instance. |
201 NativeThemeGetter native_theme_overrider_; | 202 NativeThemeGetter native_theme_overrider_; |
202 | 203 |
203 float device_scale_factor_; | 204 float device_scale_factor_ = 1.0f; |
204 | 205 |
205 DISALLOW_COPY_AND_ASSIGN(Gtk2UI); | 206 DISALLOW_COPY_AND_ASSIGN(Gtk2UI); |
206 }; | 207 }; |
207 | 208 |
208 } // namespace libgtkui | 209 } // namespace libgtkui |
209 | 210 |
210 // Access point to the GTK2 desktop system. This should be the only symbol that | 211 // Access point to the GTK2 desktop system. This should be the only symbol that |
211 // is exported in the library; everything else should be used through the | 212 // is exported in the library; everything else should be used through the |
212 // interface, because eventually this .so will be loaded through dlopen at | 213 // interface, because eventually this .so will be loaded through dlopen at |
213 // runtime so our main binary can conditionally load GTK2 or GTK3 or EFL or | 214 // runtime so our main binary can conditionally load GTK2 or GTK3 or EFL or |
214 // QT or whatever. | 215 // QT or whatever. |
215 LIBGTKUI_EXPORT views::LinuxUI* BuildGtk2UI(); | 216 LIBGTKUI_EXPORT views::LinuxUI* BuildGtk2UI(); |
216 | 217 |
217 #endif // CHROME_BROWSER_UI_LIBGTKUI_GTK_UI_H_ | 218 #endif // CHROME_BROWSER_UI_LIBGTKUI_GTK_UI_H_ |
OLD | NEW |