Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: chrome/browser/ui/libgtkui/gtk_ui.cc

Issue 2628043002: Gtk3: Render a GtkHeaderBar as the background of the tab strip (Closed)
Patch Set: Guard kFrameTopArea with #if defined(OS_LINUX) && !defined(OS_CHROMEOS) Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/libgtkui/gtk_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/browser/ui/libgtkui/gtk_ui.h" 5 #include "chrome/browser/ui/libgtkui/gtk_ui.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <pango/pango.h> 8 #include <pango/pango.h>
9 #include <X11/Xcursor/Xcursor.h> 9 #include <X11/Xcursor/Xcursor.h>
10 10
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 229
230 // Prefix for app indicator ids 230 // Prefix for app indicator ids
231 const char kAppIndicatorIdPrefix[] = "chrome_app_indicator_"; 231 const char kAppIndicatorIdPrefix[] = "chrome_app_indicator_";
232 232
233 // Number of app indicators used (used as part of app-indicator id). 233 // Number of app indicators used (used as part of app-indicator id).
234 int indicators_count; 234 int indicators_count;
235 235
236 // The unknown content type. 236 // The unknown content type.
237 const char* kUnknownContentType = "application/octet-stream"; 237 const char* kUnknownContentType = "application/octet-stream";
238 238
239 // TODO(erg): ThemeService has a whole interface just for reading default
240 // constants. Figure out what to do with that more long term; for now, just
241 // copy the constants themselves here.
242 //
243 // Default tints.
244 const color_utils::HSL kDefaultTintFrameIncognito = {-1, 0.2f, 0.35f};
245 #if GTK_MAJOR_VERSION == 2
246 const color_utils::HSL kDefaultTintFrameIncognitoInactive = {-1, 0.3f, 0.6f};
247 #endif
248
249 // Picks a button tint from a set of background colors. While 239 // Picks a button tint from a set of background colors. While
250 // |accent_color| will usually be the same color through a theme, this 240 // |accent_color| will usually be the same color through a theme, this
251 // function will get called with the normal GtkLabel |text_color|/GtkWindow 241 // function will get called with the normal GtkLabel |text_color|/GtkWindow
252 // |background_color| pair and the GtkEntry |text_color|/|background_color| 242 // |background_color| pair and the GtkEntry |text_color|/|background_color|
253 // pair. While 3/4 of the time the resulting tint will be the same, themes that 243 // pair. While 3/4 of the time the resulting tint will be the same, themes that
254 // have a dark window background (with light text) and a light text entry (with 244 // have a dark window background (with light text) and a light text entry (with
255 // dark text) will get better icons with this separated out. 245 // dark text) will get better icons with this separated out.
256 void PickButtonTintFromColors(SkColor accent_color, 246 void PickButtonTintFromColors(SkColor accent_color,
257 SkColor text_color, 247 SkColor text_color,
258 SkColor background_color, 248 SkColor background_color,
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 if (theme) 892 if (theme)
903 XcursorSetTheme(gfx::GetXDisplay(), theme); 893 XcursorSetTheme(gfx::GetXDisplay(), theme);
904 if (size) 894 if (size)
905 XcursorSetDefaultSize(gfx::GetXDisplay(), size); 895 XcursorSetDefaultSize(gfx::GetXDisplay(), size);
906 896
907 g_free(theme); 897 g_free(theme);
908 } 898 }
909 899
910 void GtkUi::BuildFrameColors() { 900 void GtkUi::BuildFrameColors() {
911 #if GTK_MAJOR_VERSION == 2 901 #if GTK_MAJOR_VERSION == 2
912 color_utils::HSL kDefaultFrameShift = {-1, -1, 0.4}; 902 const color_utils::HSL kDefaultFrameShift = {-1, -1, 0.4};
913 SkColor frame_color = 903 SkColor frame_color =
914 native_theme_->GetSystemColor(ui::NativeTheme::kColorId_WindowBackground); 904 native_theme_->GetSystemColor(ui::NativeTheme::kColorId_WindowBackground);
915 frame_color = color_utils::HSLShift(frame_color, kDefaultFrameShift); 905 frame_color = color_utils::HSLShift(frame_color, kDefaultFrameShift);
916 GetChromeStyleColor("frame-color", &frame_color); 906 GetChromeStyleColor("frame-color", &frame_color);
917 colors_[ThemeProperties::COLOR_FRAME] = frame_color; 907 colors_[ThemeProperties::COLOR_FRAME] = frame_color;
918 908
919 GtkStyle* style = gtk_rc_get_style(fake_window_); 909 GtkStyle* style = gtk_rc_get_style(fake_window_);
920 SkColor temp_color = color_utils::HSLShift( 910 SkColor temp_color = color_utils::HSLShift(
921 GdkColorToSkColor(style->bg[GTK_STATE_INSENSITIVE]), kDefaultFrameShift); 911 GdkColorToSkColor(style->bg[GTK_STATE_INSENSITIVE]), kDefaultFrameShift);
922 GetChromeStyleColor("inactive-frame-color", &temp_color); 912 GetChromeStyleColor("inactive-frame-color", &temp_color);
923 colors_[ThemeProperties::COLOR_FRAME_INACTIVE] = temp_color; 913 colors_[ThemeProperties::COLOR_FRAME_INACTIVE] = temp_color;
924 914
925 temp_color = color_utils::HSLShift(frame_color, kDefaultTintFrameIncognito); 915 temp_color = color_utils::HSLShift(frame_color, kDefaultTintFrameIncognito);
926 GetChromeStyleColor("incognito-frame-color", &temp_color); 916 GetChromeStyleColor("incognito-frame-color", &temp_color);
927 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO] = temp_color; 917 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO] = temp_color;
928 918
929 temp_color = 919 temp_color =
930 color_utils::HSLShift(frame_color, kDefaultTintFrameIncognitoInactive); 920 color_utils::HSLShift(frame_color, kDefaultTintFrameIncognitoInactive);
931 GetChromeStyleColor("incognito-inactive-frame-color", &temp_color); 921 GetChromeStyleColor("incognito-inactive-frame-color", &temp_color);
932 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE] = temp_color; 922 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE] = temp_color;
933 #else 923 #else
934 // TODO(thomasanderson): Render a GtkHeaderBar directly.
935 SkColor color_frame = GetBgColor("#headerbar.header-bar.titlebar"); 924 SkColor color_frame = GetBgColor("#headerbar.header-bar.titlebar");
936 SkColor color_frame_inactive = 925 SkColor color_frame_inactive =
937 GetBgColor("#headerbar.header-bar.titlebar:backdrop"); 926 GetBgColor("#headerbar.header-bar.titlebar:backdrop");
938 colors_[ThemeProperties::COLOR_FRAME] = color_frame; 927 colors_[ThemeProperties::COLOR_FRAME] = color_frame;
939 colors_[ThemeProperties::COLOR_FRAME_INACTIVE] = color_frame_inactive; 928 colors_[ThemeProperties::COLOR_FRAME_INACTIVE] = color_frame_inactive;
940 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO] = 929 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO] =
941 color_utils::HSLShift(color_frame, kDefaultTintFrameIncognito); 930 color_utils::HSLShift(color_frame, kDefaultTintFrameIncognito);
942 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE] = 931 colors_[ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE] =
943 color_utils::HSLShift(color_frame_inactive, kDefaultTintFrameIncognito); 932 color_utils::HSLShift(color_frame_inactive, kDefaultTintFrameIncognito);
944 #endif 933 #endif
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1053 1042
1054 float GtkUi::GetDeviceScaleFactor() const { 1043 float GtkUi::GetDeviceScaleFactor() const {
1055 return device_scale_factor_; 1044 return device_scale_factor_;
1056 } 1045 }
1057 1046
1058 } // namespace libgtkui 1047 } // namespace libgtkui
1059 1048
1060 views::LinuxUI* BuildGtkUi() { 1049 views::LinuxUI* BuildGtkUi() {
1061 return new libgtkui::GtkUi; 1050 return new libgtkui::GtkUi;
1062 } 1051 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/libgtkui/gtk_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698