[GRASS5] OUT OF CONTEXT: QUERY ON NCURSES

Hi all,
Sorry for the out-of-context question but cudnt locate a more appropriate mailin list.
I am developing a C code to be integrated with GRASS that makes use of ncurses.
The program needs to open a text file and scroll down if the
number of lines in the file exceeds the screen size.
Though I am able to scroll up and down succesfully ( by making use of scrl() function) I lose the text below and above the cursor respectively.
How do i maintain continuity while displaying the file ?

Following is the code that i use.

if(ch == KEY_F(9)) //To display file contents and scroll
             {
        werase(stdscr);
               max_i=0;
               file_read=fopen("session.txt","r");
               printw("\n");
               do{
    c = fgets(oneline,300,file_read);
                 max_i++;
    if (c != NULL)
      printw("%s",oneline);
        }while (c != NULL);
        max_ch= getch();
        while(max_ch == KEY_UP || max_ch == KEY_DOWN)
    {
      switch(max_ch)
        {
        case KEY_DOWN:
          scrl(1); //scroll down by one line
          refresh();
          break;

        case KEY_UP:
          scrl(-1); //scroll up by one line
          refresh();
          break;

        default:
          break;
        }
      max_ch =getch();
      }
               fclose(file_read);

             }

I have also initialised the necessary curses functions for scrolling. they are :

   idlok (stdscr, TRUE);
   scrollok(stdscr,TRUE);
   scroll(stdscr);

Any pointers ???

Vidya Kotamraju.

--
-----------------------------------------------------------------------
Maybe this world is another planet's Hell.
                                      -Aldous Huxley
-----------------------------------------------------------------------
Kotamraju Vidya
Marine HydroDynamics Lab,
Physical Oceanography Division,
National Institute of Oceanography,
Dona Paula, Goa 403 004, India.
Ph.: +91-832-2456700 *4400 (O)
       +91-832-2541756 (R)
e-mail: vidyakr@darya.nio.org

Vidya Kotamraju wrote:

Sorry for the out-of-context question but cudnt locate a more
appropriate mailin list.
I am developing a C code to be integrated with GRASS that makes use of
ncurses.
The program needs to open a text file and scroll down if the
number of lines in the file exceeds the screen size.
Though I am able to scroll up and down succesfully ( by making use of
scrl() function) I lose the text below and above the cursor respectively.
How do i maintain continuity while displaying the file ?

You have to actually store the file's contents somewhere, and use it
to redraw the exposed parts of the window whenever you scroll.

--
Glynn Clements <glynn.clements@virgin.net>