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

Side by Side Diff: chrome/browser/browser_theme_provider.h

Issue 149741: Allow the tiling of theme background images on the NTP.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/browser_theme_provider.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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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_BROWSER_THEME_PROVIDER_H_ 5 #ifndef CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
6 #define CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_ 6 #define CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // COLOR_FRAME* colors. 49 // COLOR_FRAME* colors.
50 static const char* kTintButtons; 50 static const char* kTintButtons;
51 static const char* kTintFrame; 51 static const char* kTintFrame;
52 static const char* kTintFrameInactive; 52 static const char* kTintFrameInactive;
53 static const char* kTintFrameIncognito; 53 static const char* kTintFrameIncognito;
54 static const char* kTintFrameIncognitoInactive; 54 static const char* kTintFrameIncognitoInactive;
55 static const char* kTintBackgroundTab; 55 static const char* kTintBackgroundTab;
56 56
57 // Strings used by themes to identify miscellaneous numerical properties. 57 // Strings used by themes to identify miscellaneous numerical properties.
58 static const char* kDisplayPropertyNTPAlignment; 58 static const char* kDisplayPropertyNTPAlignment;
59 static const char* kDisplayPropertyNTPTiling;
59 60
60 // Strings used in alignment properties. 61 // Strings used in alignment properties.
61 static const char* kAlignmentTop; 62 static const char* kAlignmentTop;
62 static const char* kAlignmentBottom; 63 static const char* kAlignmentBottom;
63 static const char* kAlignmentLeft; 64 static const char* kAlignmentLeft;
64 static const char* kAlignmentRight; 65 static const char* kAlignmentRight;
65 66
67 // Strings used in tiling properties.
68 static const char* kTilingNoRepeat;
69 static const char* kTilingRepeatX;
70 static const char* kTilingRepeatY;
71 static const char* kTilingRepeat;
72
66 // Default colors. 73 // Default colors.
67 static const SkColor kDefaultColorFrame; 74 static const SkColor kDefaultColorFrame;
68 static const SkColor kDefaultColorFrameInactive; 75 static const SkColor kDefaultColorFrameInactive;
69 static const SkColor kDefaultColorFrameIncognito; 76 static const SkColor kDefaultColorFrameIncognito;
70 static const SkColor kDefaultColorFrameIncognitoInactive; 77 static const SkColor kDefaultColorFrameIncognitoInactive;
71 static const SkColor kDefaultColorToolbar; 78 static const SkColor kDefaultColorToolbar;
72 static const SkColor kDefaultColorTabText; 79 static const SkColor kDefaultColorTabText;
73 static const SkColor kDefaultColorBackgroundTabText; 80 static const SkColor kDefaultColorBackgroundTabText;
74 static const SkColor kDefaultColorBookmarkText; 81 static const SkColor kDefaultColorBookmarkText;
75 static const SkColor kDefaultColorNTPBackground; 82 static const SkColor kDefaultColorNTPBackground;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 COLOR_NTP_SECTION_TEXT, 115 COLOR_NTP_SECTION_TEXT,
109 COLOR_NTP_SECTION_LINK, 116 COLOR_NTP_SECTION_LINK,
110 COLOR_CONTROL_BACKGROUND, 117 COLOR_CONTROL_BACKGROUND,
111 COLOR_BUTTON_BACKGROUND, 118 COLOR_BUTTON_BACKGROUND,
112 TINT_BUTTONS, 119 TINT_BUTTONS,
113 TINT_FRAME, 120 TINT_FRAME,
114 TINT_FRAME_INACTIVE, 121 TINT_FRAME_INACTIVE,
115 TINT_FRAME_INCOGNITO, 122 TINT_FRAME_INCOGNITO,
116 TINT_FRAME_INCOGNITO_INACTIVE, 123 TINT_FRAME_INCOGNITO_INACTIVE,
117 TINT_BACKGROUND_TAB, 124 TINT_BACKGROUND_TAB,
118 NTP_BACKGROUND_ALIGNMENT 125 NTP_BACKGROUND_ALIGNMENT,
126 NTP_BACKGROUND_TILING
119 }; 127 };
120 128
121 // A bitfield mask for alignments. 129 // A bitfield mask for alignments.
122 typedef enum { 130 typedef enum {
123 ALIGN_CENTER = 0x0, 131 ALIGN_CENTER = 0x0,
124 ALIGN_LEFT = 0x1, 132 ALIGN_LEFT = 0x1,
125 ALIGN_TOP = 0x2, 133 ALIGN_TOP = 0x2,
126 ALIGN_RIGHT = 0x4, 134 ALIGN_RIGHT = 0x4,
127 ALIGN_BOTTOM = 0x8, 135 ALIGN_BOTTOM = 0x8,
128 } AlignmentMasks; 136 } AlignmentMasks;
129 137
130 virtual void Init(Profile* profile); 138 // Background tiling choices.
139 enum {
140 NO_REPEAT = 0,
141 REPEAT_X = 1,
142 REPEAT_Y = 2,
143 REPEAT = 3
144 } Tiling;
145
146 void Init(Profile* profile);
131 147
132 // ThemeProvider implementation. 148 // ThemeProvider implementation.
133 virtual SkBitmap* GetBitmapNamed(int id); 149 virtual SkBitmap* GetBitmapNamed(int id);
134 virtual SkColor GetColor(int id); 150 virtual SkColor GetColor(int id);
135 virtual bool GetDisplayProperty(int id, int* result); 151 virtual bool GetDisplayProperty(int id, int* result);
136 virtual bool ShouldUseNativeFrame(); 152 virtual bool ShouldUseNativeFrame();
137 virtual bool HasCustomImage(int id); 153 virtual bool HasCustomImage(int id);
138 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS) 154 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS)
139 virtual GdkPixbuf* GetPixbufNamed(int id); 155 virtual GdkPixbuf* GetPixbufNamed(int id);
140 virtual GdkPixbuf* GetRTLEnabledPixbufNamed(int id); 156 virtual GdkPixbuf* GetRTLEnabledPixbufNamed(int id);
(...skipping 13 matching lines...) Expand all
154 virtual void SetNativeTheme() { UseDefaultTheme(); } 170 virtual void SetNativeTheme() { UseDefaultTheme(); }
155 171
156 // Convert a bitfield alignment into a string like "top left". Public so that 172 // Convert a bitfield alignment into a string like "top left". Public so that
157 // it can be used to generate CSS values. Takes a bitfield of AlignmentMasks. 173 // it can be used to generate CSS values. Takes a bitfield of AlignmentMasks.
158 static std::string AlignmentToString(int alignment); 174 static std::string AlignmentToString(int alignment);
159 175
160 // Parse alignments from something like "top left" into a bitfield of 176 // Parse alignments from something like "top left" into a bitfield of
161 // AlignmentMasks 177 // AlignmentMasks
162 static int StringToAlignment(const std::string &alignment); 178 static int StringToAlignment(const std::string &alignment);
163 179
180 // Convert a tiling value into a string like "no-repeat". Public
181 // so that it can be used to generate CSS values. Takes a Tiling.
182 static std::string TilingToString(int tiling);
183
184 // Parse tiling values from something like "no-repeat" into a Tiling value.
185 static int StringToTiling(const std::string &tiling);
186
164 protected: 187 protected:
165 // Sets an individual color value. 188 // Sets an individual color value.
166 void SetColor(const char* id, const SkColor& color); 189 void SetColor(const char* id, const SkColor& color);
167 190
168 // Sets an individual tint value. 191 // Sets an individual tint value.
169 void SetTint(const char* id, const skia::HSL& tint); 192 void SetTint(const char* id, const skia::HSL& tint);
170 193
171 // Generate any frame colors that weren't specified. 194 // Generate any frame colors that weren't specified.
172 void GenerateFrameColors(); 195 void GenerateFrameColors();
173 196
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 301
279 ImageMap images_; 302 ImageMap images_;
280 ColorMap colors_; 303 ColorMap colors_;
281 TintMap tints_; 304 TintMap tints_;
282 DisplayPropertyMap display_properties_; 305 DisplayPropertyMap display_properties_;
283 306
284 DISALLOW_COPY_AND_ASSIGN(BrowserThemeProvider); 307 DISALLOW_COPY_AND_ASSIGN(BrowserThemeProvider);
285 }; 308 };
286 309
287 #endif // CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_ 310 #endif // CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browser_theme_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698