/*--------------------------------------------------------------------
 * FICHERO:  TifCreOb.c
 * OBJETIVO: Definir las funciones Tif_CreaObjeto(), Tif_Cierra() y
 *           Tif_Destruye()
 * AUTOR:    Pedro Reina
 * FECHA:    J.6.7.1995
 *------------------------------------------------------------------*/

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

#include "Tiff.h"

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

/*--------------------------------------------------------------------
 * FUNCION:  Tif_CreaObjeto()
 * OBJETIVO: Crear un objeto "tiff" y darle valores iniciales
 * ENTRADAS: Ninguna
 * SALIDAS:  Un tiff o NIL si no se puede crear
 * EJEMPLO:  Tif_CreaObjeto ()
 *------------------------------------------------------------------*/
tiff Tif_CreaObjeto()
  {
  tiff Nuevo;

  if ( Nuevo = (tiff) (Mem_Crea (sizeof(Tif_st))) )
    { Mem_Asigna (Nuevo, 0, sizeof(Tif_st)); }  /* Puesta a cero de todo */

  return ( Nuevo );
  }

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Tif_Cierra()
 * OBJETIVO: Cerrar un fichero TIFF
 * ENTRADAS: El objeto Tiff que lo maneja
 * SALIDAS:  Ninguna
 * EJEMPLO:  Tif_Cierra ( Imagen )
 *------------------------------------------------------------------*/
void Tif_Cierra ( Tiff )
tiff Tiff;
  {
  Fch_Cierra ( Tif_Fichero (Tiff) );
  Tif_Destruye ( Tiff );
  }

/*--------------------------------------------------------------------
 * FUNCION:  Tif_Destruye()
 * OBJETIVO: Destruir un objeto tiff, liberando su memoria
 * ENTRADAS: El tiff
 * SALIDAS:  Ninguna
 * EJEMPLO:  Tif_Destruye ( Imagen )
 * ALGORITMO:
 *      Si se ha reservado memoria para Directorio, liberarla
 *      Liberar la memoria del objeto tiff
 *------------------------------------------------------------------*/
void Tif_Destruye ( Tiff )
tiff Tiff;
  {
  if ( Tif_Directorio (Tiff) )  { Mem_Destruye (Tif_Directorio(Tiff)); }
  Mem_Destruye (Tiff);
  }
