Share via


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)

另請參閱

BRUSHOBJ

CLIPOBJ

DEVINFO

DrvStrokeAndFillPath

PATHOBJ

SURFOBJ