 /*  北京大学火星人公司 幻想空间事业部
     幻想空间软件创作群

     软件主编: 吴 刚 ( 版权所有 )

     电话: (01) 2594600, 2595885
     传真: (01) 2594800
     邮编: 100084

     合法用户可以把源程序进行改进或做修改, 但未经许可不得将程序或
     改动后的程序向任何第三方提供.
*/

int    SavePalette(char *fname);
int    LoadPalette(char *fname);
void   SetPalette(void);
void   GetPalette(void);
void   GetPaletteColor(int color,int *r,int *g,int *b);
void   SetPaletteColor(int color,int r,int g,int b);
extern int PALETTE[16][3];

/*   		    	    调色板函数

    BoyWindows 使用 Borland 公司所提供的标准 BGI, 实现图形功能. 工作模式
为 640*480 16色的标准 VGA 模式. 每一种颜色均由 R.G.B 三种颜色不同比例调合
而成. R.G.B 的值在 0 - 63 之间. 在 BoyWindows 2.0 中为了更方便用户对色彩
进行准确的操作, 而提供了一部分调色板函数.

一, 函数说明

    调色板函数可用于色彩的保存, 色彩的定义及整个色板的文件保存, 提取.

    函     数          功     能

    GetPalette         检测当前的色板, 并将其保存至结构中
    GetPaletteColor    检测特定色的 R.G.B 值
    LoadPalette        提取色板文件, 并按其重新设置屏幕色彩
    SavePalette        将当前的色板保存至文件中
    SetPalette         按结构内容重新设置色板
    SetPaletteColor    通过 R.G.B 值改变特定颜色

1.1 函数目录

   本节按字母顺序介绍 BoyWindows 所提供的色板函数.

   GetPalette
   功能:   检测当前的色板, 并将其保存至结构中
   用法:   # include "BOYWIN.H"
	   void GetPalette(void);
   说明:   检测当前的色板, 并将其保存至数组 PALETTE 中.
   参见:   全程变量 PALETTE 说明
   返回值: 无

   GetPaletteColor
   功能:   检测特定色的 R.G.B 值
   用法:   # include "BOYWIN.H"
	   void GetPaletteColor(int color,int *r,int *g,int *b);
   说明:   检测特定色的 R.G.B 值.
	   color 指定的颜色. *r, *g, *b 返回的三色值.
   参见:   全程变量 PALETTE 说明
   返回值: 无

   LoadPalette
   功能:   提取色板文件
   用法:   # include "BOYWIN.H"
	   int  LoadPalette(char *fname);
   说明:   提取色板文件, 并按其重新设置屏幕色彩.
	   fname 色板文件名. BoyWindows 提供了若干个色板文件.
	   如标准色板 BOYWIN.PAL, 灰度色板 GRAY.PAL 等等.
   返回值: 1:  读入成功
	   -1: 文件读入出错
	   -2: 非 BoyWindows 的色板文件

   SavePalette
   功能:   将当前的色板保存至文件中
   用法:   # include "BOYWIN.H"
	   int  SavePalette(char *fname);
   说明:   fname 将要建立的色板文件名称.
   返回值: 1:  保存成功
	   -1: 保存失败

   SetPalette
   功能:   按结构 PALETTE 内容重新设置色板
   用法:   # include "BOYWIN.H"
	   void SetPalette(void);
   说明:   用户如果对其色板数组进行修改之后, 并不能直接在屏幕上看到所要的
	   效果, 必须要使用本函数进行设置才可以.
   返回值: 无

   SetPaletteColor
   功能:   通过 R.G.B 值改变特定颜色
   用法:   # include "BOYWIN.H"
	   void SetPaletteColor(int color,int r,int g,int b);
   说明:   用户想要对某个色彩进行调整时, 可以用户此函数.
	   color 色彩色码 ( 参见 Borland 公司的标准 BGI 定义)
	   r 色彩中红色所占比例 ( 0 -63 )
	   g 色彩中绿色所占比例 ( 0 -63 )
	   b 色彩中蓝色所占比例 ( 0 -63 )
	   在使用本函数设置之后, 系统将自动将其设置内容保存至数组 PALETTE.
	   请参见后一节全程变量 PALETTE 说明.

1.2 全程变量

   PALETTE
   作用:   用于保存 16 种颜色的 R.G.B 值
   说明:   int PALETTE[16][3];
	   如颜色 0 所对应的 R.G.B 值为
	   PALETTE[0][0],PALETTE[0][1],PALETTE[0][2],
	   如颜色 7 所对应的 R.G.B 值为
	   PALETTE[7][0],PALETTE[7][1],PALETTE[7][2].
*/


