drvStrokeAndFillPath 函式 (winddi.h)
DrvStrokeAndFillPath函式筆劃 (大綱) 並同時填滿路徑。
語法
BOOL DrvStrokeAndFillPath(
[in, out] SURFOBJ *pso,
[in, out] PATHOBJ *ppo,
[in] CLIPOBJ *pco,
[in, optional] XFORMOBJ *pxo,
[in] BRUSHOBJ *pboStroke,
[in] LINEATTRS *plineattrs,
[in] BRUSHOBJ *pboFill,
[in] POINTL *pptlBrushOrg,
[in] MIX mixFill,
[in] FLONG flOptions
);
參數
[in, out] pso
SURFOBJ結構的指標,描述要繪製的介面。
[in, out] ppo
PATHOBJ結構的指標,描述要填入的路徑。 系統會提供PATHOBJ_Xxx 服務常式來列舉組成路徑的線條、Bezier 曲線和其他資料。
[in] pco
CLIPOBJ結構的指標。 系統會提供 CLIPOBJ_Xxx 服務常式,將 剪輯區域 列舉為一組矩形。
[in, optional] pxo
繪製幾何寬線時所需的 XFORMOBJ 結構的指標。 它會指定將全局座標帶到裝置座標的轉換。 這是必要的,因為路徑是在裝置座標中提供,但幾何寬線實際上是在全局座標中擴展。 您可以查詢 XFORMOBJ 來找出轉換是什麼。
[in] pboStroke
BRUSHOBJ結構的指標,指定在繪製路徑時要使用的筆刷。
[in] plineattrs
LINEATTRS結構的指標,描述要繪製之線條的屬性。
[in] pboFill
BRUSHOBJ 結構的指標,指定填滿路徑時要使用的筆刷。
[in] pptlBrushOrg
POINTL結構的指標,指定兩個筆刷的筆刷原點。
[in] mixFill
混合模式,定義用於筆刷的前景和背景點陣作業。 如需混合模式的詳細資訊,請參閱。
[in] flOptions
指定FP_WINDINGMODE,表示應該執行線圈模式填滿,或FP_ALTERNATEMODE,這表示應該執行替代模式填滿。 應該忽略所有其他旗標。 如需這些模式的詳細資訊,請參閱 路徑填滿模式。
傳回值
如果驅動程式能夠填滿路徑,則傳回值為 TRUE 。 否則,如果 GDI 應該改為填滿路徑,則傳回值為 FALSE。 如果發生錯誤,則會DDI_ERROR傳回值,並記錄錯誤碼。
備註
如果使用寬線進行結構,則必須減少填滿區域以補償。
如果路徑或裁剪太複雜,裝置無法處理,驅動程式可能會傳回 FALSE ;在此情況下,GDI 會轉換成更簡單的呼叫。 例如,如果設備磁碟機已在DEVINFO結構的flGraphicsCaps成員中設定GCAPS_BEZIERS旗標,然後接收具有 Bezier 曲線的路徑,它可以傳回FALSE;GDI 接著會將 Bezier 曲線轉換成線條,並再次呼叫DrvStrokeAndFillPath。 如果設備磁碟機再次傳回FALSE,GDI 會進一步簡化呼叫、呼叫DrvStrokePath 和 DrvFillPath或DrvBitBlt,視構成路徑之行的混合和寬度而定。
混合模式會定義傳入模式應該如何與裝置介面上的資料混合。 MIX 資料類型包含兩個二進位點陣運算, (ROP2) 封裝成單一 ULONG 的值。 最低順序位元組會定義前景點陣運算;下一個位元組會定義背景點陣作業。 如需點陣作業碼的詳細資訊,請參閱Microsoft Windows SDK檔。
規格需求
目標平台 | 桌上型 |
標頭 | winddi.h (包含 Winddi.h) |