static bool WndCursorLeftCheck( a_window *wnd ) { int col; wnd_line_piece line; if( _Isnt( wnd, WSW_CHAR_CURSOR )|| !WndHasCurrent( wnd ) || wnd->current.col == 0 ) { if( !WndTabLeft( wnd, false ) ) return( false ); wnd->current.col = WND_MAX_COL; WndSetCurrCol( wnd ); WndCurrVisible( wnd ); WndDirtyCurrChar( wnd ); return( true ); } else { WndGetLine( wnd, wnd->current.row, wnd->current.piece, &line ); WndDirtyCurrChar( wnd ); col = wnd->current.col; wnd->current.col = WndPrevCharCol( line.text, wnd->current.col ); WndSetCurrCol( wnd ); WndCurrVisible( wnd ); WndDirtyCurrChar( wnd ); return( col != wnd->current.col ); } }
void ProcWndTabLeft( a_window *wnd ) { WndTabLeft( wnd, TRUE ); }