/*--------------------------------------------------------------------
 * FICHERO:  CdrLinIn.c
 * OBJETIVO: Definir la funcin interna QL Cdr_LineaInterna()
 * AUTOR:    Pedro Reina
 * FECHA:    M.18.7.1995
 *------------------------------------------------------------------*/

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

#include "Cuadro.h"

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

#ifdef OLIMPO_QL
/*--------------------------------------------------------------------
 * FUNCION:  Cdr_LineaInterna()
 * OBJETIVO: Dibujar una lnea sin borrar la zona asignada
 * ENTRADAS: El tipo de lnea, las coordenadas y el color de la tinta
 * SALIDAS:  Ninguna
 * EJEMPLO:  Cdr_LineaInterna (CDR_DOBLE,2,3,2,71,BLANCO)
 * NOTA:     Se asume que las coordenadas tienen la misma fila o
 *           la misma columna
 *------------------------------------------------------------------*/
void Cdr_LineaInterna (Tipo,F1,C1,F2,C2,Tinta)
octeto Tipo,F1,C1,F2,C2,Tinta;
  {
  contador Ancho, Alto, PosX, PosY;

  if ( Tipo == CDR_SIMPLE )
    {
    PosX = Pan_AnchoCar() * C1 + 3;
    PosY = Pan_AltoCar() * F1 + 5;
    }
  if ( Tipo == CDR_DOBLE )
    {
    PosX = Pan_AnchoCar() * C1 + 2;
    PosY = Pan_AltoCar() * F1 + 4;
    }

  if ( F1 == F2 )
    {
    if ( Tipo == CDR_SIMPLE )
      {
      Ancho = Pan_AnchoCar() * ( C2 - C1 ) + 1;
      Alto = 1;
      }
    if ( Tipo == CDR_DOBLE )
      {
      Ancho = Pan_AnchoCar() * ( C2 - C1 ) + 3;
      Alto = 3;
      }
    }

  if ( C1 == C2 )
    {
    if ( Tipo == CDR_SIMPLE )
      {
      Alto = Pan_AltoCar() * ( F2 - F1 ) + 1;
      Ancho = 1;
      }
    if ( Tipo == CDR_DOBLE )
      {
      Alto = Pan_AltoCar() * ( F2 - F1 ) + 3;
      Ancho = 3;
      }
    }
  Pan_Bloque ( Tinta,Ancho,Alto,PosX,PosY );
  }
#endif
