summaryrefslogtreecommitdiff
path: root/engine/themes.php
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2022-07-11 15:01:02 +0300
committerEvgeny Zinoviev <me@ch1p.io>2022-07-11 15:01:02 +0300
commitc2f382aba86aaebb9806ff1b43c1af69992e9a10 (patch)
treeaee205721fd675926c5e7163eec0dddc448f7813 /engine/themes.php
parent24982a48f570b89e537850dda4a4d1ac33ea919f (diff)
support dark mode for images with alpha channel
Diffstat (limited to 'engine/themes.php')
-rw-r--r--engine/themes.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/engine/themes.php b/engine/themes.php
new file mode 100644
index 0000000..839377f
--- /dev/null
+++ b/engine/themes.php
@@ -0,0 +1,38 @@
+<?php
+
+class themes {
+
+ public static array $Themes = [
+ 'dark' => [
+ 'bg' => 0x222222,
+ // 'alpha' => 0x303132,
+ 'alpha' => 0x222222,
+ ],
+ 'light' => [
+ 'bg' => 0xffffff,
+ // 'alpha' => 0xf2f2f2,
+ 'alpha' => 0xffffff,
+ ]
+ ];
+
+ public static function getThemes(): array {
+ return array_keys(self::$Themes);
+ }
+
+ public static function themeExists(string $name): bool {
+ return array_key_exists($name, self::$Themes);
+ }
+
+ public static function getThemeAlphaColorAsRGB(string $name): array {
+ $color = self::$Themes[$name]['alpha'];
+ $r = ($color >> 16) & 0xff;
+ $g = ($color >> 8) & 0xff;
+ $b = $color & 0xff;
+ return [$r, $g, $b];
+ }
+
+ public static function getUserTheme(): string {
+ return ($_COOKIE['theme'] ?? 'auto');
+ }
+
+} \ No newline at end of file