aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/utils')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java70
1 files changed, 50 insertions, 20 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java b/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
index 0d8ae6d..ee9fe3e 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
@@ -8,38 +8,68 @@ import java.awt.*;
* A class to help with color manipulation.
*/
public class ColorUtils {
+ /** Always returns transparent. */
+ public static final int TRANSPARENT = -10;
+ /** <h1>Primary Color Scheme</h1> Normal: Primary 600,<br> Hover: Primary 700,<br> Clicked: Primary 700 (80%) */
+ public static final int PRIMARY = 1;
+ /** <h1>Secondary Color Scheme</h1> Normal: Gray 500,<br> Hover: Gray 400,<br> Clicked: Gray 400 (80%) */
+ public static final int SECONDARY = 2;
+ /** <h1>Secondary (Transparent) Color Scheme</h1> Normal: Transparent,<br> Hover: Gray rgba(229, 229, 229, 77),<br> Clicked: Gray rgba(229, 229, 229, 51) */
+ public static final int SECONDARY_TRANSPARENT = 0;
+ /** <h1>Tertiary Color Scheme</h1> Normal: Transparent (Text=White 90%),<br> Hover: Transparent (Text=White 100%),<br> Clicked: Transparent (Text=White 80%)
+ * <h2>NOTICE this returns the text colors as it is always transparent.</h2>*/
+ public static final int TERTIARY = 3;
+ /** <h1>Primary Destructive Color Scheme</h1> Normal: Error 700,<br> Hover: Error 600,<br> Clicked: Error 600 (80%) */
+ public static final int PRIMARY_DESTRUCTIVE = -1;
+ /** <h1>Secondary Destructive Color Scheme</h1> Normal: Gray 500,<br> Hover: Error 800,<br> Clicked: Error 800 (80%) */
+ public static final int SECONDARY_DESTRUCTIVE = -2;
+ /** <h1>Tertiary Destructive Color Scheme</h1> Normal: Transparent (Text=White 90%),<br> Hover: Transparent (Text=Error 300),<br> Clicked: Transparent (Text=Error 300 80%)
+ * <h2>NOTICE this returns the text colors as it is always transparent.</h2>*/
+ public static final int TERTIARY_DESTRUCTIVE = -3;
+
public static int getColor(int currentColor, int colorPalette, boolean hover, boolean click) {
float[] color = splitColor(currentColor);
+ if(colorPalette == TRANSPARENT) {
+ return OneConfigConfig.TRANSPARENT;
+ }
if (click) {
switch (colorPalette) {
- case -2:
- return new Color(0.9f, 0.9f, 0.9f, 0.2f).getRGB();
- case -1:
- return OneConfigConfig.GRAY_500_80;
+ case PRIMARY_DESTRUCTIVE:
+ return OneConfigConfig.ERROR_600_80;
+ case SECONDARY_DESTRUCTIVE:
+ return OneConfigConfig.ERROR_800_80;
+ case TERTIARY_DESTRUCTIVE:
+ return OneConfigConfig.ERROR_300_80;
+ case TERTIARY:
+ return OneConfigConfig.WHITE_80;
default:
- case 2:
- case 0:
+ case SECONDARY:
return OneConfigConfig.GRAY_400_80;
- case 1:
- return OneConfigConfig.PRIMARY_600_80;
+ case SECONDARY_TRANSPARENT:
+ return new Color(0.9f, 0.9f, 0.9f, 0.2f).getRGB();
+ case PRIMARY:
+ return OneConfigConfig.PRIMARY_700_80;
}
}
switch (colorPalette) {
- case -2:
- return getColorComponents(color, splitColor(OneConfigConfig.TRANSPARENT), new float[]{0.9f, 0.9f, 0.9f, 0.3f}, hover, 50f);
- case -1:
- return getColorComponents(color, splitColor(OneConfigConfig.TRANSPARENT), splitColor(OneConfigConfig.GRAY_500), hover, 50f);
+ case SECONDARY_TRANSPARENT: // Formally -2
+ return getColorComponents(color, new float[]{0f,0f,0f,0f}, new float[]{0.9f, 0.9f, 0.9f, 0.3f}, hover, 50f);
+ case PRIMARY: // Formally 1
+ return hover ? OneConfigConfig.PRIMARY_700 : OneConfigConfig.PRIMARY_600;
+ //return getColorComponents(color, splitColor(OneConfigConfig.PRIMARY_600), splitColor(OneConfigConfig.PRIMARY_700), hover, 100f);
default:
- case 0:
- return getColorComponents(color, splitColor(OneConfigConfig.GRAY_600), splitColor(OneConfigConfig.GRAY_300), hover, 50f);
- case 1:
- return getColorComponents(color, splitColor(OneConfigConfig.PRIMARY_600), splitColor(OneConfigConfig.PRIMARY_500), hover, 150f);
- case 2:
- return getColorComponents(color, splitColor(OneConfigConfig.GRAY_500), splitColor(OneConfigConfig.GRAY_300), hover, 50f);
- case 3:
- return getColorComponents(color, splitColor(OneConfigConfig.GRAY_500), splitColor(OneConfigConfig.GRAY_300), hover, 150f);
+ case SECONDARY: // Formally 0
+ return getColorComponents(color, splitColor(OneConfigConfig.GRAY_500), splitColor(OneConfigConfig.GRAY_400), hover, 100f);
+ case TERTIARY:
+ return getColorComponents(color, splitColor(OneConfigConfig.WHITE_90), splitColor(OneConfigConfig.WHITE), hover, 150f);
+ case PRIMARY_DESTRUCTIVE:
+ return getColorComponents(color, splitColor(OneConfigConfig.ERROR_700), splitColor(OneConfigConfig.ERROR_600), hover, 100f);
+ case SECONDARY_DESTRUCTIVE:
+ return getColorComponents(color, splitColor(OneConfigConfig.GRAY_500), splitColor(OneConfigConfig.ERROR_800), hover, 100f);
+ case TERTIARY_DESTRUCTIVE:
+ return getColorComponents(color, splitColor(OneConfigConfig.WHITE_90), splitColor(OneConfigConfig.ERROR_300), hover, 100f);
}
}