1.1 diff -r 851a04fa5324 -r 25c6b1a63f93 bitblt.c 1.2 --- a/bitblt.c Tue Mar 11 11:14:39 2003 +0000 1.3 +++ b/bitblt.c Wed Mar 12 06:02:46 2003 +0000 1.4 @@ -4,7 +4,7 @@ 1.5 * will be compressed using ITU-T T.6 (G4) fax encoding. 1.6 * 1.7 * bitblt routines 1.8 - * $Id: bitblt.c,v 1.13 2003/02/23 09:40:41 eric Exp $ 1.9 + * $Id: bitblt.c,v 1.14 2003/03/11 22:02:46 eric Exp $ 1.10 * Copyright 2001, 2002, 2003 Eric Smith <eric@brouhaha.com> 1.11 * 1.12 * This program is free software; you can redistribute it and/or modify 1.13 @@ -726,87 +726,3 @@ 1.14 } 1.15 1.16 1.17 -int32_t get_row_run_lengths (Bitmap *src, 1.18 - int32_t y, 1.19 - int32_t min_x, int32_t max_x, 1.20 - int32_t max_runs, 1.21 - run_t *runs) 1.22 -{ 1.23 - uint8_t *byte_ptr; 1.24 - uint8_t byte; 1.25 - int bit_pos; 1.26 - 1.27 - uint32_t byte_cnt; 1.28 - int last_bits; 1.29 - bool last_flag = 0; 1.30 - 1.31 - uint8_t pol = 0x00; /* 0x00 = counting zeros (white), 1.32 - 0xff = counting ones (black) */ 1.33 - int32_t left = 0; /* left x coordinate of current run, relative */ 1.34 - 1.35 - uint32_t rl; 1.36 - int32_t i = 0; 1.37 - 1.38 - /* adjust coordinate system */ 1.39 - y -= src->rect.min.y; 1.40 - min_x -= src->rect.min.x; 1.41 - max_x -= src->rect.min.x; 1.42 - 1.43 - byte_ptr = (uint8_t *) (src->bits + y * src->row_words); 1.44 - byte_cnt = (max_x / 8) + 1 - (min_x / 8); 1.45 - last_bits = max_x % 8; 1.46 - 1.47 - rl = 0; 1.48 - pol = 0x00; /* initially count white pixels */ 1.49 - 1.50 - byte_ptr += min_x / 8; 1.51 - bit_pos = min_x % 8; 1.52 - byte = *(byte_ptr++); 1.53 - 1.54 - /* is the first byte also the last? */ 1.55 - if (--byte_cnt == 0) 1.56 - { 1.57 - byte <<= (7 - last_bits); /* last byte may be partial */ 1.58 - bit_pos += (7 - last_bits); 1.59 - last_flag = 1; 1.60 - } 1.61 - 1.62 - for (;;) 1.63 - { 1.64 - int b2 = rle_tab [bit_pos] [pol ^ byte]; 1.65 - rl += b2; 1.66 - bit_pos += b2; 1.67 - if (bit_pos == 8) 1.68 - { 1.69 - if (last_flag) 1.70 - { 1.71 - if (rl) 1.72 - { 1.73 - runs [i].value = pol; 1.74 - runs [i].left = left; 1.75 - runs [i++].width = rl; 1.76 - } 1.77 - return (i); 1.78 - } 1.79 - bit_pos = 0; 1.80 - byte = *(byte_ptr++); 1.81 - if (--byte_cnt == 0) 1.82 - { 1.83 - byte <<= (7 - last_bits); /* last byte may be partial */ 1.84 - bit_pos += (7 - last_bits); 1.85 - last_flag = 1; 1.86 - } 1.87 - } 1.88 - else 1.89 - { 1.90 - runs [i].value = pol; 1.91 - runs [i].left = left; 1.92 - runs [i++].width = rl; 1.93 - left += rl; 1.94 - if (i == max_runs) 1.95 - return (-i); 1.96 - rl = 0; 1.97 - pol ^= 0xff; 1.98 - } 1.99 - } 1.100 -}