“显示属性”如图29-1所示,当前软件系统支持多种BGI

(1)         标准的640 X 480 X 16 VGA方式

(2)         WinSail 内部的VESA标准的640 X 400 X 256、640 X 480 X 256、800 X 600 X 256、1024 X 768 X 256

(3)         用户自带BGI文件注:通过Display段的BGI键描述)。

2: 建议用户只选择VGA_640*480*16Color,在这个显示模式下可与BC31BGI共存!!

3: 许多Borland C++3.1中的图形函数已经被挂接看下表所示。如果在VGA_640*480*16Color分辨下,两种函数是相同结果的,

但在其它分辨率下就必须调用WinSail”的图形,其中只有红色部份方能在其它分辨率下支持

 

WinSail图形函数库

 

序号

Borland C++中的图形库

WinSail图形库

序号

Borland C++中的图形库

WinSail图形库

01

registerfarbgidriver

RegisterFarBgiDriver

49

installuserdriver

InstallUserDriver

02

arc

Arc

50

installuserfont

InstallUserFont

03

bar

Bar

51

line

Line

04

bar3d

Bar3D

52

linerel

Linerel

05

circle

Circle

53

lineto

LineTo

06

cleardevice

ClearDevice

54

moverel

Moverel

07

clearviewport

ClearViewPort

55

moveto

MoveTo

08

closegraph

CloseGraph

56

outtext

OutText

09

deletegraph

DeleteGraph

57

outtextxy

OutTextXY

10

drawpoly

DrawPoly

58

pieslice

PieSlice

11

ellipse

Ellipse

59

putimage

PutImage

12

fillellipse

FillEllipse

60

putpixel

PutPixel

13

fillpoly

FillPoly

61

rectangel

Rectangle

14

folldfill

FolldFill

62

rstorecrtmode

RestoreCrtMode

15

getarccoords

GetArcCoords

63

sector

Sector

16

getarccoords

GetArcCoords

64

setactivepage

SetActivePage

17

getaspectratio

GetAspectRatio

65

setallpalette

SetAllPalette

18

getbkcolor

GetBKColor

66

setaspectratio

SetAspectRatio

19

getcolor

GetColor

67

setbkcolor

SetBkColor

20

getdefaultpalette

GetDefaultPalette

68

setcolor

SetColor

21

getdrivername

GetDriverName

69

setfillpattern

SetFillPattern

22

getfillpattern

GetFillPattern

70

setfillstyle

SetFillStyle

23

getfillsettings

GetFillSettings

71

setgraphbufsize

SetGraphBufSize

24

getgraphmode

GetGraphMode

72

setgraphmode

SetGraphMode

25

getimage

GetImage

73

setlinestyle

SetLineStyle

26

getlinesettings

GetLineSettings

74

setpalette

SetPalette

27

getmaxcolor

GetMaxColor

75

setrgbpalette

SetRgbPalette

28

getmaxmode

GetMaxMode

76

settextjustify

SetTextJustify

29

getmaxx

GetMaxX

77

settextstyle

SetTextStyle

30

getmaxy

GetMaxY

78

setusercharsize

SetUserCharSize

31

getmodename

GetModeName

79

setviewport

SetViewPort

32

getmoderange

GetModeRange

80

setvisualpage

SetVisualPage

33

getpixel

GetPixel

81

setwritemode

SetWriteMode

34

getpalette

GetPalette

82

textheight

TextHeight

35

getpalettesize

GetPaletteSize

83

textwidth

TextWidth

36

gettextsettings

GetTextSettings

84

getpalattelocation

GetPalatteLocation

37

getviewsettings

GetViewSettings

85

writepalatte

WrtiePalatte

38

getx

GetX

86

readpalatte

ReadPalatte

39

gety

GetY

87

getdisplaydevice

GetDisplayDevice

40

graphdefaults

GraphDefaults

88

getdisplaymode

GetDisplayMode

41

grapherrormsg

GraphErrorMsg

89

setdisplaymode

SetDisplayMode

42

_graphghfreemem

_GraphFreeMem

90

setdisplaydevice

SetDisplayDevice

43

_graphgetmem

_GraphGetMem

91

getdisplaycolor

GetDisplayColor

44

graphresult

GraphResult

92

 

ReadPalatteRegister

45

imagesize

ImageSize

93

 

SendBitmapLine

46

initgraph

InitGraph

94

 

 

47

 

 

95

 

 

48

 

 

96

 

 

 

如何设置目标主板的显示卡类型

在可执行文件的目录中,有一个“Config.Sys”文件,注意[Display]段的

Device”键值

Mode”键值

Mono”键值

Pcm3386”键值

Pcm3486”键值

SED1335

BGI”键值。

其中BGI”键值的语法如下

      BGI = 驱动号,模式号,颜色数,驱动程序名称

 

      例如使用SVGA16颜色时:BGI = 20, mode, 16, SVGA16

          mode = 0 ;SVGA320 * 200 * 16

          mode = 1 ;SVGA640 * 200 * 16

          mode = 2 ;SVGA640 * 350 * 16

          mode = 3 ;SVGA640 * 480 * 16

          mode = 4 ;SVGA800 * 600 * 16

          mode = 5 ;SVGA1024 * 768 * 16

 

      例如使用SVGA256颜色时:BGI = 21, mode, 256, SVGA256

          mode = 0 ;SVGA320 * 200 * 256

          mode = 1 ;SVGA640 * 350 * 256

          mode = 2 ;SVGA640 * 480 * 256

          mode = 3 ;SVGA800 * 600 * 256

          mode = 4 ;SVGA1024 * 768 * 256

 

      当“BGI”键值定义后,“Device”和“Mode”键值的内容被忽略! 此时BGI驱动程序必须放在Exe所在文件的“BGI”目录中!

 

其中“Device”键值和“Mode”键值的意义如下:

      Device = 0   ;640 * 480 VGA模式

          Mode =  x ;任意值

 

      Device = 9    ;标准VGA模式

          Mode =  1 ;VGA640 * 400 * 16

          Mode =  2 ;VGA640 * 480 * 16

 

      Device = 11   ;VESA-VGA模式

          Mode = 0  ;VESA800 * 600 * 16(目前不支持)

          Mode = 1  ;VESA640 * 400 *256

          Mode = 2  ;VESA640 * 480 *256

          Mode = 3  ;VESA800 * 600 * 16(目前不支持)

          Mode = 4  ;VESA800 * 600 *256

          Mode = 5  ;VESA1024* 768 * 16(目前不支持)

          Mode = 6  ;VESA1024* 768 * 256

          Mode = 7  ;VESA1280*1024 * 16(目前不支持)

          Mode = 8  ;VESA1280*1024 *256(目前不支持)

          Mode = 9  ;VESA320 * 200 *256

          Mode = 10 ;VESA320 * 240 *256

          Mode = 11 ;VESA320 * 240 *SED1335(目前不支持)

 

      Device = 13   ;SED1335-LCD模式

          Mode = 0  ;SED1335320 * 240 * 1

          Mode = 1  ;SED1335640 * 480 * 1(目前不支持)

          Mode = 2  ;SED1335800 * 600 * 1(目前不支持)

          Mode = 3  ;SED13351024* 768 * 1(目前不支持)

 

      Device = 14   ;TFT模式(只能用于珠海蓝宇公司的PCM3486主板)

          Mode = 0  ;TFT320 * 240 * 256(目前不支持)

          Mode = 1  ;TFT640 * 480 * 256

          Mode = 2  ;TFT800 * 600 * 256

          Mode = 3  ;TFT1024* 768 * 256(目前不支持)

 

其中“Mono”键值的意义如下:

      Mono = TRUE  ;单色仿真

      Mono = FALSE ;彩色显示

 

其中“Pcm3386”键值的意义如下:

      Pcm3386 = TRUE  ;目标主板是PCM3386主板

      Pcm3386 = FALSE ;目标主板不是PCM3386主板

 

其中“Pcm3486”键值的意义如下:

      Pcm3486 = TRUE  ;目标主板是PCM3386主板

      Pcm3486 = FALSE ;目标主板不是PCM3386主板

 

其中“Sed1335”的键值意义如下   

      Sed1335 = TRUE  ;显示芯片是SED1335

      Sed1335 = FALSE ;显示芯片不是SED1335

 

------------------------------------------------------

 

当目标主板为Pcm3386,[Display]段只能如下配置

      Device = 13     ;表示是SED1335-LCD模式

      Mode = 0        ;表示SED1335320 * 240 * 1

      Mono = TRUE     ;单色显示

      Pcm3386 = TRUE  ;目标主板是PCM3386主板

      Pcm3486 = FALSE ;目标主板不是PCM3486主板

      SED1335 = TRUE  ;SED1335芯片控制的LCD

 

当目标主板为Pcm3486,[Display]段只能如下配置

      Device = 14     ;表示是PCM3486-TFT模式

      Mode =

               0      ;表示PCM3486-TFT640 * 480 * 256

               1      ;表示PCM3486-TFT800 * 600 * 256

      Mono =

             TRUE     ;单色显示

             FALSE    ;彩色显示

      Pcm3386 = FALSE ;目标主板不是PCM3386主板

      Pcm3486 = TRUE  ;目标主板是PCM3486主板

      Sed1335 = FALSE ;不是SED1335芯片

 

当目标主板与标准PC/IPC/PC104兼容的VGAVESA显示方式时,

     Device = ??

     Mode = ??

     Mono = ??

     PCM3386 = FALSE

     PCM3486 = FALSE

     SED1335 = FALSE