aboutsummaryrefslogtreecommitdiff
path: root/scheme/Scheme.java
diff options
context:
space:
mode:
Diffstat (limited to 'scheme/Scheme.java')
-rw-r--r--scheme/Scheme.java817
1 files changed, 817 insertions, 0 deletions
diff --git a/scheme/Scheme.java b/scheme/Scheme.java
new file mode 100644
index 0000000..4ca496e
--- /dev/null
+++ b/scheme/Scheme.java
@@ -0,0 +1,817 @@
+/*
+ * Copyright 2021 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This file is automatically generated. Do not modify it.
+
+package com.google.ux.material.libmonet.scheme;
+
+import com.google.errorprone.annotations.CanIgnoreReturnValue;
+import com.google.errorprone.annotations.CheckReturnValue;
+import com.google.ux.material.libmonet.palettes.CorePalette;
+
+/** Represents a Material color scheme, a mapping of color roles to colors. */
+@CheckReturnValue
+public class Scheme {
+ private int primary;
+ private int onPrimary;
+ private int primaryContainer;
+ private int onPrimaryContainer;
+ private int secondary;
+ private int onSecondary;
+ private int secondaryContainer;
+ private int onSecondaryContainer;
+ private int tertiary;
+ private int onTertiary;
+ private int tertiaryContainer;
+ private int onTertiaryContainer;
+ private int error;
+ private int onError;
+ private int errorContainer;
+ private int onErrorContainer;
+ private int background;
+ private int onBackground;
+ private int surface;
+ private int onSurface;
+ private int surfaceVariant;
+ private int onSurfaceVariant;
+ private int outline;
+ private int outlineVariant;
+ private int shadow;
+ private int scrim;
+ private int inverseSurface;
+ private int inverseOnSurface;
+ private int inversePrimary;
+
+ public Scheme() {}
+
+ public Scheme(
+ int primary,
+ int onPrimary,
+ int primaryContainer,
+ int onPrimaryContainer,
+ int secondary,
+ int onSecondary,
+ int secondaryContainer,
+ int onSecondaryContainer,
+ int tertiary,
+ int onTertiary,
+ int tertiaryContainer,
+ int onTertiaryContainer,
+ int error,
+ int onError,
+ int errorContainer,
+ int onErrorContainer,
+ int background,
+ int onBackground,
+ int surface,
+ int onSurface,
+ int surfaceVariant,
+ int onSurfaceVariant,
+ int outline,
+ int outlineVariant,
+ int shadow,
+ int scrim,
+ int inverseSurface,
+ int inverseOnSurface,
+ int inversePrimary) {
+ super();
+ this.primary = primary;
+ this.onPrimary = onPrimary;
+ this.primaryContainer = primaryContainer;
+ this.onPrimaryContainer = onPrimaryContainer;
+ this.secondary = secondary;
+ this.onSecondary = onSecondary;
+ this.secondaryContainer = secondaryContainer;
+ this.onSecondaryContainer = onSecondaryContainer;
+ this.tertiary = tertiary;
+ this.onTertiary = onTertiary;
+ this.tertiaryContainer = tertiaryContainer;
+ this.onTertiaryContainer = onTertiaryContainer;
+ this.error = error;
+ this.onError = onError;
+ this.errorContainer = errorContainer;
+ this.onErrorContainer = onErrorContainer;
+ this.background = background;
+ this.onBackground = onBackground;
+ this.surface = surface;
+ this.onSurface = onSurface;
+ this.surfaceVariant = surfaceVariant;
+ this.onSurfaceVariant = onSurfaceVariant;
+ this.outline = outline;
+ this.outlineVariant = outlineVariant;
+ this.shadow = shadow;
+ this.scrim = scrim;
+ this.inverseSurface = inverseSurface;
+ this.inverseOnSurface = inverseOnSurface;
+ this.inversePrimary = inversePrimary;
+ }
+
+ /** Creates a light theme Scheme from a source color in ARGB, i.e. a hex code. */
+ public static Scheme light(int argb) {
+ return lightFromCorePalette(CorePalette.of(argb));
+ }
+
+ /** Creates a dark theme Scheme from a source color in ARGB, i.e. a hex code. */
+ public static Scheme dark(int argb) {
+ return darkFromCorePalette(CorePalette.of(argb));
+ }
+
+ /** Creates a light theme content-based Scheme from a source color in ARGB, i.e. a hex code. */
+ public static Scheme lightContent(int argb) {
+ return lightFromCorePalette(CorePalette.contentOf(argb));
+ }
+
+ /** Creates a dark theme content-based Scheme from a source color in ARGB, i.e. a hex code. */
+ public static Scheme darkContent(int argb) {
+ return darkFromCorePalette(CorePalette.contentOf(argb));
+ }
+
+ private static Scheme lightFromCorePalette(CorePalette core) {
+ return new Scheme()
+ .withPrimary(core.a1.tone(40))
+ .withOnPrimary(core.a1.tone(100))
+ .withPrimaryContainer(core.a1.tone(90))
+ .withOnPrimaryContainer(core.a1.tone(10))
+ .withSecondary(core.a2.tone(40))
+ .withOnSecondary(core.a2.tone(100))
+ .withSecondaryContainer(core.a2.tone(90))
+ .withOnSecondaryContainer(core.a2.tone(10))
+ .withTertiary(core.a3.tone(40))
+ .withOnTertiary(core.a3.tone(100))
+ .withTertiaryContainer(core.a3.tone(90))
+ .withOnTertiaryContainer(core.a3.tone(10))
+ .withError(core.error.tone(40))
+ .withOnError(core.error.tone(100))
+ .withErrorContainer(core.error.tone(90))
+ .withOnErrorContainer(core.error.tone(10))
+ .withBackground(core.n1.tone(99))
+ .withOnBackground(core.n1.tone(10))
+ .withSurface(core.n1.tone(99))
+ .withOnSurface(core.n1.tone(10))
+ .withSurfaceVariant(core.n2.tone(90))
+ .withOnSurfaceVariant(core.n2.tone(30))
+ .withOutline(core.n2.tone(50))
+ .withOutlineVariant(core.n2.tone(80))
+ .withShadow(core.n1.tone(0))
+ .withScrim(core.n1.tone(0))
+ .withInverseSurface(core.n1.tone(20))
+ .withInverseOnSurface(core.n1.tone(95))
+ .withInversePrimary(core.a1.tone(80));
+ }
+
+ private static Scheme darkFromCorePalette(CorePalette core) {
+ return new Scheme()
+ .withPrimary(core.a1.tone(80))
+ .withOnPrimary(core.a1.tone(20))
+ .withPrimaryContainer(core.a1.tone(30))
+ .withOnPrimaryContainer(core.a1.tone(90))
+ .withSecondary(core.a2.tone(80))
+ .withOnSecondary(core.a2.tone(20))
+ .withSecondaryContainer(core.a2.tone(30))
+ .withOnSecondaryContainer(core.a2.tone(90))
+ .withTertiary(core.a3.tone(80))
+ .withOnTertiary(core.a3.tone(20))
+ .withTertiaryContainer(core.a3.tone(30))
+ .withOnTertiaryContainer(core.a3.tone(90))
+ .withError(core.error.tone(80))
+ .withOnError(core.error.tone(20))
+ .withErrorContainer(core.error.tone(30))
+ .withOnErrorContainer(core.error.tone(80))
+ .withBackground(core.n1.tone(10))
+ .withOnBackground(core.n1.tone(90))
+ .withSurface(core.n1.tone(10))
+ .withOnSurface(core.n1.tone(90))
+ .withSurfaceVariant(core.n2.tone(30))
+ .withOnSurfaceVariant(core.n2.tone(80))
+ .withOutline(core.n2.tone(60))
+ .withOutlineVariant(core.n2.tone(30))
+ .withShadow(core.n1.tone(0))
+ .withScrim(core.n1.tone(0))
+ .withInverseSurface(core.n1.tone(90))
+ .withInverseOnSurface(core.n1.tone(20))
+ .withInversePrimary(core.a1.tone(40));
+ }
+
+ public int getPrimary() {
+ return primary;
+ }
+
+ public void setPrimary(int primary) {
+ this.primary = primary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withPrimary(int primary) {
+ this.primary = primary;
+ return this;
+ }
+
+ public int getOnPrimary() {
+ return onPrimary;
+ }
+
+ public void setOnPrimary(int onPrimary) {
+ this.onPrimary = onPrimary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnPrimary(int onPrimary) {
+ this.onPrimary = onPrimary;
+ return this;
+ }
+
+ public int getPrimaryContainer() {
+ return primaryContainer;
+ }
+
+ public void setPrimaryContainer(int primaryContainer) {
+ this.primaryContainer = primaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withPrimaryContainer(int primaryContainer) {
+ this.primaryContainer = primaryContainer;
+ return this;
+ }
+
+ public int getOnPrimaryContainer() {
+ return onPrimaryContainer;
+ }
+
+ public void setOnPrimaryContainer(int onPrimaryContainer) {
+ this.onPrimaryContainer = onPrimaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnPrimaryContainer(int onPrimaryContainer) {
+ this.onPrimaryContainer = onPrimaryContainer;
+ return this;
+ }
+
+ public int getSecondary() {
+ return secondary;
+ }
+
+ public void setSecondary(int secondary) {
+ this.secondary = secondary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withSecondary(int secondary) {
+ this.secondary = secondary;
+ return this;
+ }
+
+ public int getOnSecondary() {
+ return onSecondary;
+ }
+
+ public void setOnSecondary(int onSecondary) {
+ this.onSecondary = onSecondary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnSecondary(int onSecondary) {
+ this.onSecondary = onSecondary;
+ return this;
+ }
+
+ public int getSecondaryContainer() {
+ return secondaryContainer;
+ }
+
+ public void setSecondaryContainer(int secondaryContainer) {
+ this.secondaryContainer = secondaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withSecondaryContainer(int secondaryContainer) {
+ this.secondaryContainer = secondaryContainer;
+ return this;
+ }
+
+ public int getOnSecondaryContainer() {
+ return onSecondaryContainer;
+ }
+
+ public void setOnSecondaryContainer(int onSecondaryContainer) {
+ this.onSecondaryContainer = onSecondaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnSecondaryContainer(int onSecondaryContainer) {
+ this.onSecondaryContainer = onSecondaryContainer;
+ return this;
+ }
+
+ public int getTertiary() {
+ return tertiary;
+ }
+
+ public void setTertiary(int tertiary) {
+ this.tertiary = tertiary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withTertiary(int tertiary) {
+ this.tertiary = tertiary;
+ return this;
+ }
+
+ public int getOnTertiary() {
+ return onTertiary;
+ }
+
+ public void setOnTertiary(int onTertiary) {
+ this.onTertiary = onTertiary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnTertiary(int onTertiary) {
+ this.onTertiary = onTertiary;
+ return this;
+ }
+
+ public int getTertiaryContainer() {
+ return tertiaryContainer;
+ }
+
+ public void setTertiaryContainer(int tertiaryContainer) {
+ this.tertiaryContainer = tertiaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withTertiaryContainer(int tertiaryContainer) {
+ this.tertiaryContainer = tertiaryContainer;
+ return this;
+ }
+
+ public int getOnTertiaryContainer() {
+ return onTertiaryContainer;
+ }
+
+ public void setOnTertiaryContainer(int onTertiaryContainer) {
+ this.onTertiaryContainer = onTertiaryContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnTertiaryContainer(int onTertiaryContainer) {
+ this.onTertiaryContainer = onTertiaryContainer;
+ return this;
+ }
+
+ public int getError() {
+ return error;
+ }
+
+ public void setError(int error) {
+ this.error = error;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withError(int error) {
+ this.error = error;
+ return this;
+ }
+
+ public int getOnError() {
+ return onError;
+ }
+
+ public void setOnError(int onError) {
+ this.onError = onError;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnError(int onError) {
+ this.onError = onError;
+ return this;
+ }
+
+ public int getErrorContainer() {
+ return errorContainer;
+ }
+
+ public void setErrorContainer(int errorContainer) {
+ this.errorContainer = errorContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withErrorContainer(int errorContainer) {
+ this.errorContainer = errorContainer;
+ return this;
+ }
+
+ public int getOnErrorContainer() {
+ return onErrorContainer;
+ }
+
+ public void setOnErrorContainer(int onErrorContainer) {
+ this.onErrorContainer = onErrorContainer;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnErrorContainer(int onErrorContainer) {
+ this.onErrorContainer = onErrorContainer;
+ return this;
+ }
+
+ public int getBackground() {
+ return background;
+ }
+
+ public void setBackground(int background) {
+ this.background = background;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withBackground(int background) {
+ this.background = background;
+ return this;
+ }
+
+ public int getOnBackground() {
+ return onBackground;
+ }
+
+ public void setOnBackground(int onBackground) {
+ this.onBackground = onBackground;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnBackground(int onBackground) {
+ this.onBackground = onBackground;
+ return this;
+ }
+
+ public int getSurface() {
+ return surface;
+ }
+
+ public void setSurface(int surface) {
+ this.surface = surface;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withSurface(int surface) {
+ this.surface = surface;
+ return this;
+ }
+
+ public int getOnSurface() {
+ return onSurface;
+ }
+
+ public void setOnSurface(int onSurface) {
+ this.onSurface = onSurface;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnSurface(int onSurface) {
+ this.onSurface = onSurface;
+ return this;
+ }
+
+ public int getSurfaceVariant() {
+ return surfaceVariant;
+ }
+
+ public void setSurfaceVariant(int surfaceVariant) {
+ this.surfaceVariant = surfaceVariant;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withSurfaceVariant(int surfaceVariant) {
+ this.surfaceVariant = surfaceVariant;
+ return this;
+ }
+
+ public int getOnSurfaceVariant() {
+ return onSurfaceVariant;
+ }
+
+ public void setOnSurfaceVariant(int onSurfaceVariant) {
+ this.onSurfaceVariant = onSurfaceVariant;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOnSurfaceVariant(int onSurfaceVariant) {
+ this.onSurfaceVariant = onSurfaceVariant;
+ return this;
+ }
+
+ public int getOutline() {
+ return outline;
+ }
+
+ public void setOutline(int outline) {
+ this.outline = outline;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOutline(int outline) {
+ this.outline = outline;
+ return this;
+ }
+
+ public int getOutlineVariant() {
+ return outlineVariant;
+ }
+
+ public void setOutlineVariant(int outlineVariant) {
+ this.outlineVariant = outlineVariant;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withOutlineVariant(int outlineVariant) {
+ this.outlineVariant = outlineVariant;
+ return this;
+ }
+
+ public int getShadow() {
+ return shadow;
+ }
+
+ public void setShadow(int shadow) {
+ this.shadow = shadow;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withShadow(int shadow) {
+ this.shadow = shadow;
+ return this;
+ }
+
+ public int getScrim() {
+ return scrim;
+ }
+
+ public void setScrim(int scrim) {
+ this.scrim = scrim;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withScrim(int scrim) {
+ this.scrim = scrim;
+ return this;
+ }
+
+ public int getInverseSurface() {
+ return inverseSurface;
+ }
+
+ public void setInverseSurface(int inverseSurface) {
+ this.inverseSurface = inverseSurface;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withInverseSurface(int inverseSurface) {
+ this.inverseSurface = inverseSurface;
+ return this;
+ }
+
+ public int getInverseOnSurface() {
+ return inverseOnSurface;
+ }
+
+ public void setInverseOnSurface(int inverseOnSurface) {
+ this.inverseOnSurface = inverseOnSurface;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withInverseOnSurface(int inverseOnSurface) {
+ this.inverseOnSurface = inverseOnSurface;
+ return this;
+ }
+
+ public int getInversePrimary() {
+ return inversePrimary;
+ }
+
+ public void setInversePrimary(int inversePrimary) {
+ this.inversePrimary = inversePrimary;
+ }
+
+ @CanIgnoreReturnValue
+ public Scheme withInversePrimary(int inversePrimary) {
+ this.inversePrimary = inversePrimary;
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ return "Scheme{"
+ + "primary="
+ + primary
+ + ", onPrimary="
+ + onPrimary
+ + ", primaryContainer="
+ + primaryContainer
+ + ", onPrimaryContainer="
+ + onPrimaryContainer
+ + ", secondary="
+ + secondary
+ + ", onSecondary="
+ + onSecondary
+ + ", secondaryContainer="
+ + secondaryContainer
+ + ", onSecondaryContainer="
+ + onSecondaryContainer
+ + ", tertiary="
+ + tertiary
+ + ", onTertiary="
+ + onTertiary
+ + ", tertiaryContainer="
+ + tertiaryContainer
+ + ", onTertiaryContainer="
+ + onTertiaryContainer
+ + ", error="
+ + error
+ + ", onError="
+ + onError
+ + ", errorContainer="
+ + errorContainer
+ + ", onErrorContainer="
+ + onErrorContainer
+ + ", background="
+ + background
+ + ", onBackground="
+ + onBackground
+ + ", surface="
+ + surface
+ + ", onSurface="
+ + onSurface
+ + ", surfaceVariant="
+ + surfaceVariant
+ + ", onSurfaceVariant="
+ + onSurfaceVariant
+ + ", outline="
+ + outline
+ + ", outlineVariant="
+ + outlineVariant
+ + ", shadow="
+ + shadow
+ + ", scrim="
+ + scrim
+ + ", inverseSurface="
+ + inverseSurface
+ + ", inverseOnSurface="
+ + inverseOnSurface
+ + ", inversePrimary="
+ + inversePrimary
+ + '}';
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+ if (!(object instanceof Scheme)) {
+ return false;
+ }
+ if (!super.equals(object)) {
+ return false;
+ }
+
+ Scheme scheme = (Scheme) object;
+
+ if (primary != scheme.primary) {
+ return false;
+ }
+ if (onPrimary != scheme.onPrimary) {
+ return false;
+ }
+ if (primaryContainer != scheme.primaryContainer) {
+ return false;
+ }
+ if (onPrimaryContainer != scheme.onPrimaryContainer) {
+ return false;
+ }
+ if (secondary != scheme.secondary) {
+ return false;
+ }
+ if (onSecondary != scheme.onSecondary) {
+ return false;
+ }
+ if (secondaryContainer != scheme.secondaryContainer) {
+ return false;
+ }
+ if (onSecondaryContainer != scheme.onSecondaryContainer) {
+ return false;
+ }
+ if (tertiary != scheme.tertiary) {
+ return false;
+ }
+ if (onTertiary != scheme.onTertiary) {
+ return false;
+ }
+ if (tertiaryContainer != scheme.tertiaryContainer) {
+ return false;
+ }
+ if (onTertiaryContainer != scheme.onTertiaryContainer) {
+ return false;
+ }
+ if (error != scheme.error) {
+ return false;
+ }
+ if (onError != scheme.onError) {
+ return false;
+ }
+ if (errorContainer != scheme.errorContainer) {
+ return false;
+ }
+ if (onErrorContainer != scheme.onErrorContainer) {
+ return false;
+ }
+ if (background != scheme.background) {
+ return false;
+ }
+ if (onBackground != scheme.onBackground) {
+ return false;
+ }
+ if (surface != scheme.surface) {
+ return false;
+ }
+ if (onSurface != scheme.onSurface) {
+ return false;
+ }
+ if (surfaceVariant != scheme.surfaceVariant) {
+ return false;
+ }
+ if (onSurfaceVariant != scheme.onSurfaceVariant) {
+ return false;
+ }
+ if (outline != scheme.outline) {
+ return false;
+ }
+ if (outlineVariant != scheme.outlineVariant) {
+ return false;
+ }
+ if (shadow != scheme.shadow) {
+ return false;
+ }
+ if (scrim != scheme.scrim) {
+ return false;
+ }
+ if (inverseSurface != scheme.inverseSurface) {
+ return false;
+ }
+ if (inverseOnSurface != scheme.inverseOnSurface) {
+ return false;
+ }
+ if (inversePrimary != scheme.inversePrimary) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = super.hashCode();
+ result = 31 * result + primary;
+ result = 31 * result + onPrimary;
+ result = 31 * result + primaryContainer;
+ result = 31 * result + onPrimaryContainer;
+ result = 31 * result + secondary;
+ result = 31 * result + onSecondary;
+ result = 31 * result + secondaryContainer;
+ result = 31 * result + onSecondaryContainer;
+ result = 31 * result + tertiary;
+ result = 31 * result + onTertiary;
+ result = 31 * result + tertiaryContainer;
+ result = 31 * result + onTertiaryContainer;
+ result = 31 * result + error;
+ result = 31 * result + onError;
+ result = 31 * result + errorContainer;
+ result = 31 * result + onErrorContainer;
+ result = 31 * result + background;
+ result = 31 * result + onBackground;
+ result = 31 * result + surface;
+ result = 31 * result + onSurface;
+ result = 31 * result + surfaceVariant;
+ result = 31 * result + onSurfaceVariant;
+ result = 31 * result + outline;
+ result = 31 * result + outlineVariant;
+ result = 31 * result + shadow;
+ result = 31 * result + scrim;
+ result = 31 * result + inverseSurface;
+ result = 31 * result + inverseOnSurface;
+ result = 31 * result + inversePrimary;
+ return result;
+ }
+}