/***********************************************************************
 * 
 *  G F O ! 
 *  by Chee Chew
 *      and 
 *     Ken Duda 
 *
 *  (c) 1990
 *
 *  This software is free for distribution.  This notice, however, may 
 *  not be altered.
 *  
 *  Enjoy! (and punt... )
 *
 ***********************************************************************/

#include "gfo.h"

make_level_stack(Game *g)
{
  int i;
  for (i = 1; i < g->well->depth; i++) {
    g->xc->level_win[i] = 
      XCreateSimpleWindow(g->xc->dsp, g->xc->mwin, 
			  10, g->xc->height*3/32 + 60 +
			  ((i-1) * (g->xc->height*28/32 - 60) / (g->well->depth-1)), 
			  g->xc->width/16, (g->xc->height*29/32 - 60) / (g->well->depth-1), 1, 
			  WhitePixel(g->xc->dsp,g->xc->scr),
			  BlackPixel(g->xc->dsp,g->xc->scr));
    XSelectInput(g->xc->dsp, g->xc->level_win[i], ExposureMask);
  }

  XMapSubwindows(g->xc->dsp, g->xc->mwin);
}

resize_level_stack(Game *g)
{
  int i;
  for (i = 1; i < (g->well->depth); i++) {
    XDestroyWindow(g->xc->dsp,g->xc->level_win[i]);
  }
  make_level_stack(g);
}

refresh_stack(Window w,Game *g)
{
  int i;
  for(i = 1; i < NUM_TILE_PIXMAPS; i++) {
    if (w == g->xc->level_win[i]) {
      redraw_level_win(g, i);
    }
  }
}


redraw_level_win(Game *g, int i)
{
  if(i >= g->emptydepth) {
    XFillRectangle(g->xc->dsp, g->xc->level_win[i], g->xc->tilegc[i], 0,0,
		   1+ g->xc->width/16, 1+(g->xc->height*29/32 - 60) / (g->well->depth-1));
  }
}

clear_level_win(XC *xc, int i)
{
  XClearArea(xc->dsp, xc->level_win[i],0,0,xc->width/16, xc->height/3, False);
}
