Lines Matching refs:iter
39 struct fb_bitmap_iter *iter = iterator; in fb_bitmap_image() local
41 if (iter->i < iter->width) { in fb_bitmap_image()
42 int bit = ~iter->i & (BITS_PER_BYTE-1); in fb_bitmap_image()
43 int byte = iter->i++ / BITS_PER_BYTE; in fb_bitmap_image()
45 *pixels = iter->colors[(iter->data[byte] >> bit) & 1]; in fb_bitmap_image()
48 iter->data += BITS_TO_BYTES(iter->width); in fb_bitmap_image()
49 iter->i = 0; in fb_bitmap_image()
64 struct fb_color_iter *iter = iterator; in fb_color_image() local
66 if (iter->i < iter->width) { in fb_color_image()
67 unsigned long color = iter->data[iter->i++]; in fb_color_image()
69 if (iter->palette) in fb_color_image()
70 color = iter->palette[color]; in fb_color_image()
71 *pixels = color << iter->shift; in fb_color_image()
72 if (iter->reverse.pixel) in fb_color_image()
76 iter->data += iter->width; in fb_color_image()
77 iter->i = 0; in fb_color_image()
93 struct fb_bitmap4x_iter *iter = iterator; in fb_bitmap4x_image() local
96 if (iter->i >= BITS_PER_BYTE/2) { in fb_bitmap4x_image()
97 iter->i -= BITS_PER_BYTE/2; in fb_bitmap4x_image()
98 iter->top = !iter->top; in fb_bitmap4x_image()
99 if (iter->top) in fb_bitmap4x_image()
100 data = *iter->data++ >> BITS_PER_BYTE/2; in fb_bitmap4x_image()
102 data = iter->data[-1] & ((1 << BITS_PER_BYTE/2)-1); in fb_bitmap4x_image()
103 } else if (iter->i != 0) { in fb_bitmap4x_image()
104 *bits = iter->bpp * iter->i; in fb_bitmap4x_image()
105 if (iter->top) in fb_bitmap4x_image()
106 data = iter->data[-1] & ((1 << BITS_PER_BYTE/2)-1); in fb_bitmap4x_image()
108 data = *iter->data++ >> BITS_PER_BYTE/2; in fb_bitmap4x_image()
110 data >>= BITS_PER_BYTE/2 - iter->i; in fb_bitmap4x_image()
112 iter->i = 0; in fb_bitmap4x_image()
114 *bits = iter->bpp * BITS_PER_BYTE/2; in fb_bitmap4x_image()
115 iter->i = iter->width; in fb_bitmap4x_image()
116 iter->top = false; in fb_bitmap4x_image()
119 *pixels = (iter->fgxcolor & iter->expand[data]) ^ iter->bgcolor; in fb_bitmap4x_image()
127 static __always_inline void fb_bitblit(bool (*get)(void *iter, unsigned long *pixels, in fb_bitblit() argument
129 void *iter, int bits, struct fb_address *dst, in fb_bitblit()
145 while (get(iter, &pixels, &bits)) { in fb_bitblit()
172 struct fb_color_iter iter; in fb_color_imageblit() local
175 iter.data = (const u8 *)image->data; in fb_color_imageblit()
176 iter.palette = palette; in fb_color_imageblit()
177 iter.reverse = reverse; in fb_color_imageblit()
180 iter.shift = BITS_PER_BYTE - bpp; in fb_color_imageblit()
182 iter.shift = 0; in fb_color_imageblit()
185 iter.shift = BITS_PER_LONG - BITS_PER_BYTE; in fb_color_imageblit()
187 iter.shift = BITS_PER_LONG - bpp; in fb_color_imageblit()
189 iter.width = image->width; in fb_color_imageblit()
190 iter.i = 0; in fb_color_imageblit()
194 fb_bitblit(fb_color_image, &iter, bpp, dst, reverse); in fb_color_imageblit()
232 struct fb_bitmap4x_iter iter; in fb_bitmap4x_imageblit() local
235 iter.data = (const u8 *)image->data; in fb_bitmap4x_imageblit()
240 iter.fgxcolor = (fgcolor ^ bgcolor) * mul[bpp-1]; in fb_bitmap4x_imageblit()
241 iter.bgcolor = bgcolor * mul[bpp-1]; in fb_bitmap4x_imageblit()
242 iter.width = image->width; in fb_bitmap4x_imageblit()
243 iter.i = image->width; in fb_bitmap4x_imageblit()
244 iter.expand = expand[bpp-1]; in fb_bitmap4x_imageblit()
245 iter.bpp = bpp; in fb_bitmap4x_imageblit()
246 iter.top = false; in fb_bitmap4x_imageblit()
250 fb_bitblit(fb_bitmap4x_image, &iter, bpp * BITS_PER_BYTE/2, dst, reverse); in fb_bitmap4x_imageblit()
260 struct fb_bitmap_iter iter; in fb_bitmap1x_imageblit() local
263 iter.colors[0] = bgcolor; in fb_bitmap1x_imageblit()
264 iter.colors[1] = fgcolor; in fb_bitmap1x_imageblit()
266 iter.colors[0] <<= BITS_PER_LONG - bpp; in fb_bitmap1x_imageblit()
267 iter.colors[1] <<= BITS_PER_LONG - bpp; in fb_bitmap1x_imageblit()
269 iter.data = (const u8 *)image->data; in fb_bitmap1x_imageblit()
270 iter.width = image->width; in fb_bitmap1x_imageblit()
271 iter.i = 0; in fb_bitmap1x_imageblit()
275 fb_bitblit(fb_bitmap_image, &iter, bpp, dst, reverse); in fb_bitmap1x_imageblit()