Browse Source

* Implemented argb32 to rgb24fg/bg colour conversions.

tags/v0.99.beta14
Sam Hocevar sam 19 years ago
parent
commit
5a476a29ae
2 changed files with 17 additions and 0 deletions
  1. +15
    -0
      cucul/colour.c
  2. +2
    -0
      cucul/cucul_internals.h

+ 15
- 0
cucul/colour.c View File

@@ -175,6 +175,21 @@ uint16_t _cucul_argb32_to_rgb12bg(uint32_t c)
return bg & 0x0fff;
}

#define RGB12TO24(i) \
((uint32_t)((i & 0xf00) >> 8) * 0x11 \
| (uint32_t)((i & 0x0f0) >> 4) * 0x11 \
| (uint32_t)(i & 0x00f) * 0x11)

uint32_t _cucul_argb32_to_rgb24fg(uint32_t c)
{
return RGB12TO24(_cucul_argb32_to_rgb12fg(c));
}

uint32_t _cucul_argb32_to_rgb24bg(uint32_t c)
{
return RGB12TO24(_cucul_argb32_to_rgb12bg(c));
}

void _cucul_argb32_to_argb4(uint32_t c, uint8_t argb[8])
{
uint16_t fg = c & 0xffff;


+ 2
- 0
cucul/cucul_internals.h View File

@@ -67,6 +67,8 @@ uint8_t _cucul_argb32_to_ansi4fg(uint32_t);
uint8_t _cucul_argb32_to_ansi4bg(uint32_t);
uint16_t _cucul_argb32_to_rgb12fg(uint32_t);
uint16_t _cucul_argb32_to_rgb12bg(uint32_t);
uint32_t _cucul_argb32_to_rgb24fg(uint32_t);
uint32_t _cucul_argb32_to_rgb24bg(uint32_t);
void _cucul_argb32_to_argb4(uint32_t, uint8_t[8]);

/* Export functions */


Loading…
Cancel
Save