summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-09-01 22:32:31 +0200
committerkdx <kikoodx@paranoici.org>2023-09-01 22:32:31 +0200
commitc52ff6682752c0df74ccdd3361939f86f1f15808 (patch)
treecae0b6b31514204e6a3bee169e47833e682f5432
parent70ae6542bd29604ee94d536c43cc4d0907e5f952 (diff)
downloadpx-c52ff6682752c0df74ccdd3361939f86f1f15808.tar.gz
pxCol function
-rw-r--r--src/px.c11
-rw-r--r--src/px.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/src/px.c b/src/px.c
index e3f8da9..5281432 100644
--- a/src/px.c
+++ b/src/px.c
@@ -269,6 +269,17 @@ _pxPalt(const PxPaltArgs *args)
pxpal[args->col].t = args->t;
}
+PxCol
+pxCol(uint8_t r, uint8_t g, uint8_t b)
+{
+ for (int i = 0; i < 256; i++) {
+ const PxPal *pal = &pxpal[i];
+ if (pal->r == r && pal->g == g && pal->b == b)
+ return i;
+ }
+ return -1;
+}
+
int
pxMin(int a, int b)
{
diff --git a/src/px.h b/src/px.h
index 9eb9610..1d08bd1 100644
--- a/src/px.h
+++ b/src/px.h
@@ -112,6 +112,9 @@ void _pxSpal(const PxSpalArgs *args);
.col=-1, .t=true, ._=0, __VA_ARGS__})
void _pxPalt(const PxPaltArgs *args);
+/* Try to find a color in palette, return 255 on error. */
+PxCol pxCol(uint8_t r, uint8_t g, uint8_t b);
+
/*** MATH ***/
int pxMin(int a, int b);
int pxMax(int a, int b);