home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / POV-Ray 3.0.2 / src / SOURCE / OPTIN.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-07  |  4.1 KB  |  159 lines  |  [TEXT/CWIE]

  1. /****************************************************************************
  2. *                   optin.h
  3. *
  4. *  This module contains all defines, typedefs, and prototypes for OPTIN.C.
  5. *
  6. *  from Persistence of Vision(tm) Ray Tracer
  7. *  Copyright 1996 Persistence of Vision Team
  8. *---------------------------------------------------------------------------
  9. *  NOTICE: This source code file is provided so that users may experiment
  10. *  with enhancements to POV-Ray and to port the software to platforms other
  11. *  than those supported by the POV-Ray Team.  There are strict rules under
  12. *  which you are permitted to use this file.  The rules are in the file
  13. *  named POVLEGAL.DOC which should be distributed with this file. If
  14. *  POVLEGAL.DOC is not available or for more info please contact the POV-Ray
  15. *  Team Coordinator by leaving a message in CompuServe's Graphics Developer's
  16. *  Forum.  The latest version of POV-Ray may be found there as well.
  17. *
  18. * This program is based on the popular DKB raytracer version 2.12.
  19. * DKBTrace was originally written by David K. Buck.
  20. * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
  21. *
  22. *****************************************************************************/
  23.  
  24.  
  25. #ifndef OPTIN_H
  26. #define OPTIN_H
  27.  
  28. /*****************************************************************************
  29. * Global preprocessor defines
  30. ******************************************************************************/
  31.  
  32. /* Max. number of nested ini-files. */
  33.  
  34. #define MAX_NESTED_INI 10
  35.  
  36. /*****************************************************************************
  37. * Global typedefs
  38. ******************************************************************************/
  39.  
  40. /* Defines for the ini-parser. */
  41.  
  42. typedef enum ini_op
  43. {
  44.   ALL_CONSOLE_OP=0,
  45.   ALL_FILE_OP,
  46.   ANTIALIAS_DEPTH_OP,
  47.   ANTIALIAS_OP,
  48.   ANTIALIAS_THRESH_OP,
  49.   BOUNDING_OP,
  50.   BOUNDING_THRESH_OP,
  51.   BUFFERED_OUTPUT_OP,
  52.   BUF_SIZE_OP,
  53.  
  54.   CLOCK_OP,
  55.   CONTINUE_OP,
  56.   CREATE_INI_OP,
  57.   CYCLIC_ANIMATION_OP,
  58.   DEBUG_CONSOLE_OP,
  59.   DEBUG_FILE_OP,
  60.   DISPLAY_OP,
  61.   DISPLAY_GAMMA_OP,
  62.   DRAW_VISTAS_OP,
  63.   END_COLUMN_OP,
  64.   END_ROW_OP,
  65.  
  66.   FATAL_CONSOLE_OP,
  67.   FATAL_ERROR_CMD_OP,
  68.   FATAL_ERROR_RET_OP,
  69.   FATAL_FILE_OP,
  70.   FIELD_RENDER_OP,
  71.   FILE_OUTPUT_OP,
  72.   FILE_OUTPUT_TYPE_OP,
  73.   FINAL_CLOCK_OP,
  74.   FINAL_FRAME_OP,
  75.   HEIGHT_OP,
  76.  
  77.   HIST_NAME_OP,
  78.   HIST_SIZE_OP,
  79.   HIST_TYPE_OP,
  80.   INITIAL_CLOCK_OP,
  81.   INITIAL_FRAME_OP,
  82.   INPUT_FILE_NAME_OP,
  83.   JITTER_AMOUNT_OP,
  84.   JITTER_OP,
  85.   LIBRARY_PATH_OP,
  86.   LIGHT_BUFFER_OP,
  87.  
  88.   ODD_FIELD_OP,
  89.   OUTPUT_ALPHA_OP,
  90.   OUTPUT_FILE_NAME_OP,
  91.   PALETTE_OP,
  92.   PAUSE_WHEN_DONE_OP,
  93.   POST_FRAME_CMD_OP,
  94.   POST_FRAME_RET_OP,
  95.   POST_SCENE_CMD_OP,
  96.   POST_SCENE_RET_OP,
  97.   PREVIEW_E_OP,
  98.  
  99.   PREVIEW_S_OP,
  100.   PRE_FRAME_CMD_OP,
  101.   PRE_FRAME_RET_OP,
  102.   PRE_SCENE_CMD_OP,
  103.   PRE_SCENE_RET_OP,
  104.   QUALITY_OP,
  105.   RAD_SWITCH_OP,
  106.   REMOVE_BOUNDS_OP,
  107.   RENDER_CONSOLE_OP,
  108.   RENDER_FILE_OP,
  109.  
  110.   SAMPLING_METHOD_OP,
  111.   SPLIT_UNIONS_OP,
  112.   START_COLUMN_OP,
  113.   START_ROW_OP,
  114.   STATISTIC_CONSOLE_OP,
  115.   STATISTIC_FILE_OP,
  116.   SUBSET_END_FRAME_OP,
  117.   SUBSET_START_FRAME_OP,
  118.   TEST_ABORT_COUNT_OP,
  119.   TEST_ABORT_OP,
  120.  
  121.   USER_ABORT_CMD_OP,
  122.   USER_ABORT_RET_OP,
  123.   VERBOSE_OP,
  124.   VERSION_OP,
  125.   VIDEO_MODE_OP,
  126.   VISTA_BUFFER_OP,
  127.   WARNING_CONSOLE_OP,
  128.   WARNING_FILE_OP,
  129.   WIDTH_OP,
  130.  
  131.   BITS_PER_COLOR_OP,
  132.   BITS_PER_COLOUR_OP,
  133.   INCLUDE_INI_OP,
  134.  
  135.   MAX_OPTION
  136. } INI_OP;
  137.  
  138. /*****************************************************************************
  139. * Global variables
  140. ******************************************************************************/
  141.  
  142. extern long Quality_Values[];
  143. extern struct Reserved_Word_Struct Option_Variable [] ;
  144.  
  145. /*****************************************************************************
  146. * Global functions
  147. ******************************************************************************/
  148.  
  149. char *get_ini_value PARAMS((int op, int libind));
  150. void parse_switch PARAMS((char *Option_String));
  151. void process_variable PARAMS((TOKEN variable,char *value));
  152. void Do_Stream_Option PARAMS((int i, char *value));
  153. void Do_Return_Option PARAMS((SHELLTYPE Type, char *value));
  154. int parse_ini_file PARAMS((char *File_Name));
  155. void parse_option_line PARAMS((char *Option_Line));
  156. void Write_INI_File PARAMS((void));
  157.  
  158. #endif
  159.