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