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

Side by Side Diff: ash/common/frame/default_header_painter.cc

Issue 2640983002: Rename paint data structures (Closed)
Patch Set: DrawingDisplayItem Created 3 years, 10 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ash/common/frame/default_header_painter.h" 5 #include "ash/common/frame/default_header_painter.h"
6 6
7 #include "ash/common/ash_layout_constants.h" 7 #include "ash/common/ash_layout_constants.h"
8 #include "ash/common/frame/caption_buttons/frame_caption_button_container_view.h " 8 #include "ash/common/frame/caption_buttons/frame_caption_button_container_view.h "
9 #include "ash/common/frame/header_painter_util.h" 9 #include "ash/common/frame/header_painter_util.h"
10 #include "ash/resources/vector_icons/vector_icons.h" 10 #include "ash/resources/vector_icons/vector_icons.h"
11 #include "base/debug/leak_annotations.h" 11 #include "base/debug/leak_annotations.h"
12 #include "base/logging.h" // DCHECK 12 #include "base/logging.h" // DCHECK
13 #include "grit/ash_resources.h" 13 #include "grit/ash_resources.h"
14 #include "third_party/skia/include/core/SkPaint.h"
15 #include "third_party/skia/include/core/SkPath.h" 14 #include "third_party/skia/include/core/SkPath.h"
16 #include "ui/base/resource/resource_bundle.h" 15 #include "ui/base/resource/resource_bundle.h"
17 #include "ui/gfx/animation/slide_animation.h" 16 #include "ui/gfx/animation/slide_animation.h"
18 #include "ui/gfx/canvas.h" 17 #include "ui/gfx/canvas.h"
19 #include "ui/gfx/color_utils.h" 18 #include "ui/gfx/color_utils.h"
20 #include "ui/gfx/font_list.h" 19 #include "ui/gfx/font_list.h"
21 #include "ui/gfx/geometry/rect.h" 20 #include "ui/gfx/geometry/rect.h"
22 #include "ui/gfx/image/image.h" 21 #include "ui/gfx/image/image.h"
23 #include "ui/gfx/scoped_canvas.h" 22 #include "ui/gfx/scoped_canvas.h"
24 #include "ui/gfx/skia_util.h" 23 #include "ui/gfx/skia_util.h"
(...skipping 13 matching lines...) Expand all
38 // Color of the inactive window header/content separator line. 37 // Color of the inactive window header/content separator line.
39 const SkColor kHeaderContentSeparatorInactiveColor = 38 const SkColor kHeaderContentSeparatorInactiveColor =
40 SkColorSetRGB(180, 180, 182); 39 SkColorSetRGB(180, 180, 182);
41 // The default color of the frame. 40 // The default color of the frame.
42 const SkColor kDefaultFrameColor = SkColorSetRGB(242, 242, 242); 41 const SkColor kDefaultFrameColor = SkColorSetRGB(242, 242, 242);
43 // Duration of crossfade animation for activating and deactivating frame. 42 // Duration of crossfade animation for activating and deactivating frame.
44 const int kActivationCrossfadeDurationMs = 200; 43 const int kActivationCrossfadeDurationMs = 200;
45 44
46 // Tiles an image into an area, rounding the top corners. 45 // Tiles an image into an area, rounding the top corners.
47 void TileRoundRect(gfx::Canvas* canvas, 46 void TileRoundRect(gfx::Canvas* canvas,
48 const SkPaint& paint, 47 const cc::PaintFlags& paint,
49 const gfx::Rect& bounds, 48 const gfx::Rect& bounds,
50 int corner_radius) { 49 int corner_radius) {
51 SkRect rect = gfx::RectToSkRect(bounds); 50 SkRect rect = gfx::RectToSkRect(bounds);
52 const SkScalar corner_radius_scalar = SkIntToScalar(corner_radius); 51 const SkScalar corner_radius_scalar = SkIntToScalar(corner_radius);
53 SkScalar radii[8] = {corner_radius_scalar, 52 SkScalar radii[8] = {corner_radius_scalar,
54 corner_radius_scalar, // top-left 53 corner_radius_scalar, // top-left
55 corner_radius_scalar, 54 corner_radius_scalar,
56 corner_radius_scalar, // top-right 55 corner_radius_scalar, // top-right
57 0, 56 0,
58 0, // bottom-right 57 0, // bottom-right
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 else 131 else
133 activation_animation_->Reset(0); 132 activation_animation_->Reset(0);
134 } 133 }
135 initial_paint_ = false; 134 initial_paint_ = false;
136 } 135 }
137 136
138 int corner_radius = (frame_->IsMaximized() || frame_->IsFullscreen()) 137 int corner_radius = (frame_->IsMaximized() || frame_->IsFullscreen())
139 ? 0 138 ? 0
140 : HeaderPainterUtil::GetTopCornerRadiusWhenRestored(); 139 : HeaderPainterUtil::GetTopCornerRadiusWhenRestored();
141 140
142 SkPaint paint; 141 cc::PaintFlags paint;
143 int active_alpha = activation_animation_->CurrentValueBetween(0, 255); 142 int active_alpha = activation_animation_->CurrentValueBetween(0, 255);
144 paint.setColor(color_utils::AlphaBlend(active_frame_color_, 143 paint.setColor(color_utils::AlphaBlend(active_frame_color_,
145 inactive_frame_color_, active_alpha)); 144 inactive_frame_color_, active_alpha));
146 paint.setAntiAlias(true); 145 paint.setAntiAlias(true);
147 TileRoundRect(canvas, paint, GetLocalBounds(), corner_radius); 146 TileRoundRect(canvas, paint, GetLocalBounds(), corner_radius);
148 147
149 if (!frame_->IsMaximized() && !frame_->IsFullscreen() && 148 if (!frame_->IsMaximized() && !frame_->IsFullscreen() &&
150 mode_ == MODE_INACTIVE && !UsesCustomFrameColors()) { 149 mode_ == MODE_INACTIVE && !UsesCustomFrameColors()) {
151 PaintHighlightForInactiveRestoredWindow(canvas); 150 PaintHighlightForInactiveRestoredWindow(canvas);
152 } 151 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 title_bounds.set_x(view_->GetMirroredXForRect(title_bounds)); 262 title_bounds.set_x(view_->GetMirroredXForRect(title_bounds));
264 canvas->DrawStringRectWithFlags( 263 canvas->DrawStringRectWithFlags(
265 frame_->widget_delegate()->GetWindowTitle(), GetTitleFontList(), 264 frame_->widget_delegate()->GetWindowTitle(), GetTitleFontList(),
266 kTitleTextColor, title_bounds, gfx::Canvas::NO_SUBPIXEL_RENDERING); 265 kTitleTextColor, title_bounds, gfx::Canvas::NO_SUBPIXEL_RENDERING);
267 } 266 }
268 267
269 void DefaultHeaderPainter::PaintHeaderContentSeparator(gfx::Canvas* canvas) { 268 void DefaultHeaderPainter::PaintHeaderContentSeparator(gfx::Canvas* canvas) {
270 gfx::ScopedCanvas scoped_canvas(canvas); 269 gfx::ScopedCanvas scoped_canvas(canvas);
271 const float scale = canvas->UndoDeviceScaleFactor(); 270 const float scale = canvas->UndoDeviceScaleFactor();
272 gfx::RectF rect(0, painted_height_ * scale - 1, view_->width() * scale, 1); 271 gfx::RectF rect(0, painted_height_ * scale - 1, view_->width() * scale, 1);
273 SkPaint paint; 272 cc::PaintFlags paint;
274 paint.setColor((mode_ == MODE_ACTIVE) ? kHeaderContentSeparatorColor 273 paint.setColor((mode_ == MODE_ACTIVE) ? kHeaderContentSeparatorColor
275 : kHeaderContentSeparatorInactiveColor); 274 : kHeaderContentSeparatorInactiveColor);
276 canvas->sk_canvas()->drawRect(gfx::RectFToSkRect(rect), paint); 275 canvas->sk_canvas()->drawRect(gfx::RectFToSkRect(rect), paint);
277 } 276 }
278 277
279 bool DefaultHeaderPainter::ShouldUseLightImages() { 278 bool DefaultHeaderPainter::ShouldUseLightImages() {
280 return color_utils::IsDark(mode_ == MODE_INACTIVE ? inactive_frame_color_ 279 return color_utils::IsDark(mode_ == MODE_INACTIVE ? inactive_frame_color_
281 : active_frame_color_); 280 : active_frame_color_);
282 } 281 }
283 282
(...skipping 30 matching lines...) Expand all
314 return HeaderPainterUtil::GetTitleBounds( 313 return HeaderPainterUtil::GetTitleBounds(
315 left_header_view_, caption_button_container_, GetTitleFontList()); 314 left_header_view_, caption_button_container_, GetTitleFontList());
316 } 315 }
317 316
318 bool DefaultHeaderPainter::UsesCustomFrameColors() const { 317 bool DefaultHeaderPainter::UsesCustomFrameColors() const {
319 return active_frame_color_ != kDefaultFrameColor || 318 return active_frame_color_ != kDefaultFrameColor ||
320 inactive_frame_color_ != kDefaultFrameColor; 319 inactive_frame_color_ != kDefaultFrameColor;
321 } 320 }
322 321
323 } // namespace ash 322 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/frame/caption_buttons/frame_caption_button.cc ('k') | ash/common/shelf/app_list_button.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698