/* TranJPEG */
/* h.process */

#ifndef PROCESS__H
#define PROCESS__H

#define NUM_TRANSFORMS 10

typedef struct process_settings
{
  int optimise;
  int progressive;
  int greyscale;
  int strip_exif;
  int transform;
  int transform_type;
  int transform_icons[NUM_TRANSFORMS];
} process_settings;



typedef struct choice_settings
{
  int copyidx;
  int trim_edge;
  int copy_image;
  int write_back_orientation;
  int retain_timestamp;
} choice_settings;



enum action_type {
  ROTATE_AUTO,
  ROTATE_90,
  ROTATE_180,
  ROTATE_270,
  FLIP_HOR,
  FLIP_VER,
  TRANSPOSE,
  TRANSVERSE,
  CROP,
  SMARTSCALE_D,
  SMARTSCALE_H,
  SMARTSCALE_Q,
  SMARTSCALE_E,
  SKIP_FILE,
  COPY_FILE,
  NO_ROTATE,
  NO_EXIF,
  NO_TRANSFORM
};


typedef struct crop_values
{
  int w;
  int h;
  int x;
  int y;
} crop_values;



extern int tw_processing;
extern int num_files;
extern int next_file;
extern int control_handle;

extern void control_transformended (void);
extern os_error *control_processfile (void);
extern os_error *control_open (void);
extern os_error *control_loadfiletype (int type,
                                       mousestr * m, int userhandle, int *method);
extern os_error *control_loadfiles (char *name, int type, int userhandle, int xvolatile);
extern os_error * configinit(void);


#endif

