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

Side by Side Diff: chrome/browser/ui/libgtkui/gtk_util.h

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 | « chrome/browser/ui/libgtkui/gtk_ui.cc ('k') | chrome/browser/ui/libgtkui/gtk_util.cc » ('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 #ifndef CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_ 5 #ifndef CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_
6 #define CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_ 6 #define CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_
7 7
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #include <string> 9 #include <string>
10 10
11 #include "ui/native_theme/native_theme.h" 11 #include "ui/native_theme/native_theme.h"
12 12
13 namespace aura { 13 namespace aura {
14 class Window; 14 class Window;
15 } 15 }
16 16
17 namespace base { 17 namespace base {
18 class CommandLine; 18 class CommandLine;
19 class Environment; 19 class Environment;
20 } 20 }
21 21
22 namespace color_utils {
23 struct HSL;
24 }
25
22 namespace ui { 26 namespace ui {
23 class Accelerator; 27 class Accelerator;
24 } 28 }
25 29
26 namespace libgtkui { 30 namespace libgtkui {
27 31
32 // Default frame tints
33 extern const color_utils::HSL kDefaultTintFrameIncognito;
34 extern const color_utils::HSL kDefaultTintFrameIncognitoInactive;
35
28 extern const SkColor kInvalidColorIdColor; 36 extern const SkColor kInvalidColorIdColor;
29 extern const SkColor kURLTextColor; 37 extern const SkColor kURLTextColor;
30 38
31 // Generates the normal URL color, a green color used in unhighlighted URL 39 // Generates the normal URL color, a green color used in unhighlighted URL
32 // text. It is a mix of |kURLTextColor| and the current text color. Unlike the 40 // text. It is a mix of |kURLTextColor| and the current text color. Unlike the
33 // selected text color, it is more important to match the qualities of the 41 // selected text color, it is more important to match the qualities of the
34 // foreground typeface color instead of taking the background into account. 42 // foreground typeface color instead of taking the background into account.
35 SkColor NormalURLColor(SkColor foreground); 43 SkColor NormalURLColor(SkColor foreground);
36 44
37 // Generates the selected URL color, a green color used on URL text in the 45 // Generates the selected URL color, a green color used on URL text in the
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 typedef ScopedGObject<GtkStyleContext> ScopedStyleContext; 132 typedef ScopedGObject<GtkStyleContext> ScopedStyleContext;
125 133
126 // Parses |css_selector| into a GtkStyleContext. The format is a 134 // Parses |css_selector| into a GtkStyleContext. The format is a
127 // sequence of whitespace-separated objects. Each object may have at 135 // sequence of whitespace-separated objects. Each object may have at
128 // most one object name at the beginning of the string, and any number 136 // most one object name at the beginning of the string, and any number
129 // of '.'-prefixed classes and ':'-prefixed pseudoclasses. An example 137 // of '.'-prefixed classes and ':'-prefixed pseudoclasses. An example
130 // is "GtkButton.button.suggested-action:hover:active". The caller 138 // is "GtkButton.button.suggested-action:hover:active". The caller
131 // must g_object_unref() the returned context. 139 // must g_object_unref() the returned context.
132 ScopedStyleContext GetStyleContextFromCss(const char* css_selector); 140 ScopedStyleContext GetStyleContextFromCss(const char* css_selector);
133 141
142 // Removes all border-type properties on |context| and all of its parents.
143 void RemoveBorders(GtkStyleContext* context);
144
134 // Get the 'color' property from the style context created by 145 // Get the 'color' property from the style context created by
135 // GetStyleContextFromCss(|css_selector|). 146 // GetStyleContextFromCss(|css_selector|).
136 SkColor GetFgColor(const char* css_selector); 147 SkColor GetFgColor(const char* css_selector);
137 148
149 // Renders the backgrounds of all ancestors of |context|, then renders
150 // the background for |context| itself.
151 void RenderBackground(const gfx::Size& size,
152 cairo_t* cr,
153 GtkStyleContext* context);
154
138 // Renders a background from the style context created by 155 // Renders a background from the style context created by
139 // GetStyleContextFromCss(|css_selector|) into a single pixel and 156 // GetStyleContextFromCss(|css_selector|) into a single pixel and
140 // returns the color. 157 // returns the color.
141 SkColor GetBgColor(const char* css_selector); 158 SkColor GetBgColor(const char* css_selector);
142 159
143 // If there is a border, renders the border from the style context 160 // If there is a border, renders the border from the style context
144 // created by GetStyleContextFromCss(|css_selector|) into a single 161 // created by GetStyleContextFromCss(|css_selector|) into a single
145 // pixel and returns the color. Otherwise returns kInvalidColor. 162 // pixel and returns the color. Otherwise returns kInvalidColor.
146 SkColor GetBorderColor(const char* css_selector); 163 SkColor GetBorderColor(const char* css_selector);
147 #endif 164 #endif
148 165
149 } // namespace libgtkui 166 } // namespace libgtkui
150 167
151 #endif // CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_ 168 #endif // CHROME_BROWSER_UI_LIBGTKUI_GTK_UTIL_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/libgtkui/gtk_ui.cc ('k') | chrome/browser/ui/libgtkui/gtk_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698