Blob Blame Raw
#pragma once

#ifndef __INFO_REGION_H__
#define __INFO_REGION_H__

#define TNZ_TOPLEFT 1
#define TNZ_TOPRIGHT 2
#define TNZ_BOTRIGHT 3
#define TNZ_BOTLEFT 4
#define TNZ_LEFTOP 5
#define TNZ_RIGHTOP 6
#define TNZ_RIGHTBOT 7
#define TNZ_LEFTBOT 8

typedef struct
	{
	int x1, y1, x2, y2;
	int x_offset, y_offset;			/*  offset all'interno della regione   */
	int xsize, ysize;				/*      dimensioni della regione       */
	int scanNrow, scanNcol;			/* righe e col. dell'immagine da scan. */
	int startScanRow, startScanCol; /*   offset nell'immagine da scandire  */
	int step;						/*          fattore di scale           */
	int lx_in, ly_in;				/*    dimensioni immag. da scandire    */
} INFO_REGION;

typedef struct
	{
	int x1, y1, x2, y2;
	int x_offset, y_offset;			/*  offset all'interno della regione   */
	int xsize, ysize;				/*      dimensioni della regione       */
	int scanNrow, scanNcol;			/* righe e col. dell'immagine da scan. */
	int startScanRow, startScanCol; /*   offset nell'immagine da scandire  */
	int step;						/*          fattore di scale           */
	int lx_in, ly_in;				/*    dimensioni immag. da scandire    */
	int verso_x, verso_y;			/* verso di scrittura nel buffer dest. */
	int buf_inc;					/* incremento tra due pix. consecutivi */
	int sxpix, expix, sypix, eypix; /* pixel estremi del buffer di input   */
} EXT_INFO_REGION;

int get_info_region(EXT_INFO_REGION *region,
					int x1_out, int y1_out, int x2_out, int y2_out, int scale,
					int width_in, int height_in, int orientation);

void getInfoRegion(
	INFO_REGION *region,
	int x1_out,
	int y1_out,
	int x2_out,
	int y2_out,
	int scale,
	int width_in,
	int height_in);

void print_info_region(EXT_INFO_REGION *region);

#endif /* __INFO_REGION_H__ */