void
LibEditText_Section_ReviewSection(
LibEditText_TextInfo *p_tinfo,
- DWord dw_sec_low,
- DWord dw_sec_high )
+ DWord dw_secid_min,
+ DWord dw_secid_high )
{
DWord dw_cnt;
- DWord dw_propsecid_now;
- DWord dw_propsecid_next;
LibEditText_LineSection *p_sec_now;
- LibEditText_LineSection *p_sec_next;
+ LibEditText_LineSection *p_sec_min;
+ LibEditText_LineSection *p_sec_high;
- for( dw_cnt = 0; dw_cnt < p_tinfo->dw_sections - 1; dw_cnt++ ) {
- p_sec_now = SECINFO(p_tinfo, dw_cnt);
- p_sec_next = SECINFO(p_tinfo, dw_cnt + 1);
+ p_sec_min = SECINFO(p_tinfo, dw_secid_min);
+ p_sec_high = SECINFO(p_tinfo, dw_secid_high);
- if( p_sec_now->dw_line > p_sec_next->dw_line ) {
- dw_propsecid_now = CALC_SECTION2LINE(p_tinfo, dw_cnt);
- dw_propsecid_next = CALC_SECTION2LINE(p_tinfo, dw_cnt+1);
+ for( dw_cnt = 0; dw_cnt < p_tinfo->dw_sections - 1; dw_cnt++ ) {
+ if( dw_cnt < dw_secid_min ) {
+ p_sec_now = SECINFO(p_tinfo, dw_cnt);
-
+ if( p_sec_min->dw_line < p_sec_now->dw_line ) {
+ p_sec_now->dw_line = p_sec_min->dw_line;
+ p_sec_now->dw_linfoid = p_sec_min->dw_linfoid;
+ }
+ }
+ else if( dw_cnt > dw_secid_high ) {
+ p_sec_now = SECINFO(p_tinfo, dw_cnt);
+
+ if( p_sec_high->dw_line > p_sec_now->dw_line ) {
+ p_sec_now->dw_line = p_sec_high->dw_line;
+ p_sec_now->dw_linfoid = p_sec_high->dw_linfoid;
+ }
+ else
+ { return; }
}
+
}
return;
int i_move = 0;
DWord dw_secid;
DWord dw_tmpsecid;
+ DWord dw_minsecid;
DWord dw_line;
DWord dw_secline;
DWord dw_adjustline;
p_line = LINFO(p_tinfo, p_sec->dw_linfoid);
dw_secline = CALC_SECTION2LINE(p_tinfo, dw_secid);
dw_adjustline = dw_line + (p_tinfo->dw_sect_steps - (dw_line % p_tinfo->dw_sect_steps));
+ dw_minsecid = dw_secid;
while( NULL != p_line ) {
/* Adjust Section-Line to Proper-Line */
p_tmpsec->dw_line = dw_line;
p_tmpsec->dw_linfoid = p_line->dw_id;
dw_adjustline += p_tinfo->dw_sect_steps;
+ if( dw_tmpsecid < dw_minsecid ) { dw_minsecid = dw_tmpsecid; }
}
if( dw_targline == dw_line ) { break; }
p_sec->dw_linfoid = p_line->dw_id;
}
+ LibEditText_Section_ReviewSection( p_tinfo, dw_minsecid, dw_secid );
+
goto_LibEditText_Section_SearchLine_post:
return p_line;
}