Share via


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 和 DrvFillPathDrvBitBlt,視構成路徑之行的混合和寬度而定。

混合模式會定義傳入模式應該如何與裝置介面上的資料混合。 MIX 資料類型包含兩個二進位點陣運算, (ROP2) 封裝成單一 ULONG 的值。 最低順序位元組會定義前景點陣運算;下一個位元組會定義背景點陣作業。 如需點陣作業碼的詳細資訊,請參閱Microsoft Windows SDK檔。

規格需求

   
目標平台 桌上型
標頭 winddi.h (包含 Winddi.h)

另請參閱

CLIPOBJ

DrvBitBlt

DrvFillPath

DrvStrokePath

LINEATTRS

PATHOBJ

SURFOBJ

XFORMOBJ