二、設定填充方式
TURBO C有四個與填充方式有關的函數。下面分別介紹:
void far setfillstyle(int pattern, int color);
color的值是當前屏幕圖形模式時顏色的有效值。pattern的值及與其等價的
符號常數如表7所示。
表7. 關於填充式樣pattern的規定
━━━━━━━━━━━━━━━━━━━━━━━━━━━
符號常數 數值 含義
───────────────────────────
EMPTY_FILL 0 以背景顏色填充
SOLID_FILL 1 以實填充
LINE_FILL 2 以直線填充
LTSLASH_FILL 3 以斜線填充(陰影線)
SLASH_FILL 4 以粗斜線填充(粗陰影線)
BKSLASH_FILL 5 以粗反斜線填充(粗陰影線)
LTBKSLASH_FILL 6 以反斜線填充(陰影線)
HATCH_FILL 7 以直方網格填充
XHATCH_FILL 8 以斜網格填充
INTTERLEAVE_FILL 9 以間隔點填充
WIDE_DOT_FILL 10 以稀疏點填充
CLOSE_DOS_FILL 11 以密集點填充
USER_FILL 12 以用戶定義式樣填充
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
除USER_FILL(用戶定義填充式樣)以外, 其它填充式樣均可由setfillstyle()函數設置。當選用USER_FILL時, 該函數對填充圖模和顏色不作任何改變。之所以定義USER_FILL主要因為在獲得有關填充信息時用到此項。
void far setfillpattern(char * upattern,int color);
設置用戶定義的填充圖模的顏色以供對封閉圖形填充。
其中upattern是一個指向8個字節的指針。這8個字節定義了8x8點陣的圖形。每個字節的8位二進制數表示水平8點, 8個字節表示8行, 然後以此為模型向個封閉區域填充。
void far getfillpattern(char * upattern);
該函數將用戶定義的填充圖模存入upattern指針指向的內存區域。
void far getfillsetings(struct fillsettingstype far * fillinfo);
獲得現行圖模的顏色並將存入結構指針變量fillinfo中。其中fillsettingstype結構定義如下:
struct fillsettingstype{
int pattern; /* 現行填充模式 * /
int color; /* 現行填充模式 * /
};