/*--------------------------------------------------------------------
 * FICHERO:  PanBloq.c
 * OBJETIVO: Definir las funciones Pan_BorraTex() y Pan_Bloque()
 * AUTOR:    Pedro Reina
 * FECHA:    X.19.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "General.h"
#include "Pantalla.h"

#ifdef OLIMPO_PC
#include <conio.h>     /*  window()       */
#include <dos.h>       /*  REGS  int86()  */
#endif

#ifdef OLIMPO_QL
#include <qlib.h>      /*  QLRECT  sd_fill()  */
#endif

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

#ifdef OLIMPO_PC
/*--------------------------------------------------------------------
 * FUNCION:  Pan_BorraTex()
 * OBJETIVO: Borrar una zona de la pantalla en modo texto
 * ENTRADAS: El color y las coordenadas
 * SALIDAS:  Ninguna
 * EJEMPLO:  Pan_Borra ( ROJO,3,3,15,15 )
 *------------------------------------------------------------------*/
void Pan_BorraTex (Color,F1,C1,F2,C2)
contador Color, F1, C1, F2, C2;
  {
  Pan_Papel (Color);
  window (C1+1,F1+1,C2+1,F2+1);
  Pan_Limpia ();
  window (1,1,80,25);
  }
#endif

#ifdef OLIMPO_PC
/*--------------------------------------------------------------------
 * FUNCION:  Pan_Bloque()
 * OBJETIVO: Borrar una zona de la pantalla en modo grfico
 * ENTRADAS: El color y las coordenadas
 * SALIDAS:  Ninguna
 * EJEMPLO:  Pan_Borra ( ROJO,3,3,15,15 )
 *------------------------------------------------------------------*/
void Pan_Bloque (Color,F1,C1,F2,C2)
contador Color, F1, C1, F2, C2;
  {
  union REGS r;

  r.h.ah = 6;
  r.h.al = 0;
  r.h.bh = Color;
  r.h.cl = C1;
  r.h.ch = F1;
  r.h.dl = C2;
  r.h.dh = F2;
  int86 (0x10,&r,&r);
  }
#endif

#ifdef OLIMPO_QL
/*--------------------------------------------------------------------
 * FUNCION:  Pan_Bloque()
 * OBJETIVO: Dibujar un bloque en la pantalla
 * ENTRADAS: El color, ancho, alto, posicin x y posicin y, todo en pixels
 * SALIDAS:  Ninguna
 * EJEMPLO:  Pan_Bloque ( ROJO,18,30,0,0 )
 *------------------------------------------------------------------*/
void Pan_Bloque (Color,Ancho,Alto,PosX,PosY)
octeto   Color;
contador Ancho, Alto, PosX, PosY;
  {
  struct QLRECT Bloque;

  Bloque.q_width  = Ancho;
  Bloque.q_height = Alto;
  Bloque.q_x      = PosX;
  Bloque.q_y      = PosY;
  sd_fill (Pan_Canal(),-1L,Color,&Bloque);
  }
#endif
