/****************************************************************************
 *
 * pshmod.h
 *
 *   PostScript hinter module interface (specification).
 *
 * Copyright (C) 2001-2020 by
 * David Turner, Robert Wilhelm, and Werner Lemberg.
 *
 * This file is part of the FreeType project, and may only be used,
 * modified, and distributed under the terms of the FreeType project
 * license, LICENSE.TXT.  By continuing to use, modify, or distribute
 * this file you indicate that you have read the license and
 * understand and accept it fully.
 *
 */


#ifndef PSHMOD_H_
#define PSHMOD_H_


#include <freetype/ftmodapi.h>


FT_BEGIN_HEADER


  FT_DECLARE_MODULE( pshinter_module_class )


FT_END_HEADER


#endif /* PSHMOD_H_ */


/* END */
