Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/android/vr_shell/textures/url_bar_texture.h" | 5 #include "chrome/browser/android/vr_shell/textures/url_bar_texture.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "cc/paint/skia_paint_canvas.h" | 8 #include "cc/paint/skia_paint_canvas.h" |
| 9 #include "components/security_state/core/security_state.h" | 9 #include "components/security_state/core/security_state.h" |
| 10 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 56 return ui::kWarningIcon; | 56 return ui::kWarningIcon; |
| 57 } | 57 } |
| 58 } | 58 } |
| 59 | 59 |
| 60 } // namespace | 60 } // namespace |
| 61 | 61 |
| 62 UrlBarTexture::UrlBarTexture() : security_level_(SecurityLevel::DANGEROUS) {} | 62 UrlBarTexture::UrlBarTexture() : security_level_(SecurityLevel::DANGEROUS) {} |
| 63 | 63 |
| 64 UrlBarTexture::~UrlBarTexture() = default; | 64 UrlBarTexture::~UrlBarTexture() = default; |
| 65 | 65 |
| 66 void UrlBarTexture::SetHover(bool hover) { | |
| 67 hover_ = hover; | |
| 68 } | |
| 69 | |
| 70 void UrlBarTexture::SetURL(const GURL& gurl) { | 66 void UrlBarTexture::SetURL(const GURL& gurl) { |
| 71 gurl_ = gurl; | 67 gurl_ = gurl; |
| 72 } | 68 } |
| 73 | 69 |
| 74 void UrlBarTexture::SetSecurityLevel(int level) { | 70 void UrlBarTexture::SetSecurityLevel(int level) { |
| 75 security_level_ = level; | 71 security_level_ = level; |
| 76 } | 72 } |
| 77 | 73 |
| 78 float UrlBarTexture::ToPixels(float meters) const { | 74 float UrlBarTexture::ToPixels(float meters) const { |
| 79 return meters * size_.width() / kWidth; | 75 return meters * size_.width() / kWidth; |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 91 gfx::Canvas gfx_canvas(&paint_canvas, 1.0f); | 87 gfx::Canvas gfx_canvas(&paint_canvas, 1.0f); |
| 92 | 88 |
| 93 canvas->drawColor(kTextureBackground); | 89 canvas->drawColor(kTextureBackground); |
| 94 | 90 |
| 95 // Back button area. | 91 // Back button area. |
| 96 SkRRect round_rect; | 92 SkRRect round_rect; |
| 97 SkVector rounded_corner = {kHeight / 2, kHeight / 2}; | 93 SkVector rounded_corner = {kHeight / 2, kHeight / 2}; |
| 98 SkVector left_corners[4] = {rounded_corner, {0, 0}, {0, 0}, rounded_corner}; | 94 SkVector left_corners[4] = {rounded_corner, {0, 0}, {0, 0}, rounded_corner}; |
| 99 round_rect.setRectRadii({0, 0, kHeight, kHeight}, left_corners); | 95 round_rect.setRectRadii({0, 0, kHeight, kHeight}, left_corners); |
| 100 SkPaint paint; | 96 SkPaint paint; |
| 101 paint.setColor(hover_ ? kBackgroundHover : kBackground); | 97 paint.setColor((draw_flags_ & FLAG_HOVER) ? kBackgroundHover : kBackground); |
| 102 canvas->drawRRect(round_rect, paint); | 98 canvas->drawRRect(round_rect, paint); |
| 103 | 99 |
| 104 // URL area. | 100 // URL area. |
| 105 paint.setColor(kBackground); | 101 paint.setColor(kBackground); |
| 106 SkVector right_corners[4] = {{0, 0}, rounded_corner, rounded_corner, {0, 0}}; | 102 SkVector right_corners[4] = {{0, 0}, rounded_corner, rounded_corner, {0, 0}}; |
| 107 round_rect.setRectRadii({kHeight, 0, kWidth, kHeight}, right_corners); | 103 round_rect.setRectRadii({kHeight, 0, kWidth, kHeight}, right_corners); |
| 108 canvas->drawRRect(round_rect, paint); | 104 canvas->drawRRect(round_rect, paint); |
| 109 | 105 |
| 110 // Back button / URL separator vertical line. | 106 // Back button / URL separator vertical line. |
| 111 paint.setColor(kSeparatorColor); | 107 paint.setColor(kSeparatorColor); |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 131 kHeight / 2); | 127 kHeight / 2); |
| 132 canvas->translate(-kSecurityIconHeight / 2, -kSecurityIconHeight / 2); | 128 canvas->translate(-kSecurityIconHeight / 2, -kSecurityIconHeight / 2); |
| 133 const gfx::VectorIcon& security_icon = getSecurityIcon(security_level_); | 129 const gfx::VectorIcon& security_icon = getSecurityIcon(security_level_); |
| 134 icon_default_height = GetDefaultSizeOfVectorIcon(security_icon); | 130 icon_default_height = GetDefaultSizeOfVectorIcon(security_icon); |
| 135 icon_scale = kSecurityIconHeight / icon_default_height; | 131 icon_scale = kSecurityIconHeight / icon_default_height; |
| 136 canvas->scale(icon_scale, icon_scale); | 132 canvas->scale(icon_scale, icon_scale); |
| 137 PaintVectorIcon(&gfx_canvas, security_icon, kForeground); | 133 PaintVectorIcon(&gfx_canvas, security_icon, kForeground); |
| 138 canvas->restore(); | 134 canvas->restore(); |
| 139 } | 135 } |
| 140 | 136 |
| 141 canvas->restore(); | |
|
cjgrant
2017/05/10 20:16:25
Why are you removing this? It removes the scale o
mthiesse
2017/05/10 21:09:08
Rebasing error, good catch.
| |
| 142 | |
| 143 // Draw text based on pixel sizes rather than meters, for correct font sizing. | 137 // Draw text based on pixel sizes rather than meters, for correct font sizing. |
| 144 int pixel_font_height = texture_size.height() * kFontHeight / kHeight; | 138 int pixel_font_height = texture_size.height() * kFontHeight / kHeight; |
| 145 int text_flags = gfx::Canvas::TEXT_ALIGN_LEFT; | 139 int text_flags = gfx::Canvas::TEXT_ALIGN_LEFT; |
| 146 float url_x = kBackButtonWidth + kSeparatorWidth + kSecurityFieldWidth; | 140 float url_x = kBackButtonWidth + kSeparatorWidth + kSecurityFieldWidth; |
| 147 float url_width = kWidth - url_x - kUrlRightMargin; | 141 float url_width = kWidth - url_x - kUrlRightMargin; |
| 148 gfx_canvas.DrawStringRectWithFlags( | 142 gfx_canvas.DrawStringRectWithFlags( |
| 149 base::UTF8ToUTF16(gurl_.spec()), GetDefaultFontList(pixel_font_height), | 143 base::UTF8ToUTF16(gurl_.spec()), GetDefaultFontList(pixel_font_height), |
| 150 SK_ColorBLACK, | 144 SK_ColorBLACK, |
| 151 gfx::Rect(ToPixels(url_x), 0, ToPixels(url_width), ToPixels(kHeight)), | 145 gfx::Rect(ToPixels(url_x), 0, ToPixels(url_width), ToPixels(kHeight)), |
| 152 text_flags); | 146 text_flags); |
| 153 } | 147 } |
| 154 | 148 |
| 155 gfx::Size UrlBarTexture::GetPreferredTextureSize(int maximum_width) const { | 149 gfx::Size UrlBarTexture::GetPreferredTextureSize(int maximum_width) const { |
| 156 return gfx::Size(maximum_width, maximum_width * kHeight / kWidth); | 150 return gfx::Size(maximum_width, maximum_width * kHeight / kWidth); |
| 157 } | 151 } |
| 158 | 152 |
| 159 gfx::SizeF UrlBarTexture::GetDrawnSize() const { | 153 gfx::SizeF UrlBarTexture::GetDrawnSize() const { |
| 160 return size_; | 154 return size_; |
| 161 } | 155 } |
| 162 | 156 |
| 163 } // namespace vr_shell | 157 } // namespace vr_shell |
| OLD | NEW |