Changeset 3640 for libcaca/trunk/caca/dither.c
- Timestamp:
- 08/13/09 15:04:40 (4 years ago)
- File:
-
- 1 edited
-
libcaca/trunk/caca/dither.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/dither.c
r2826 r3640 1034 1034 } 1035 1035 1036 /* FIXME: hack to force greyscale */ 1037 if(d->color == COLOR_MODE_FULLGRAY) 1038 { 1039 unsigned int gray = (3 * rgba[0] + 4 * rgba[1] + rgba[2] + 4) / 8; 1040 rgba[0] = rgba[1] = rgba[2] = gray; 1041 } 1042 1036 1043 if(d->has_alpha && rgba[3] < 0x800) 1037 1044 { … … 1060 1067 for(i = 0; i < 16; i++) 1061 1068 { 1069 if(d->color == COLOR_MODE_FULLGRAY 1070 && (rgb_palette[i * 3] != rgb_palette[i * 3 + 1] 1071 || rgb_palette[i * 3] != rgb_palette[i * 3 + 2])) 1072 continue; 1062 1073 dist = sq(rgba[0] - rgb_palette[i * 3]) 1063 1074 + sq(rgba[1] - rgb_palette[i * 3 + 1]) … … 1075 1086 1076 1087 /* FIXME: we currently only honour "full16" */ 1077 if(d->color == COLOR_MODE_FULL16 )1088 if(d->color == COLOR_MODE_FULL16 || d->color == COLOR_MODE_FULLGRAY) 1078 1089 { 1079 1090 distmin = INT_MAX; … … 1081 1092 { 1082 1093 if(i == outbg) 1094 continue; 1095 if(d->color == COLOR_MODE_FULLGRAY 1096 && (rgb_palette[i * 3] != rgb_palette[i * 3 + 1] 1097 || rgb_palette[i * 3] != rgb_palette[i * 3 + 2])) 1083 1098 continue; 1084 1099 dist = sq(rgba[0] - rgb_palette[i * 3])
Note: See TracChangeset
for help on using the changeset viewer.
