/*--------------------------------------------------------------------
 * FICHERO:       Cuadro.h
 * OBJETIVO:      Definir el objeto "Cuadro"
 * IDENTIFICADOR: Cdr
 * AUTOR:         Pedro Reina
 * FECHA:         M.18.7.1995
 * OBJETOS UTILIZADOS: Pantalla, Caracter, Cadena, Lista
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Funciones pblicas
 *
 *   Cdr_Caja()              Cuadro.h
 *   Cdr_Linea()             CdrLinea.c
 *   Cdr_Dibuja()            CdrDibuj.c
 *   Cdr_Construye()         CdrConst.c
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Funciones conocidas
 *
 *   Ninguna
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Funciones privadas
 *
 *   Cdr_LineaVariada()      CdrLinVa.c
 *
 * Funciones privadas QL
 *
 *   Cdr_LineaInterna()      CdrLinIn.c
 *------------------------------------------------------------------*/


#ifndef _CUADRO_
#define _CUADRO_

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

#include "Pantalla.h"
#include "Caracter.h"
#include "Cadena.h"
#include "Lista.h"

/*--------------------------------------------------------------------
 * Definicin de macros constantes
 *------------------------------------------------------------------*/

#define CDR_SIMPLE  (octeto)0
#define CDR_DOBLE   (octeto)1

#define CDR_ARRIBA  0
#define CDR_CENTRO  1
#define CDR_CORTE   2
#define CDR_ABAJO   3

/*--------------------------------------------------------------------
 * Definicin de tipos
 *------------------------------------------------------------------*/

   /* Ninguno */

/*--------------------------------------------------------------------
 * Variables globales
 *------------------------------------------------------------------*/

   /* Ninguna */

/*--------------------------------------------------------------------
 * Declaracin de funciones
 *------------------------------------------------------------------*/

void   Cdr_Dibuja();
lista  Cdr_Construye();
void   Cdr_Linea();
cadena Cdr_LineaVariada();

#ifdef OLIMPO_QL
void Cdr_LineaInterna();
#endif

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

/*--------------------------------------------------------------Olimpo
 * MACRO:    Cdr_Caja()
 * OBJETIVO: Dibujar una caja
 * ENTRADAS: Tipo de la caja, sus coordenadas y colores de
 *           papel y tinta
 * SALIDAS:  Ninguna
 * EJEMPLO:  Cdr_Caja (CDR_DOBLE,1,1,10,70,ROJO,BLANCO)
 *------------------------------------------------------------------*/

#define Cdr_Caja(Tipo,F1,C1,F2,C2,p,t)  Cdr_Dibuja(Tipo,Tipo,\
                                    1,(F2)-(F1)-1,1,(C2)-(C1)-1,F1,C1,p,t)


#endif /* _CUADRO_ */
