|
|
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.
SYNOPSIS
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);