parrafo.cpp

// $Id:$
//***************************************************************
//
//  PROYECTO: AJUSTAR
//
//  NOMBRE MODULO: Parrafo
//  PREFIJO:       PAR
//
//  AUTOR/ES: M. Collado
//
//  DESCRIPCION DEL MODULO:
//    Clase Linea
//
//***************************************************************

// Módulos de sistema
#include <stdio.h>

// Otros módulos de la aplicación

// Este mismo módulo
#include "parrafo.h"


//***************************************************************
//  PARTE PUBLICA:
//***************************************************************

//---------------------------------------------------------------
// Constantes públicas:
//---------------------------------------------------------------

//---------------------------------------------------------------
// Variables públicas:
//---------------------------------------------------------------


//***************************************************************
//  PARTE PRIVADA:
//***************************************************************

//---------------------------------------------------------------
// Literales, macros, constantes y tipos privados:
//---------------------------------------------------------------

//---------------------------------------------------------------
// Variables globales del módulo:
//---------------------------------------------------------------

//---------------------------------------------------------------
// Prototipos de las funciones privadas:
//---------------------------------------------------------------


//***************************************************************
//  DEFINICION DE LAS FUNCIONES PUBLICAS DEL MODULO
//***************************************************************


//***************************************************************
//
//  FUNCION: PAR_Iniciar               TIPO:
//
//  DESCRIPCION:
//    Imprime las lineas en blanco de separacion entre parrafos,
//    e inicia la linea de salida, vacia, con el sangrado.
//
//  RESTRICCIONES DE USO:
//
//  VARIABLES GLOBALES Y PUBLICAS LEIDAS:
//
//  VARIABLES GLOBALES Y PUBLICAS MODIFICADAS:
//
//***************************************************************
void PAR_c::PAR_Iniciar (PAL_Separador_t separador)
{
    int k;

    for (k = 1; k <= separador.PAL_salto; k++) {
        putchar ('\n');
    }
    PAR_linea.LIN_Iniciar (separador.PAL_sangrado);

} // PAR_Iniciar


//***************************************************************
//
//  FUNCION: PAR_PonerPalabra          TIPO:
//
//  DESCRIPCION:
//    Si la palabra cabe en la linea en curso, la pone en ella. En caso
//    contrario, imprime la linea en curso, ajustandola, y la inicia
//    con la nueva palabra.
//
//  RESTRICCIONES DE USO:
//    El párrafo debe estar iniciado.
//
//  VARIABLES GLOBALES Y PUBLICAS LEIDAS:
//
//  VARIABLES GLOBALES Y PUBLICAS MODIFICADAS:
//
//***************************************************************
void PAR_c::PAR_PonerPalabra (const PAL_c * palabra_p)
{
    if (!PAR_linea.LIN_CabePalabra (palabra_p)) {
        PAR_linea.LIN_ImprimirAjustada ();
        PAR_linea.LIN_Iniciar (0);
    }
    PAR_linea.LIN_PonerPalabra (palabra_p);

} // PAR_PonerPalabra


//***************************************************************
//
//  FUNCION: PAR_PonerPalabra          TIPO:
//
//  DESCRIPCION:
//    Completa el parrafo, imprimiendo la ultima l¡nea, sin ajustar.
//
//  RESTRICCIONES DE USO:
//    El párrafo debe estar iniciado.
//
//  VARIABLES GLOBALES Y PUBLICAS LEIDAS:
//
//  VARIABLES GLOBALES Y PUBLICAS MODIFICADAS:
//
//***************************************************************
void PAR_c::PAR_Terminar (void)
{
    PAR_linea.LIN_Imprimir ();

} // PAR_Terminar


//***************************************************************
//  DEFINICION DE LAS FUNCIONES PRIVADAS DEL MODULO
//***************************************************************