From c52ff6682752c0df74ccdd3361939f86f1f15808 Mon Sep 17 00:00:00 2001 From: kdx Date: Fri, 1 Sep 2023 22:32:31 +0200 Subject: pxCol function --- src/px.c | 11 +++++++++++ src/px.h | 3 +++ 2 files changed, 14 insertions(+) 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); -- cgit v1.2.3