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

Side by Side Diff: ui/views/bubble/bubble_border.cc

Issue 53703002: Remove IDR_BUBBLE_SHADOW, use IDR_WINDOW_BUBBLE_SHADOW_BIG. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove IDR_BUBBLE_SHADOW, use IDR_WINDOW_BUBBLE_SHADOW_BIG. Created 7 years, 1 month 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 | « ui/views/bubble/bubble_border.h ('k') | ui/views/examples/bubble_example.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 "ui/views/bubble/bubble_border.h" 5 #include "ui/views/bubble/bubble_border.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 } // namespace internal 69 } // namespace internal
70 70
71 namespace { 71 namespace {
72 72
73 // The border and arrow stroke size used in image assets, in pixels. 73 // The border and arrow stroke size used in image assets, in pixels.
74 const int kStroke = 1; 74 const int kStroke = 1;
75 75
76 // Bubble border and arrow image resource ids. They don't use the IMAGE_GRID 76 // Bubble border and arrow image resource ids. They don't use the IMAGE_GRID
77 // macro because there is no center image. 77 // macro because there is no center image.
78 const int kShadowImages[] = {
79 IDR_BUBBLE_SHADOW_TL, IDR_BUBBLE_SHADOW_T, IDR_BUBBLE_SHADOW_TR,
80 IDR_BUBBLE_SHADOW_L, 0, IDR_BUBBLE_SHADOW_R,
81 IDR_BUBBLE_SHADOW_BL, IDR_BUBBLE_SHADOW_B, IDR_BUBBLE_SHADOW_BR };
82 const int kShadowArrows[] = { 0, 0, 0, 0 };
83
84 const int kNoShadowImages[] = { 78 const int kNoShadowImages[] = {
85 IDR_BUBBLE_TL, IDR_BUBBLE_T, IDR_BUBBLE_TR, 79 IDR_BUBBLE_TL, IDR_BUBBLE_T, IDR_BUBBLE_TR,
86 IDR_BUBBLE_L, 0, IDR_BUBBLE_R, 80 IDR_BUBBLE_L, 0, IDR_BUBBLE_R,
87 IDR_BUBBLE_BL, IDR_BUBBLE_B, IDR_BUBBLE_BR }; 81 IDR_BUBBLE_BL, IDR_BUBBLE_B, IDR_BUBBLE_BR };
88 const int kNoShadowArrows[] = { 82 const int kNoShadowArrows[] = {
89 IDR_BUBBLE_L_ARROW, IDR_BUBBLE_T_ARROW, 83 IDR_BUBBLE_L_ARROW, IDR_BUBBLE_T_ARROW,
90 IDR_BUBBLE_R_ARROW, IDR_BUBBLE_B_ARROW, }; 84 IDR_BUBBLE_R_ARROW, IDR_BUBBLE_B_ARROW, };
91 85
92 const int kBigShadowImages[] = { 86 const int kBigShadowImages[] = {
93 IDR_WINDOW_BUBBLE_SHADOW_BIG_TOP_LEFT, 87 IDR_WINDOW_BUBBLE_SHADOW_BIG_TOP_LEFT,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 BorderImages* GetBorderImages(BubbleBorder::Shadow shadow) { 121 BorderImages* GetBorderImages(BubbleBorder::Shadow shadow) {
128 // Keep a cache of bubble border image-set painters, arrows, and metrics. 122 // Keep a cache of bubble border image-set painters, arrows, and metrics.
129 static BorderImages* kBorderImages[BubbleBorder::SHADOW_COUNT] = { NULL }; 123 static BorderImages* kBorderImages[BubbleBorder::SHADOW_COUNT] = { NULL };
130 124
131 CHECK_LT(shadow, BubbleBorder::SHADOW_COUNT); 125 CHECK_LT(shadow, BubbleBorder::SHADOW_COUNT);
132 struct BorderImages*& set = kBorderImages[shadow]; 126 struct BorderImages*& set = kBorderImages[shadow];
133 if (set) 127 if (set)
134 return set; 128 return set;
135 129
136 switch (shadow) { 130 switch (shadow) {
137 case BubbleBorder::SHADOW:
138 // Note: SHADOW's border interior thickness is actually 10, but 0 is used
139 // here to match the legacy appearance of SHADOW's extra large inset.
140 set = new BorderImages(kShadowImages, kShadowArrows, 0, 0, 3);
141 break;
142 case BubbleBorder::NO_SHADOW: 131 case BubbleBorder::NO_SHADOW:
143 case BubbleBorder::NO_SHADOW_OPAQUE_BORDER: 132 case BubbleBorder::NO_SHADOW_OPAQUE_BORDER:
144 set = new BorderImages(kNoShadowImages, kNoShadowArrows, 6, 7, 4); 133 set = new BorderImages(kNoShadowImages, kNoShadowArrows, 6, 7, 4);
145 break; 134 break;
146 case BubbleBorder::BIG_SHADOW: 135 case BubbleBorder::BIG_SHADOW:
147 set = new BorderImages(kBigShadowImages, kBigShadowArrows, 23, 9, 2); 136 set = new BorderImages(kBigShadowImages, kBigShadowArrows, 23, 9, 2);
148 break; 137 break;
149 case BubbleBorder::SMALL_SHADOW: 138 case BubbleBorder::SMALL_SHADOW:
150 set = new BorderImages(kSmallShadowImages, kSmallShadowArrows, 5, 6, 2); 139 set = new BorderImages(kSmallShadowImages, kSmallShadowArrows, 5, 6, 2);
151 break; 140 break;
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 362
374 // Fill the contents with a round-rect region to match the border images. 363 // Fill the contents with a round-rect region to match the border images.
375 SkPaint paint; 364 SkPaint paint;
376 paint.setAntiAlias(true); 365 paint.setAntiAlias(true);
377 paint.setStyle(SkPaint::kFill_Style); 366 paint.setStyle(SkPaint::kFill_Style);
378 paint.setColor(border_->background_color()); 367 paint.setColor(border_->background_color());
379 SkPath path; 368 SkPath path;
380 gfx::Rect bounds(view->GetLocalBounds()); 369 gfx::Rect bounds(view->GetLocalBounds());
381 bounds.Inset(border_->GetInsets()); 370 bounds.Inset(border_->GetInsets());
382 371
383 // Note: This matches the legacy appearance of SHADOW's extra large inset.
384 if (border_->shadow() == BubbleBorder::SHADOW)
385 bounds.Inset(-10, -10);
386
387 SkScalar radius = SkIntToScalar(border_->GetBorderCornerRadius()); 372 SkScalar radius = SkIntToScalar(border_->GetBorderCornerRadius());
388 path.addRoundRect(gfx::RectToSkRect(bounds), radius, radius); 373 path.addRoundRect(gfx::RectToSkRect(bounds), radius, radius);
389 canvas->DrawPath(path, paint); 374 canvas->DrawPath(path, paint);
390 } 375 }
391 376
392 } // namespace views 377 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/bubble/bubble_border.h ('k') | ui/views/examples/bubble_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698