# calc_window_c

too_big.i4.v = calc_window_c(top_row.i4.v, left_column.i4.v,
height.i4.v, width.i4.v,
real_left_col.i4.r, real_top_row.i4.r
[,real_rgt_col.i4.r] [,real_bot_row.i4.r])
This routine calculates the actual screen coordinates of a
window given a proposed upper left hand corner location and
the window's height and width. The coordinates for the upper
left hand corner of the window can contain the defined constants
WMNGR_CENTER to center the window either horizontally or
vertically. These coordinates can also contain values created
by the WINDOW_xxx_COORD macros which support special positioning
options. In addition, if part of the window would originally
have been off screen, it will shift the window coordinates in
order to place it entirely on the screen. A value of TRUE will
be returned if the window is too large to fit on the screen.
Otherwise, a value of FALSE will be returned. If any of the
returned arguments are not needed, a value of NULL may be passed
for them.
top_row top row of window (use WMNGR_CENTER for centering
or WINDOW_xxx_COORD macros found in 'macro' for
other special positioning)
left_column left column of window (use WMNGR_CENTER for centering
or WINDOW_xxx_COORD macros found in 'macro' for
other special positioning)
height height of the window including the borders
width width of the window including the border
real_left_col returned actual left column of window
real_top_row returned actual top row of window
[real_rgt_col] returned actual right column of window
[real_bot_row] returned actual bottom row of window
This function returns status values as follows:
TRUE window is too large
FALSE window will fit
This function requires the following include files:
cnsparam_h, cbslib_h, macro_h
Related functions:
shftwn, center_window_c, window_construct(_c), window_create(_c),
window_fit_window_c, window_unfit_window
C/C++ usage:
int too_big;
int top_row = WMNGR_CENTER;
int left_column = WMNGR_CENTER;
int height = WINDOW_HEIGHT;
int width = WINDOW_WIDTH;
int real_left_col;
int real_top_row;
int real_rgt_col;
int real_bot_row;
too_big = calc_window_c(top_row,left_column,height,width,
&real_left_col,&real_top_row,
&real_rgt_col,&real_bot_row);