Annotation of researchv10no/ncurses/screen/_tscroll.c, revision 1.1

1.1     ! root        1: # include      "curses.ext"
        !             2: /*     @(#) _tscroll.c: 1.1 10/15/83   (1.3    7/17/82)        */
        !             3: 
        !             4: _tscroll( win )
        !             5: register WINDOW        *win;
        !             6: {
        !             7: 
        !             8:        register chtype *sp;
        !             9:        register int            i;
        !            10:        register chtype *temp;
        !            11:        register int    top, bot;
        !            12: 
        !            13: #ifdef DEBUG
        !            14:        if( win == stdscr )
        !            15:        {
        !            16:                if(outf) fprintf( outf, "scroll( stdscr )\n" );
        !            17:        }
        !            18:        else
        !            19:        {
        !            20:                if( win == curscr)
        !            21:                {
        !            22:                        if(outf) fprintf( outf, "scroll( curscr )\n" );
        !            23:                }
        !            24:                else
        !            25:                {
        !            26:                        if(outf) fprintf( outf, "scroll( %x )\n", win );
        !            27:                }
        !            28:        }
        !            29: #endif
        !            30:        if( !win->_scroll )
        !            31:        {
        !            32:                return ERR;
        !            33:        }
        !            34:        /* scroll the window lines themselves up */
        !            35:        top = win->_tmarg;
        !            36:        bot = win->_bmarg;
        !            37:        temp = win->_y[top];
        !            38: #ifdef DEBUG
        !            39:        if(outf)
        !            40:        {
        !            41:                fprintf( outf, "top = %d, bot = %d\n", top, bot );
        !            42:        }
        !            43: #endif DEBUG
        !            44:        for (i = top; i < bot; i++)
        !            45:        {
        !            46:                win->_y[i] = win->_y[i+1];
        !            47:        }
        !            48:        /* Put a blank line in the opened up space */
        !            49:        for (sp = temp; sp - temp < win->_maxx; )
        !            50:                *sp++ = ' ';
        !            51:        win->_y[bot] = temp;
        !            52: #ifdef DEBUG
        !            53:        if(outf)
        !            54:        {
        !            55:                fprintf(outf,"SCROLL win [0%o], curscr [0%o], top %d, bot %d\n",
        !            56:                                win, curscr, top, bot);
        !            57:                fprintf( outf, "Doing --> touchwin( 0%o )\n", win );
        !            58:        }
        !            59: #endif DEBUG
        !            60:        win->_cury--;
        !            61: /*
        !            62: **     This section taken out because it wasn't allowing the scrolling of a
        !            63: **     region smaller than the full screen.  Taken out on 10/12/83.  The 
        !            64: **     function call touchwin(win) is done all the time now, & seems to do
        !            65: **     the correct thing when it comes to scrolling with a smaller than screen
        !            66: **     sized region, & a screen sized region.
        !            67: **
        !            68: **     if( win->_flags&_FULLWIN )
        !            69: **     {
        !            70: **             _scrdown();
        !            71: **     }
        !            72: **     else
        !            73: **     {
        !            74: **             musttouch = 1;
        !            75: **     }
        !            76: **     if( musttouch )
        !            77: **             touchwin(win);
        !            78: */
        !            79:        touchwin(win);
        !            80:        return OK;
        !            81: }

unix.superglobalmegacorp.com

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