1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ash/login/ui/login_palette.h"
6 #include "ash/public/cpp/login_constants.h"
7 #include "ash/style/ash_color_provider.h"
8 #include "ui/gfx/color_palette.h"
9 
10 namespace ash {
11 
CreateDefaultLoginPalette()12 LoginPalette CreateDefaultLoginPalette() {
13   auto* color_provider = AshColorProvider::Get();
14   auto background_color = color_provider->GetBackgroundColor();
15   const AshColorProvider::RippleAttributes ripple_attributes =
16       color_provider->GetRippleAttributes(background_color);
17   // Convert transparency level from [0 ; 1] to [0 ; 255].
18   U8CPU inkdrop_opacity = 255 * ripple_attributes.inkdrop_opacity;
19   U8CPU highlight_opacity = 255 * ripple_attributes.highlight_opacity;
20   return LoginPalette(
21       {.password_text_color = color_provider->GetContentLayerColor(
22            AshColorProvider::ContentLayerType::kTextColorPrimary),
23        .password_placeholder_text_color = color_provider->GetContentLayerColor(
24            AshColorProvider::ContentLayerType::kTextColorSecondary),
25        .password_background_color = SK_ColorTRANSPARENT,
26        .button_enabled_color = color_provider->GetContentLayerColor(
27            AshColorProvider::ContentLayerType::kIconColorPrimary),
28        .button_annotation_color = color_provider->GetContentLayerColor(
29            AshColorProvider::ContentLayerType::kTextColorSecondary),
30        .pin_ink_drop_highlight_color =
31            SkColorSetA(ripple_attributes.base_color, highlight_opacity),
32        .pin_ink_drop_ripple_color =
33            SkColorSetA(ripple_attributes.base_color, inkdrop_opacity),
34        .pin_input_text_color = AshColorProvider::Get()->GetContentLayerColor(
35            AshColorProvider::ContentLayerType::kTextColorPrimary)});
36 }
37 
CreateInSessionAuthPalette()38 LoginPalette CreateInSessionAuthPalette() {
39   return LoginPalette(
40       {.password_text_color = gfx::kGoogleGrey900,
41        .password_placeholder_text_color = gfx::kGoogleGrey900,
42        .password_background_color = SK_ColorTRANSPARENT,
43        .button_enabled_color = gfx::kGoogleGrey900,
44        .button_annotation_color = gfx::kGoogleGrey700,
45        .pin_ink_drop_highlight_color = SkColorSetA(gfx::kGoogleGrey900, 0x0A),
46        .pin_ink_drop_ripple_color = SkColorSetA(gfx::kGoogleGrey900, 0x0F),
47        .pin_input_text_color = gfx::kGoogleGrey900});
48 }
49 
50 }  // namespace ash
51