ITEM: U1079L

Lower Right Box Char doesn't print - curses



Response:

DESC: Customer is writing extended curses programs.  He is using the
cbox function to draw boxes.  He has found that when he draws boxes on
the root window, the lower right hand corner is missing.  When he
draws boxes on sub-windows, this does not happen.  He suspected that
the cursor was sitting on that corner, but he has tried moving the
cursor around without any effect.

TEST:  the test program is as follows:

/* Compile with: xlc xxx.c -o xxx -lcur */

\#include \
\#define C_NORMAL (F_CYAN|B_BLUE)
WINDOW * w_sub;
main(int argc, char * argv[])
{   initscr();
        colorout(C_NORMAL);
        clear(); 
        cbox(stdscr);
        w_sub = subwin(stdscr, 5, 15, 5, 15);
        wcolorout(w_sub, C_NORMAL);
        cbox(w_sub);
        refresh();
        sleep(5);
        colorend();
   wclear( curscr );
   wrefresh( curscr );
   endwin();
}               /* end of main */

ACT: I have compiled this locally, and confirmed that when it runs
the lower right corner is missing on the root window.

ANSWER:
  In InfoExplorer, the discussion of the box() function there is
   the statement:  The box .... subroutines returns an ERR
   if.....or if an attempt is made to write to the lower right
   corner of the terminal when the scrollok value is set to False.
   There are similar statements for the mvwaddch() function.
   If curses is controlling the screen to provide windowing, you
   don't want the terminal to scroll, and placing characters in
   the lower right corner is going to start scrolling.

Another APAR was closed by YEAH, that's the way it works.

NEXT: Customer understands this, and said I can close this


Support Line: Lower Right Box Char doesn't print - curses ITEM: U1079L
Dated: April 1995 Category: N/A
This HTML file was generated 99/06/24~13:30:35
Comments or suggestions? Contact us