ETI panels

Moving panel windows on the screen

You should not move a panel's window by calling the low-level function mvwin directly. To update the screen correctly, the panels subsystem must know the location of all panel windows, but function mvwin does not inform the panels subsystem of the window's new location. To move a panel's window, you must call the function move_panel, which moves a panel and its associated window and informs the panels subsystem of the move.


   int move_panel (panel, firstrow, firstcol)
   PANEL *panel;            /* Panel to be moved */
   int firstrow, firstcol;  /* row/col of upper left corner
                               of new location of window
                               associated with panel */
Note that the screen coordinates you specify are those for the upper-left corner of the window in its new location. The panel may be moved to any location that the low-level ETI routines deem legitimate. In particular, a panel may be partly off the screen. The size, contents, and relative depth of the panel remain unchanged by move_panel.

Function move_panel returns OK if the operation was successful, ERR otherwise. The move_panel operation fails if the low-level ETI functions are unable to move the panel's window, or if there is insufficient memory to satisfy the request. In these cases, the original panel remains unchanged.

To move the panel pointed to by panel such that its upper-left corner is at row 22, column 45, you can write

   PANEL *panel;

move_panel(panel, 22, 45);

Next topic: Moving panels to the top or bottom of the deck
Previous topic: Changing panel windows

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004