Changeset 1941:339d957d24ad in roaraudio
- Timestamp:
- 06/06/09 15:46:51 (15 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroarlight/colors.h
r1939 r1941 59 59 //#define ROAR_COLOR_TYPE_ 0x0100 60 60 61 #define ROAR_COLORSYSTEM_NONE (ROAR_COLOR_TYPE_NONE) 61 62 #define ROAR_COLORSYSTEM_GRAY (ROAR_COLOR_TYPE_K) 62 63 #define ROAR_COLORSYSTEM_RGB (ROAR_COLOR_TYPE_R|ROAR_COLOR_TYPE_G|ROAR_COLOR_TYPE_B) … … 102 103 //#define roar_color_new_rgb(color,r,g,b) (color)->system = ROAR_COLORSYSTEM_RGB; (color)->color.rgb.r = (r); (color)->color.rgb.b = (g); (color)->color.rgb.b = (b) 103 104 105 int roar_color_new (struct roar_color * c); 104 106 int roar_color_new_gray (struct roar_color * c, unsigned char k); 105 107 int roar_color_new_rgb (struct roar_color * c, unsigned char r, unsigned char g, unsigned char b); -
libroarlight/colors.c
r1940 r1941 25 25 #include "libroarlight.h" 26 26 27 int roar_color_new (struct roar_color * c) { 28 if ( c == NULL ) 29 return -1; 30 31 memset(c, 0, sizeof(struct roar_color)); 32 33 c->system = ROAR_COLORSYSTEM_NONE; 34 35 return 0; 36 } 37 38 int roar_color_new_gray (struct roar_color * c, unsigned char k) { 39 if ( roar_color_new(c) == -1 ) 40 return -1; 41 42 c->system = ROAR_COLORSYSTEM_GRAY; 43 44 c->color.gray.k = k; 45 46 return 0; 47 } 48 49 int roar_color_new_rgb (struct roar_color * c, unsigned char r, unsigned char g, unsigned char b) { 50 if ( roar_color_new(c) == -1 ) 51 return -1; 52 53 c->system = ROAR_COLORSYSTEM_RGB; 54 55 c->color.rgb.r = r; 56 c->color.rgb.g = g; 57 c->color.rgb.b = b; 58 59 return 0; 60 } 61 62 int roar_color_copy (struct roar_color * dst, struct roar_color * src) { 63 if ( dst == NULL || src == NULL ) 64 return -1; 65 66 memcpy(dst, src, sizeof(struct roar_color)); 67 68 return 0; 69 } 70 71 int roar_color_conv (struct roar_color * c, uint32_t system) { 72 if ( c == NULL ) 73 return -1; 74 75 switch (c->system) { 76 case ROAR_COLORSYSTEM_GRAY: 77 return roar_color_conv_gray(c, system); 78 break; 79 case ROAR_COLORSYSTEM_RGB: 80 return roar_color_conv_rgb(c, system); 81 break; 82 } 83 84 return -1; 85 } 86 87 int roar_color_conv_gray (struct roar_color * c, uint32_t system) { 88 unsigned char k; 89 90 if ( c == NULL ) 91 return -1; 92 93 if ( c->system != ROAR_COLORSYSTEM_GRAY ) 94 return -1; 95 96 switch (system) { 97 case ROAR_COLORSYSTEM_RGB: 98 k = c->color.gray.k; 99 c->color.rgb.r = k; 100 c->color.rgb.g = k; 101 c->color.rgb.b = k; 102 c->system = ROAR_COLORSYSTEM_RGB; 103 return 0; 104 break; 105 } 106 107 return -1; 108 } 109 110 int roar_color_conv_rgb (struct roar_color * c, uint32_t system) { 111 if ( c == NULL ) 112 return -1; 113 114 if ( c->system != ROAR_COLORSYSTEM_GRAY ) 115 return -1; 116 117 switch (system) { 118 } 119 120 return -1; 121 } 122 27 123 //ll
Note: See TracChangeset
for help on using the changeset viewer.