drvFillPath 函式 (winddi.h)
DrvFillPath函式是用來處理封閉路徑填滿的選擇性進入點。
語法
BOOL DrvFillPath(
[in, out] SURFOBJ *pso,
[in] PATHOBJ *ppo,
[in] CLIPOBJ *pco,
[in] BRUSHOBJ *pbo,
[in] POINTL *pptlBrushOrg,
[in] MIX mix,
[in] FLONG flOptions
);
參數
[in, out] pso
SURFOBJ結構的指標,定義要繪製的介面。
[in] ppo
PATHOBJ結構的指標,定義要填入的路徑。 系統會提供PATHOBJ_Xxx 服務常式來列舉組成路徑的線條、Bezier 曲線和其他資料。
[in] pco
CLIPOBJ結構的指標。 系統會提供 CLIPOBJ_Xxx 服務常式,將 剪輯區域 列舉為一組矩形。
[in] pbo
BRUSHOBJ結構的指標,定義用來填滿封閉路徑的圖樣和色彩。 只有當 混合 中指定的填滿作業需要使用筆刷時,才應該取值此參數。 例如,如果 混合 設定為 BLACKNESS,則不會定義 pbo ,而且不應該取值。
[in] pptlBrushOrg
POINTL結構的指標,該結構定義筆刷原點,用來對齊裝置上的筆刷圖樣。
[in] mix
混合模式,定義用於筆刷的前景和背景點陣作業。 如需混合模式的詳細資訊,請參閱。
[in] flOptions
指定FP_WINDINGMODE,表示應該執行線圈模式填滿,或FP_ALTERNATEMODE,表示應該執行替代模式填滿。 應該忽略所有其他旗標。 如需這些模式的詳細資訊,請參閱 路徑填滿模式。
傳回值
如果驅動程式能夠填滿路徑,則傳回值為 TRUE 。 如果路徑或裁剪太複雜,無法由驅動程式處理,而且應該由 GDI 處理,則傳回值為 FALSE,而且不會記錄錯誤碼。 如果驅動程式遇到非預期的錯誤,例如無法實現筆刷、傳回值會DDI_ERROR,並記錄錯誤碼。
備註
GDI 可以呼叫 DrvFillPath 來填滿 裝置管理介面上的路徑。 決定是否呼叫此函式時,GDI 會比較填滿需求與DEVINFO結構的flGraphicsCaps成員中的下列旗標:GCAPS_BEZIERS、GCAPS_ALTERNATEFILL和GCAPS_WINDINGFILL。
混合模式會定義傳入模式應該如何與裝置介面上的資料混合。 MIX 資料類型包含兩個二進位點陣運算, (ROP2) 封裝成單一 ULONG 的值。 最低順序位元組會定義前景點陣運算;下一個位元組會定義背景點陣作業。 如需點陣作業碼的詳細資訊,請參閱Microsoft Windows SDK檔。
規格需求
目標平台 | 桌上型 |
標頭 | winddi.h (包含 Winddi.h) |