/*
	ARTemis (Graphic Editor for FM-TOWNS)  (c) MATSUUCHI Ryosuke 1992,1993

	dispman.h	Display Manager(表示管理部; 略称ＤＭ)   宣言部
*/

int	DMnew(int reso);
// DM の初期化
// reso: 0 = 画面を16色高解像度ページ＋32K色低解像度ページの構成で初期化
//		 1 = 画面を32K色高解像度ページのみの構成で初期化
// 返値 0=成功

void DMdelete(void);
// DM の終了

int DMgetifonepage(void);
// レイヤ構成が1ページ上かどうかを得る
// 返値: 0=1ページ上ではない  1=1ページ上

int DMgetxsize(void);
// menu1レイヤの横幅を得る

int DMgetysize(void);
// menu1レイヤの縦幅を得る

int DMgetmenuplt(int n);
// menu1レイヤにおけるパレット設定を得る

int DMimage_getzoomrate();

int DMimage_getxbytes();

void DMimage_getdispxy(int *x,int *y);

void DMimage_getdispxylen(int *xlen, int *ylen);

int DMgetpage1x(int x);

int DMgetpage1y(int y);

void DMimage_getvramxy(int *x, int *y);

void DMerasecsr(void);
// menu1レイヤ上のカーソルを消去

void DMdispcsr(int x,int y);
// menu1レイヤに重ねてカーソルを表示

void DMchangecsrtype(int type);
// カーソルの種別の変更

int DMmenu1_addbox(int x,int y,int xlen,int ylen);
// menu1レイヤに新たに矩形領域を設定する

int DMmenu1_deletebox(void);
// menu1レイヤの矩形領域を削除する
// (最後に設定した領域を削除する)

int DMmenu2_addbox(int x,int y,int xlen,int ylen);
// menu2レイヤに新たに矩形領域を設定する

int DMmenu2_deletebox(void);
// menu2レイヤの矩形領域を削除する

int DMimage_setdispxy(int x,int y);
// 編集画像のどこをimageレイヤに表示するか
// 結果的に x,y がどうなったかも返すべき？

int DMimage_refresh(void);
// imageレイヤの内容を(編集画像に従って)更新する

void DMimage_setzoomrate(int rate);
void DMimage_limitdispxy(int x, int y, int *newx, int *newy);

void DMimage_setlatticeswitch(bool lat1, bool lat2);

void DMimage_getlatticeswitch(bool *lat1, bool *lat2);

void DMimage_getlatticesize(int *xsize,int *ysize);

void DMimage_setlatticesize(int xsize,int ysize);

int DMimage_getx(int x);
int DMimage_gety(int y);

void DMimage_pset(int x,int y,int col,int op);
// imageレイヤに点を打つ
// 点を打つときには、menu1レイヤのbox[0]だけを避ける。

void DMimage_line(int x1,int y1,int x2,int y2,int col,int op);
// imageレイヤに直線を描く

void DMimage_hline(int x1,int x2,int y,int col,int op);
// imageレイヤに水平直線を描く

void DMimage_hline_map(int x1,int x2,int y,char *colmap);

void DMimage_vline(int x,int y1,int y2,int col,int op);
// imageレイヤに垂直直線を描く

void DMimage_rboxline(int x,int y,int xlen,int ylen,int col, int op);
// imageレイヤに矩形（枠）を描く

void DMimage_boxfill(int x,int y,int xlen,int ylen,int col, int op);
// imageレイヤに矩形フィルする
