
int eight_degree[8][2]={	{1,-1},{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1},{0,-1}	};

typedef struct myregionlink
{	
	int up;
	int down;
	int left;
	int right;
	struct myregionlink *next;
}REGIONLINK;

typedef struct myposlink
{
	int pos[2];
	struct myposlink *next;

}POSLINK;

int myassert(int x,int min,int max);
POSLINK *myposinsert(int pos[2],POSLINK *head);
void myposdelete(POSLINK *head);
void myregioninsert(int up,int down,int left,int right,REGIONLINK *head);
void myregiondelete(REGIONLINK *head);
void myregionfree(REGIONLINK *p,	REGIONLINK *head);
int findup(POSLINK *head);
int finddown(POSLINK *head);
int findleft(POSLINK *head);
int findright(POSLINK *head);
int myposlinknum(REGIONLINK *head);
int mylonglinknum(POSLINK *head);
void draw_rectangle(double *sci_data,int start_w,int start_h,int Width,int Height,int DibWidth,int DibHeight,int color[3]);
