/*
	imageman.h
*/

int EIMnew(int type, int xlen, int ylen);
// type: 0=32Kcolors 1=16colors
// xlen,ylen: 編集画像の大きさ(最小(320,240)(このときは1倍表示不可))
void EIMdelete();
int EIMresize(int xlen,int ylen);
int EIMgetxbytes();
char *EIMadrs(int x,int y);
char *EIMadrs_back(int x,int y);
int	EIMgetxsize();
int EIMgetysize();
void EIMdispon();
void EIMdispoff();
void EIMpset(int x, int y, int col, int op);
void EIMgraypset(int x,int y,int col,int gray);
void EIMline(int x1,int y1,int x2,int y2,int col,int op);
void EIMhline(int x1,int x2,int y,int col,int op);	// 水平直線を描く
void EIMgrayhline(int x1,int x2,int y,int col,int gray,bool conc_sw);
void EIMgrayhline_map(int x1,int x2,int y,int col,short int *graymap,bool conc_sw);
void EIMvline(int x,int y1,int y2,int col,int op);	// 垂直直線を描く
void EIMboxline(int x1,int y1,int x2,int y2,int col,int op); // 矩形(枠)を描く
void EIMrboxline(int x,int y,int xlen,int ylen,int col,int op);
void EIMrboxfill(int x1,int y1,int xlen,int ylen,int col,int op);
void EIMboxfill(int x1,int y1,int x2,int y2,int col,int op);
int EIMpoint(int x,int y);
int EIMpoint_back2(int x,int y);	// x,y : 16ビット固定小数点
int EIMpoint_back(int x,int y);
void EIMgetblock(char *buf, int x,int y,int xlen,int ylen);
void EIMputblock(int x,int y,int xlen,int ylen, char *buf, int op);
void EIMbackup(); // 現在の編集画像をアンドゥーバッファに転送する
void EIMloadbackup(); // アンドゥーバッファを現在の編集画像に
int graycol(int col1, int col2, int rate);

