151 template<
bool Coded4bits >
152 class rle_bitmap_output_buffer
155 rle_bitmap_output_buffer(
const color_palette_type& palette,
158 void fill(
unsigned int n,
unsigned char pattern );
159 void copy(
unsigned int n, file_input_buffer& buffer );
162 void delta_move(
unsigned char x,
unsigned char y);
166 const color_palette_type& m_palette;
195 template<
typename OutputBuffer >
196 class rle_bitmap_decoder
197 :
public rle_decoder< char, file_input_buffer, OutputBuffer >
204 virtual void read_mode( file_input_buffer& input,
210 rle_bitmap_decoder< rle_bitmap_output_buffer<true> > rle4_decoder;
213 typedef rle_bitmap_decoder< rle_bitmap_output_buffer<false> >
219 class pixel1_to_pixel32
222 void operator()(
scanline& dest,
const char* src,
223 const color_palette_type& palette )
const;
229 class pixel4_to_pixel32
232 void operator()(
scanline& dest,
const char* src,
233 const color_palette_type& palette )
const;
239 class pixel8_to_pixel32
242 void operator()(
scanline& dest,
const char* src,
243 const color_palette_type& palette )
const;
249 class pixel24_to_pixel32
252 void operator()(
scanline& dest,
const char* src,
253 const color_palette_type& palette )
const;
260 void load( std::istream& f );
263 void load_palette(
const header& h, std::istream& f,
264 color_palette_type& palette )
const;
266 void load_1bpp(
const header& h, std::istream& f );
267 void load_4bpp(
const header& h, std::istream& f );
268 void load_8bpp(
const header& h, std::istream& f );
269 void load_24bpp(
const header& h, std::istream& f );
271 void load_4bpp_rle(
const header& h, std::istream& f,
272 const color_palette_type& palette );
273 void load_4bpp_rgb(
const header& h, std::istream& f,
274 const color_palette_type& palette );
275 void load_8bpp_rle(
const header& h, std::istream& f,
276 const color_palette_type& palette );
277 void load_8bpp_rgb(
const header& h, std::istream& f,
278 const color_palette_type& palette );
280 template<
typename Convert>
281 void load_rgb_data( std::istream& f,
unsigned int buffer_size,
282 const color_palette_type& palette,
283 const Convert& pixel_convert );