13 int test_start,
int test_end )
15 if( *dirty_start==*dirty_end ) {
16 *dirty_start = test_start;
17 *dirty_end = test_end;
19 if( test_start < *dirty_start )
20 *dirty_start = test_start;
21 if( test_end > *dirty_end )
22 *dirty_end = test_end;
30 int *dirty_start,
int *dirty_end )
34 int clear_row, clear_start = 0, clear_end = 0;
41 if( lines >= h || lines < 0 ) {
44 int y_src = y1 +
lines;
54 for( clear_row=clear_start; clear_row!=clear_end; ++clear_row )
70 int clear_start, clear_end;
75 (x2 + 1) * font_w, (y2 + 1) * font_h,
84 int y_src = y1 + rows;
95 memcpy( dst, src, cell_line_width );
109 int target_x,
int target_y,
110 const void *
buffer,
size_t length,
111 int *dirty_start,
int *dirty_end
115 const unsigned char *pachText = (
const unsigned char *) buffer;
118 if( (length == 1) && ((size_t)*pachText == 255) )
135 size_t i, char_size = char_row_byte_count *
__fb_gfx->
font->
h;
137 for( i=0; i!=length; ++i ) {
138 size_t char_index = (size_t) *pachText++;
143 int char_x, char_row_byte;
144 int text_y = target_y + char_y;
145 int text_x = target_x;
146 for( char_row_byte=0; char_row_byte!=char_row_byte_count; ++char_row_byte )
148 unsigned char char_data = *src++;
149 for (char_x = 0, char_bit_mask = 1;
151 char_x++, char_bit_mask <<= 1)
154 context->
put_pixel(context, text_x++, text_y, color);
175 const char *pachText = (
const char *) buffer;
187 + handle->
Coord.
X + length;
193 cell->
ch = pachText[length];
204 const char *pachText = (
const char *) buffer;
205 int win_left, win_top, win_cols, win_rows;
206 int view_top, view_bottom;
224 win_left = win_top = 0;
230 hooks.
Border.
Top = win_top + view_top - 1;