• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2023 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.google.ux.material.libmonet.scheme;
17 
18 import com.google.ux.material.libmonet.hct.Hct;
19 import com.google.ux.material.libmonet.palettes.TonalPalette;
20 import com.google.ux.material.libmonet.utils.MathUtils;
21 
22 /** A playful theme - the source color's hue does not appear in the theme. */
23 public class SchemeRainbow extends DynamicScheme {
SchemeRainbow(Hct sourceColorHct, boolean isDark, double contrastLevel)24   public SchemeRainbow(Hct sourceColorHct, boolean isDark, double contrastLevel) {
25     super(
26         sourceColorHct,
27         Variant.RAINBOW,
28         isDark,
29         contrastLevel,
30         TonalPalette.fromHueAndChroma(sourceColorHct.getHue(), 48.0),
31         TonalPalette.fromHueAndChroma(sourceColorHct.getHue(), 16.0),
32         TonalPalette.fromHueAndChroma(
33             MathUtils.sanitizeDegreesDouble(sourceColorHct.getHue() + 60.0), 24.0),
34         TonalPalette.fromHueAndChroma(sourceColorHct.getHue(), 0.0),
35         TonalPalette.fromHueAndChroma(sourceColorHct.getHue(), 0.0));
36   }
37 }