Annotation of researchv10no/ncurses/screen/_pos.c, revision 1.1.1.1

1.1       root        1: /*     @(#) _pos.c: 1.1 10/15/83       (1.21   2/11/83)        */
                      2: 
                      3: #include "curses.ext"
                      4: 
                      5: extern int     _outch();
                      6: 
                      7: /* Position the SP->curptr to (row, column) which start at 0. */
                      8: _pos(row, column)
                      9: int    row;
                     10: int    column;
                     11: {
                     12: #ifdef DEBUG
                     13:     if(outf) fprintf(outf, "_pos from row %d, col %d => row %d, col %d\n",
                     14:            SP->phys_y, SP->phys_x, row, column);
                     15: #endif
                     16:        if( SP->phys_x == column && SP->phys_y == row )
                     17:        {
                     18:                return; /* already there */
                     19:        }
                     20:        /*
                     21:         * Many terminals can't move the cursor when in standout mode.
                     22:         * We must be careful, however, because HP's and cookie terminals
                     23:         * will drop a cookie when we do this.
                     24:         */
                     25:        if( !move_standout_mode && SP->phys_gr && magic_cookie_glitch < 0 )
                     26:        {
                     27:                if( !ceol_standout_glitch )
                     28:                {
                     29:                        _clearhl ();
                     30:                }
                     31:        }
                     32:        /* some terminals can't move in insert mode */
                     33:        if( SP->phys_irm == 1 && !move_insert_mode )
                     34:        {
                     35:                tputs(exit_insert_mode, 1, _outch);
                     36:                SP->phys_irm = 0;
                     37:        }
                     38:        /* If we try to move outside the scrolling region, widen it */
                     39:        if( row<SP->phys_top_mgn || row>SP->phys_bot_mgn )
                     40:        {
                     41:                _window(0, lines-1, 0, columns-1);
                     42:                _setwind();
                     43:        }
                     44:        mvcur(SP->phys_y, SP->phys_x, row, column);
                     45:        SP->phys_x = column;
                     46:        SP->phys_y = row;
                     47: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.