/*--------------------------------------------------------------------
 * FICHERO:  CdrLinea.c
 * OBJETIVO: Definir la funcin Cdr_Linea()
 * AUTOR:    Pedro Reina
 * FECHA:    M.18.7.1995
 *------------------------------------------------------------------*/

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

#include "Cuadro.h"

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

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Cdr_Linea()
 * OBJETIVO: Dibujar una lnea
 * ENTRADAS: El tipo de lnea, las coordenadas y los colores
 *           de papel y tinta
 * SALIDAS:  Ninguna
 * EJEMPLO:  Cdr_Linea (CDR_DOBLE,2,3,2,71,BLANCO,NEGRO)
 * ALGORITMO:
 *  Si las coordenadas tienen la misma fila, se dibuja una lnea horizontal
 *  Si las coordenadas tienen la misma columna, se dibuja una lnea vertical
 *------------------------------------------------------------------*/
#ifdef OLIMPO_PC
void Cdr_Linea (Tipo,F1,C1,F2,C2,Papel,Tinta)
octeto Tipo,F1,C1,F2,C2,Papel,Tinta;
  {
  static caracter Horizontal[2] = { 196, 205 };
  static caracter Vertical[2]   = { 179, 186 };
  octeto i;

  Pan_Color (Papel, Tinta);
  if ( F1 == F2 )
    {
    for ( i=C1 ; i<=C2 ; i++ )
      { Pan_PonCar (F1,i,Horizontal[Tipo]); }
    }

  if ( C1 == C2 )
    {
    for ( i=F1 ; i<=F2 ; i++ )
      { Pan_PonCar (i,C1,Vertical[Tipo]); }
    }
  }
#endif

#ifdef OLIMPO_QL
void Cdr_Linea (Tipo,F1,C1,F2,C2,Papel,Tinta)
octeto Tipo,F1,C1,F2,C2,Papel,Tinta;
  {
  contador Ancho, Alto, PosX, PosY;

  if ( ( F1 == F2 ) || ( C1 == C2 ) )
    {
    Pan_Color (Papel, Tinta);
    Pan_Borra (Papel, F1, C1, F2, C2);
    Cdr_LineaInterna (Tipo, F1, C1, F2, C2, Tinta);
    }
  }
#endif
