Files
OrionOS/wm/src/color.c
T
2026-07-23 12:14:34 -04:00

21 lines
614 B
C

#include "wm.h"
unsigned long color_alloc(WM *wm, unsigned long rgb) {
XColor c;
c.red = ((rgb >> 16) & 0xFF) * 257;
c.green = ((rgb >> 8) & 0xFF) * 257;
c.blue = ((rgb) & 0xFF) * 257;
c.flags = DoRed | DoGreen | DoBlue;
XAllocColor(wm->dpy, wm->cmap, &c);
return c.pixel;
}
void xft_color(WM *wm, unsigned long rgb, XftColor *out) {
XRenderColor rc;
rc.red = ((rgb >> 16) & 0xFF) * 257;
rc.green = ((rgb >> 8) & 0xFF) * 257;
rc.blue = ((rgb) & 0xFF) * 257;
rc.alpha = 0xFFFF;
XftColorAllocValue(wm->dpy, wm->visual, wm->cmap, &rc, out);
}