
/* opensize.c
 *
 * Wimp function library
 *  Joseph Heenan, 1998.
 *
 *
 *
 *
 * $Log: opensize,v $
 * Revision 1.1  1998/05/25 19:52:06  joseph
 * Added wimpc_openwindowsize to allow opening window at full size
 *
 *
 *
 */

#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

#include "swis.h"
#include "wimplib.h"

#include "wimpclib.h"



int wimpc_openwindowsize( int window, int size )
{
  union
  {
    WimpGetWindowStateBlock state;
    WimpOpenWindowBlock     open;
  }
  block;

  block.state.window_handle = window;
  E_CHECK_RETURN( -1, wimp_get_window_state( &block.state ) );

  if ( size )
  {
    /* extend visible area of window to it's full extent */
    WimpGetWindowInfoBlock info;
    info.window_handle = window;
    E_CHECK_RETURN( -1, wimp_get_window_info( (WimpGetWindowInfoBlock *) (((int)(&info))+1) ) );
    block.open.visible_area.xmax = block.open.visible_area.xmin +
                                   info.window_data.extent.xmax - info.window_data.extent.xmin;
    block.open.visible_area.ymax = block.open.visible_area.ymin +
                                   info.window_data.extent.ymax - info.window_data.extent.ymin;
  }

  block.open.behind = -1;
  E_CHECK_RETURN( -1, wimp_open_window( &block.open ) );

  return 0;
}
