int  change_color_windows(void);
void version_windows(void);
int  watch3_windows(char *error_text,char *);
int  change_backcolor_windows(int backcolor);
int  watch_windows(char *error_text,char *);
void set_bar3d(int type[3],int);
int  get_input_key(void);
int  BOY_DESKTOP(int type, char *fn);
int  main_windows(void);
void typedef_copy(TEST *,TEST *);
int  scan_windows(WINDOWS *,WINDOWS *);
int  scan(TEST *,WINDOWS *);
int  struct_windows(int,int,WINDOWS *);
void error_windows(int err);
int  ADD_object(int type);
void swp_to_user(int type,int num);
void user_to_swp(int type,int num);
int  BOY_ALL_TESTr(WINDOWS *w, TEST *keys, int total, int *tab, TYPE *type);
void BOY_ALL_DISABLE(WINDOWS *w, int type, int num);
void BOY_ALL_ENABLE(WINDOWS *w, int type, int num);
int  DEL_object(int type, int num);
int  UNDO_object(void);
int  save_boy_file(char *);
int  load_boy_file(char *);
void MallocMemory(void);
void FreeMemory(void);
void UserToWindows(void);
void InitMenu(void);
void DrawWellPaper(void);
int  print_error_windows(int);
int  print_windows(char [256]);

/********help*******************/
void help_windows(char *,int);
int  file_show(int a,int b,int c,int d,int color,int i,int j,char *filename);
int  *file_switch(char *filename,int max[2]);

/*************ICON **************/
     int  EDIT_ICON_WINDOWS(void);
     int  EDIT_ICON_CONFIG(int);
     int  ge(int a,int b,int k,int sl1,int sl2,int bkcolor,int);
     int  test_icn_ge(int a,int b,int k,int sl1,int sl2,int icn_put_color,int icn_bkcolor,int tools,TEST *,int);
     void scan_maxicn_minicn(int,int,int,int,int,int,int);
     void scan_minicn_maxicn(int x,int y,int space,int font_bit1,int font_bit2,int putx,int puty);
     void scan_maxicn_minicn2(int x,int y,int space,int font_bit1,int font_bit2,int putx,int puty);
     void scan_minicn_maxicn2(int x,int y,int space,int font_bit1,int font_bit2,int putx,int puty,int oldbk,int bk);
     void scan_demo(int,int);

 /***************RUN********************/
int RUN(int);
int BOY_MENU_WINDOWS(void);
int struct_windows(int,int,WINDOWS *);
void RESIZE(int casei);
void REMOVE(int casei);
void set_user_windows(void);
void set_tools_windows(void);
int delete_windows(void);

/**************tools*********************/
 int Make_Menu(WINDOWS *win, MENU *menu ,int *total);

 int *return_icn_xy(int a,int b,int k,int sl1,int sl2,int icn_xy[2],int x1,int y1);
 int *DRAW_BOX(WINDOWS *wins,int minmax[4],int scan[4],WINDOWS *tls);
 int *DRAW_BOX2(WINDOWS *wins,int minmax[4],int scan[4],WINDOWS *tls,int s1);
 int *DRAW_BOX3(WINDOWS *wins,int minmax[4],int begin[4],int scan[4]);
 int *put_line(WINDOWS *s,int scan[4]);
 int *boy_line(int,int,int,int,int,int,int,int[100][3]);
 int *box(int,int,int,int,int,int,int,int,int,int,int,int,int [4]);
 int *movebox(int[4],int[4],int[4],int,int);
 int *movebox2(int[4],int[4],int[4],int,int);
 int *moveicobox(int,int,int,int,int [4]);
 int *movebox_kb(int[4],int[4],int[4]);
 int *moveboxB(int xs[4],int scan[4],int screen[4]);//
 int *moveboxC(int xs[4],int scan[4],int screen[4]);//
 int BOY_draw_line(int,int,int,int,int);
 int Draw_ruler_xy(int,int,int,int,int);
 long diskfree(int);
 int *box_kb(int xu,     int yu,    int xd,     int yd,
	     int kuanmax,int gaomax,int kuanmin,int gaomin,
	     int wx2,    int wy2, int scan[4]);
 int *box3(int,int,int,int,int,int,int,int,int,int,int,int,int [4]);
 int *box_kb3(int xu,     int yu,    int xd,     int yd,
	     int kuanmax,int gaomax,int kuanmin,int gaomin,
	     int wx2,    int wy2, int scan[4]);
 char *rename_ext(char s[256],char es[4]);
 /*boxkb
   int,int,int,int 现在的大小,(四角坐标)
   int 最大的宽度
   int 最大的高度
   int 最小的宽度
   int 最小的高度
   int,int 画框区域的右下角坐标
   int[4] 画框的返回值

   box
   int,int,int,int 画框区域的四角坐标
   int 最大的宽度
   int 最大的高度
   int,int,int,int 现在框的大小
   int 最小的宽度
   int 最小的高度
   int [4] 返回值
*/
      /*
       diskfree demo:

       0=A 1=B 2=C  ......
       long size;
       size=diskfree(2)
       printf("The driver free byte is %ld",size);
      */
 /**********************************************************
  目前只是鼠标画框程序
  原形 box(int,int,int,int 目前鼠标画框的活动区域
	   int 高限量,int 宽限量,int,int,int *[4] 最终画框的坐标,
  返回值:int *[4] 最终画框的坐标;
  相关函数: 暂无
	   int 鼠标画框起始 X 坐标位置
	   int 鼠标画框起始 Y 坐标位置
	   int 框的宽限制
	   int 框的高限制
	   int 鼠标画框区域终止 X 坐标位置
	   int 鼠标画框区域终止 Y 坐标位置

	   int 指定左上角坐标X \__ 均为0鼠标指定
	   int 指定右上角坐标Y /

	   int 现有框宽
	   int 现有框高
	   int *[4] 最终框的四角坐标
  *********************************************************/

int BOY_ALL_TESTr(WINDOWS *w, TEST *keys, int total, int *tab, TYPE *type);