Commit 77826138 authored by Amirhossein Simjour's avatar Amirhossein Simjour Committed by Commit Bot

VR: Audio permission prompt polish

This CL updates the following parameters.
  Position of the buttons
  Background color
  Buttons colors
  The gap between the text and the icon
  Position of the audio prompt

Bug: 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I9fe0f6037333c1fb3c19111157999c151faffec4
Reviewed-on: https://chromium-review.googlesource.com/772403Reviewed-by: default avatarBiao She <bshe@chromium.org>
Commit-Queue: Amirhossein Simjour <asimjour@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517153}
parent e77256b1
...@@ -44,14 +44,14 @@ void InitializeColorSchemes() { ...@@ -44,14 +44,14 @@ void InitializeColorSchemes() {
normal_scheme.system_indicator_foreground = 0xFF444444; normal_scheme.system_indicator_foreground = 0xFF444444;
normal_scheme.system_indicator_background = SK_ColorWHITE; normal_scheme.system_indicator_background = SK_ColorWHITE;
normal_scheme.audio_permission_prompt_icon_foreground = 0xFF6666FF; normal_scheme.audio_permission_prompt_icon_foreground = 0xFF4285F4;
normal_scheme.audio_permission_prompt_secondary_button_forground = 0xFF6666FF; normal_scheme.audio_permission_prompt_secondary_button_forground = 0xFF4285F4;
normal_scheme.audio_permission_prompt_secondary_button_hover = 0xFFF5F5F5; normal_scheme.audio_permission_prompt_secondary_button_hover = 0x19999999;
normal_scheme.audio_permission_prompt_secondary_button_down = 0xFFBBBBBB; normal_scheme.audio_permission_prompt_secondary_button_down = 0x33999999;
normal_scheme.audio_permission_prompt_primary_button_background = 0xFF6666FF; normal_scheme.audio_permission_prompt_primary_button_background = 0xFF4285F4;
normal_scheme.audio_permission_prompt_primary_button_hover = 0xFF8888FF; normal_scheme.audio_permission_prompt_primary_button_hover = 0xFF3E7DE6;
normal_scheme.audio_permission_prompt_primary_button_down = 0xFF2222AA; normal_scheme.audio_permission_prompt_primary_button_down = 0xFF3E7DE6;
normal_scheme.audio_permission_prompt_background = 0xFFEEEEEE; normal_scheme.audio_permission_prompt_background = 0xFFF5F5F5;
normal_scheme.separator = 0xFF9E9E9E; normal_scheme.separator = 0xFF9E9E9E;
normal_scheme.prompt_foreground = 0xCC000000; normal_scheme.prompt_foreground = 0xCC000000;
normal_scheme.prompt_primary_button_forground = 0xA6000000; normal_scheme.prompt_primary_button_forground = 0xA6000000;
......
...@@ -21,23 +21,21 @@ namespace vr { ...@@ -21,23 +21,21 @@ namespace vr {
namespace { namespace {
constexpr float kWidth = 0.552f; constexpr float kWidth = 0.63f;
constexpr float kHeight = 0.2f; constexpr float kHeight = 0.218f;
constexpr float kButtonWidth = 0.162f; constexpr float kButtonHeight = 0.064f;
constexpr float kButtonHeight = 0.066f; constexpr float kCornerRadius = 0.006f;
constexpr float kPromptTextButtonSeperatorHeight = 0.04f; constexpr float kPadding = 0.028;
constexpr float kButtonsSeperatorWidth = 0.01f; constexpr float kIconSize = 0.042;
constexpr float kButtonRadiusFactor = 0.006f; constexpr float kFontSizePromptText = 0.028f;
constexpr float kFontSizePromptText = 0.027f; constexpr float kTextTopMargin = 0.007f;
constexpr float kTextLeftMargin = 0.010f;
constexpr float kVerticalGap = 0.056f;
constexpr float kButtonsDistance = 0.014f;
constexpr float kFontSizePromptButtonText = 0.024f; constexpr float kFontSizePromptButtonText = 0.024f;
constexpr float kButtonRadius = 0.0035f;
constexpr float kScaleFactor = 60.0f; constexpr float kButtonWidth = 0.162f;
constexpr float kCornerRadius = 0.06f * kScaleFactor;
constexpr float kTextBorder = 0.16 * kScaleFactor;
constexpr float kIconBorder = 0.32 * kScaleFactor;
constexpr float kIconWidth = 0.96 * kScaleFactor;
constexpr float kTextHorizontalBorder = 0.32 * kScaleFactor;
constexpr float kIconSize = 0.48 * kScaleFactor;
} // namespace } // namespace
...@@ -50,6 +48,7 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -50,6 +48,7 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
size_.set_width(texture_size.width()); size_.set_width(texture_size.width());
size_.set_height(texture_size.height()); size_.set_height(texture_size.height());
// background
cc::SkiaPaintCanvas paint_canvas(sk_canvas); cc::SkiaPaintCanvas paint_canvas(sk_canvas);
gfx::Canvas gfx_canvas(&paint_canvas, 1.0f); gfx::Canvas gfx_canvas(&paint_canvas, 1.0f);
gfx::Canvas* canvas = &gfx_canvas; gfx::Canvas* canvas = &gfx_canvas;
...@@ -57,12 +56,13 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -57,12 +56,13 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
SkPaint back_paint; SkPaint back_paint;
back_paint.setColor(color_scheme().audio_permission_prompt_background); back_paint.setColor(color_scheme().audio_permission_prompt_background);
sk_canvas->drawRoundRect(SkRect::MakeWH(size_.width(), size_.height()), sk_canvas->drawRoundRect(SkRect::MakeWH(size_.width(), size_.height()),
kCornerRadius, kCornerRadius, back_paint); ToPixels(kCornerRadius), ToPixels(kCornerRadius),
back_paint);
// Icon // Icon
gfx::PointF icon_location(kIconBorder, kIconBorder); gfx::PointF icon_location(ToPixels(kPadding), ToPixels(kPadding));
VectorIcon::DrawVectorIcon( VectorIcon::DrawVectorIcon(
canvas, vector_icons::kMicrophoneIcon, kIconSize, icon_location, canvas, vector_icons::kMicrophoneIcon, ToPixels(kIconSize), icon_location,
color_scheme().audio_permission_prompt_icon_foreground); color_scheme().audio_permission_prompt_icon_foreground);
// Prompt description. // Prompt description.
...@@ -75,9 +75,10 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -75,9 +75,10 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
text, fonts, color_scheme().element_foreground, &prompt_text_size, text, fonts, color_scheme().element_foreground, &prompt_text_size,
kTextAlignmentNone, kWrappingBehaviorWrap); kTextAlignmentNone, kWrappingBehaviorWrap);
canvas->Save(); canvas->Save();
canvas->Translate(gfx::Vector2d( canvas->Translate(
IsRTL() ? kTextBorder : kTextBorder + kIconBorder + kIconWidth, gfx::Vector2d(ToPixels(IsRTL() ? kPadding + kTextLeftMargin
kTextHorizontalBorder)); : kTextLeftMargin + kIconSize + kPadding),
ToPixels(kPadding + kTextTopMargin)));
for (auto& render_text : lines) for (auto& render_text : lines)
render_text->Draw(canvas); render_text->Draw(canvas);
canvas->Restore(); canvas->Restore();
...@@ -85,7 +86,7 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -85,7 +86,7 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
// Buttons // Buttons
SkPaint paint; SkPaint paint;
gfx::Rect button_text_size(ToPixels(kButtonWidth), 0); gfx::Rect button_text_size(ToPixels(kButtonWidth), 0);
float radius = size_.width() * kButtonRadiusFactor; float radius = ToPixels(kButtonRadius);
GetFontList(ToPixels(kFontSizePromptButtonText), text, &fonts); GetFontList(ToPixels(kFontSizePromptButtonText), text, &fonts);
// Secondary button area. // Secondary button area.
...@@ -96,9 +97,9 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -96,9 +97,9 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
color_scheme().audio_permission_prompt_secondary_button_forground, color_scheme().audio_permission_prompt_secondary_button_forground,
&button_text_size, kTextAlignmentCenter, kWrappingBehaviorWrap); &button_text_size, kTextAlignmentCenter, kWrappingBehaviorWrap);
secondary_button_rect_.SetRect( secondary_button_rect_.SetRect(
ToPixels(kWidth / 2 - kButtonsSeperatorWidth - kButtonWidth), ToPixels(kWidth - kPadding - kButtonsDistance - 2 * kButtonWidth),
prompt_text_size.height() + ToPixels(kPromptTextButtonSeperatorHeight), ToPixels(kPadding + kIconSize + kVerticalGap), ToPixels(kButtonWidth),
ToPixels(kButtonWidth), ToPixels(kButtonHeight)); ToPixels(kButtonHeight));
paint.setColor(GetSecondaryButtonColor()); paint.setColor(GetSecondaryButtonColor());
canvas->Save(); canvas->Save();
canvas->Translate( canvas->Translate(
...@@ -119,9 +120,8 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas, ...@@ -119,9 +120,8 @@ void AudioPermissionPromptTexture::Draw(SkCanvas* sk_canvas,
lines = PrepareDrawStringRect( lines = PrepareDrawStringRect(
text, fonts, color_scheme().audio_permission_prompt_background, text, fonts, color_scheme().audio_permission_prompt_background,
&button_text_size, kTextAlignmentCenter, kWrappingBehaviorWrap); &button_text_size, kTextAlignmentCenter, kWrappingBehaviorWrap);
primary_button_rect_.SetRect( primary_button_rect_.SetRect(ToPixels(kWidth - kPadding - kButtonWidth),
ToPixels(kWidth / 2 + kButtonsSeperatorWidth), ToPixels(kPadding + kIconSize + kVerticalGap),
prompt_text_size.height() + ToPixels(kPromptTextButtonSeperatorHeight),
ToPixels(kButtonWidth), ToPixels(kButtonHeight)); ToPixels(kButtonWidth), ToPixels(kButtonHeight));
paint.setColor(GetPrimaryButtonColor()); paint.setColor(GetPrimaryButtonColor());
canvas->Save(); canvas->Save();
......
...@@ -38,8 +38,6 @@ static constexpr float kFullscreenVerticalOffset = -0.1f * kFullscreenDistance; ...@@ -38,8 +38,6 @@ static constexpr float kFullscreenVerticalOffset = -0.1f * kFullscreenDistance;
static constexpr float kExitPromptWidth = 0.672f * kContentDistance; static constexpr float kExitPromptWidth = 0.672f * kContentDistance;
static constexpr float kExitPromptHeight = 0.2f * kContentDistance; static constexpr float kExitPromptHeight = 0.2f * kContentDistance;
static constexpr float kAudioPermissionPromptWidth = 0.552f * kContentDistance;
static constexpr float kAudioPermissionPromptHeight = 0.2f * kContentDistance;
static constexpr float kExitPromptVerticalOffset = -0.09f * kContentDistance; static constexpr float kExitPromptVerticalOffset = -0.09f * kContentDistance;
static constexpr float kPromptBackplaneSize = 1000.0; static constexpr float kPromptBackplaneSize = 1000.0;
...@@ -53,6 +51,9 @@ static constexpr float kUrlBarHeight = kUrlBarHeightDMM * kUrlBarDistance; ...@@ -53,6 +51,9 @@ static constexpr float kUrlBarHeight = kUrlBarHeightDMM * kUrlBarDistance;
static constexpr float kUrlBarVerticalOffset = -0.516f * kUrlBarDistance; static constexpr float kUrlBarVerticalOffset = -0.516f * kUrlBarDistance;
static constexpr float kUrlBarRotationRad = -0.175f; static constexpr float kUrlBarRotationRad = -0.175f;
static constexpr float kAudioPermissionPromptWidth = 0.63f * kUrlBarDistance;
static constexpr float kAudioPermissionPromptHeight = 0.218f * kUrlBarDistance;
static constexpr float kIndicatorHeight = 0.08f; static constexpr float kIndicatorHeight = 0.08f;
static constexpr float kIndicatorGap = 0.05f; static constexpr float kIndicatorGap = 0.05f;
static constexpr float kIndicatorVerticalOffset = 0.1f; static constexpr float kIndicatorVerticalOffset = 0.1f;
......
...@@ -984,7 +984,7 @@ void UiSceneManager::CreateAudioPermissionPrompt() { ...@@ -984,7 +984,7 @@ void UiSceneManager::CreateAudioPermissionPrompt() {
std::unique_ptr<AudioPermissionPrompt> audio_permission_prompt = std::unique_ptr<AudioPermissionPrompt> audio_permission_prompt =
base::MakeUnique<AudioPermissionPrompt>( base::MakeUnique<AudioPermissionPrompt>(
512, 1024,
base::Bind(&UiSceneManager::OnExitPromptChoice, base::Bind(&UiSceneManager::OnExitPromptChoice,
base::Unretained(this), true), base::Unretained(this), true),
base::Bind(&UiSceneManager::OnExitPromptChoice, base::Bind(&UiSceneManager::OnExitPromptChoice,
...@@ -994,8 +994,7 @@ void UiSceneManager::CreateAudioPermissionPrompt() { ...@@ -994,8 +994,7 @@ void UiSceneManager::CreateAudioPermissionPrompt() {
element->set_name(kAudioPermissionPrompt); element->set_name(kAudioPermissionPrompt);
element->set_draw_phase(kPhaseForeground); element->set_draw_phase(kPhaseForeground);
element->SetSize(kAudioPermissionPromptWidth, kAudioPermissionPromptHeight); element->SetSize(kAudioPermissionPromptWidth, kAudioPermissionPromptHeight);
element->SetTranslate(0.0, kContentVerticalOffset + kExitPromptVerticalOffset, element->SetTranslate(0.0, kContentVerticalOffset, -kUrlBarDistance);
kTextureOffset - kContentDistance);
element->AddBinding( element->AddBinding(
VR_BIND(bool, UiSceneManager, this, VR_BIND(bool, UiSceneManager, this,
browsing_mode() && model->prompting_to_audio_permission(), browsing_mode() && model->prompting_to_audio_permission(),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment