31 #ifndef AGG_COLOR_CONV_RGB16_INCLUDED 32 #define AGG_COLOR_CONV_RGB16_INCLUDED 34 #include "agg_basics.h" 35 #include "agg_color_conv.h" 44 void operator () (int8u* dst,
48 int16u* s = (int16u*)src;
62 void operator () (int8u* dst,
66 int16u* d = (int16u*)dst;
69 *d++ = (src[I1] << 8) | src[I1];
70 *d++ = (src[1] << 8) | src[1] ;
71 *d++ = (src[I3] << 8) | src[I3];
88 void operator () (int8u* dst,
92 const int16u* s = (
const int16u*)src;
114 void operator () (int8u* dst,
116 unsigned width)
const 120 int32u rgb = *(int32u*)src;
121 dst[R] = int8u(rgb >> 22);
122 dst[1] = int8u(rgb >> 12);
123 dst[B] = int8u(rgb >> 2);
141 void operator () (int8u* dst,
143 unsigned width)
const 147 int32u rgb = *(int32u*)src;
148 dst[R] = int8u(rgb >> 24);
149 dst[1] = int8u(rgb >> 13);
150 dst[B] = int8u(rgb >> 2);
166 void operator () (int8u* dst,
168 unsigned width)
const 172 int32u bgr = *(int32u*)src;
173 dst[R] = int8u(bgr >> 3);
174 dst[1] = int8u(bgr >> 14);
175 dst[B] = int8u(bgr >> 24);
191 void operator () (int8u* dst,
193 unsigned width)
const 197 *dst++ = int8u(((int16u*)src)[I1] >> 8);
198 *dst++ = int8u(((int16u*)src)[I2] >> 8);
199 *dst++ = int8u(((int16u*)src)[I3] >> 8);
200 *dst++ = int8u(((int16u*)src)[I4] >> 8);
231 void operator () (int8u* dst,
233 unsigned width)
const 235 int16u* d = (int16u*)dst;
238 d[I1] = (src[0] << 8) | src[0];
239 d[I2] = (src[1] << 8) | src[1];
240 d[I3] = (src[2] << 8) | src[2];
264 void operator () (int8u* dst,
266 unsigned width)
const 268 int16u* d = (int16u*)dst;
271 *d++ = src[R]*77 + src[1]*150 + src[B]*29;