/*
 * Copyright 1990 by Baylor College of Medicine ALL RIGHTS RESERVED. 
 *
 * This program is subject to a license agreement between 
 * Baylor College of Medicine and MIT. Any use inconsistent with
 * said license and any use by persons other than the faculty, 
 * students and staff at MIT or any use on a computer not operated 
 * as part of the Athena Computing Environment (ACE) is expressly 
 * prohibited.
 */
/*******************************************************************************
* SYSTEM...: Virtual Notebook System
*
* MODULE...: page_to_ps.h
*
* PURPOSE..:
*   Provide driver to permit VNS to print a page on a postscript printer 
*
* TAG: PS
*
* REVISIONS:
*   Christopher St. James       Initial Programming
*   Ross Dargahi                December 1990
*
* @(#)page_to_ps.h	3.1 12/10/90
*
*******************************************************************************/

/*check to see if this header file has been previously included*/

#ifndef PAGE_TO_PS_H 
#define PAGE_TO_PS_H

/*******************************************************************************
Include Files
*******************************************************************************/

#include <stdio.h>
#include <srvlib.h>

/*******************************************************************************
Public Defines
*******************************************************************************/



/*******************************************************************************
Public Data Structures
*******************************************************************************/

typedef enum P_MethodType
{
  P_CLIP_PAGE,
  P_FIT_TO_PAGE,
  P_POSTER 
} P_Method;

typedef enum P_PaperTypeType
{
  P_US_LETTER,
  P_US_LEGAL,
  P_A4_LETTER,
  P_A4_SPECIAL,
} P_PaperType;

typedef enum P_OrientationType 
{
  P_PORTRAIT,
  P_LANDSCAPE,
  P_AUTO
} P_Orientation;

typedef enum P_OutputType 
{
  P_PRINTER,
  P_FILE,
  P_BOTH   
} P_Output;

typedef enum P_BoolType
{
  P_NO = 0,
  P_YES = 1,
} P_Bool;

/*******************************************************************************
External variable check
*******************************************************************************/

#ifdef PAGE_TO_PS_C
#define PUBLIC
#else 
#define PUBLIC extern 
#endif

/*******************************************************************************
Public Global Declarations
*******************************************************************************/

#ifdef PAGE_TO_PS_C

PUBLIC char *PSorientation[] =  /*string rep of P_Orientation*/
 {
   "Portrait",
   "Landscape",
   "Automatic"
 };

PUBLIC char *PSmethod[] =  /*string rep of P_Method*/
 {
   "Clip To Page",
   "Fit To Page",
   "Poster Page"
 };

#else

PUBLIC char *PSmethod[];
PUBLIC char *PSorientation[];

#endif

/*******************************************************************************
************************   PUBLIC FUNCTION PROTOTYPES   ************************
*******************************************************************************/

float         get_bot_margin();
int           get_copies();
FILE          *get_file();
char          *get_fileName();
float         get_left_margin();
P_Method      get_method();
P_Orientation get_orientation();
P_Output      get_outputTo();
float         get_page_height();
float         get_page_width();
P_PaperType   get_papertype();
float         get_physBMargin();
float         get_physLMargin();
float         get_physTMargin();
char          *get_printer();
float         get_right_margin();
int           get_scale();
P_Bool        get_show_alinks();
P_Bool        get_show_audios();
P_Bool        get_show_grid();
P_Bool        get_show_images();
P_Bool        get_show_outline();
P_Bool        get_show_plinks();
P_Bool        get_show_text();
P_Bool        get_uniqueFname();
float         get_top_margin();

void set_bot_margin();
void set_color(); 
void set_copies();
void set_dbServerId();
void set_file();
void set_fileName();
void set_left_margin();
void set_method();
void set_orientation();
void set_outputTo();
void set_page_height();
void set_page_width();
void set_papertype();
void set_physBMargin();
void set_physLMargin();
void set_physRMargin();
void set_physTMargin();
void set_printer();
void set_right_margin();
void set_scale();
void set_show_alinks();
void set_show_audios();
void set_show_grid();
void set_show_images();
void set_show_outline();
void set_show_plinks();
void set_show_text();
void set_top_margin();
void set_uniqueFname();
void set_xDisplay();

/******************************************************************************/
#undef PUBLIC
#endif


