home *** CD-ROM | disk | FTP | other *** search
- #include "Color.h"
- #include <stdio.h>
-
- static char buffer[256];
-
- const char * Converter::convert( const Color & val )
- {
- unsigned r(val.r), g(val.g), b(val.b), a(val.a);
- sprintf( buffer, "%d %d %d %d", r, g, b, a );
- return buffer;
- }
-
- bool Converter::convert( const char * stt, Color * val )
- {
- unsigned r(255), g(255), b(255), a(255);
- bool ok = sscanf( buffer, "%d %d %d %d", &r, &g, &b, &a ) == 4;
- val->r = r;
- val->g = g;
- val->b = b;
- val->a = a;
- return ok;
- }
-
- const Color::Table Color::alpha_table;
-
- Color::Table::Table()
- {
- for( int alp = 0; alp < 256; ++alp )
- for( int val = 0; val < 256; ++val )
- {
- float result = 0.49f + val*alp/255.0f;
- data[alp][val] = (result > 255) ? 255 : (unsigned char)result;
- }
- }
-