KMSTATUS kmSetUserClipping( pVertexBuffDesc, nPrevUserClipMode, nListType, pRect )
PKMVERTEXBUFFDESC pVertexBuffDesc
KMUSERCLIPMODE nPrevUserClipMode
KMLISTTYPE nListType
PKMRECT pRect
pVertexBuffDesc (入力)KMVERTEXBUFFDESCへのポインタ nPrevUserClipMode (入力)切り替える前のUserClipMode nListType (入力)UserClipping領域を設定するListType pRect (入力)KMRECTへのポインタ
KMSTATUS_SUCCESS 成功
ユーザークリッピング領域を設定します。KMSTRIPCONTEXT構造体のStripControl.nUserClipModeメンバおよび、 KMVERTEXCONTEXT構造体の UserClipModeメンバに、 KM_USERCLIP_INSIDEまたはKM_USERCLIP_OUTSIDEを指定したポリゴンに 対しては、ここで指定したユーザークリッピング領域が有効となります。 なお、この領域はListType単位で有効になります。
引数nPrevUserClipModeには、以下の切り替える前のUserClipModeを設定します。
各パスの先頭で指定する場合には、KM_USERCLIP_DISABLEを設定してください。 引数nListTypeには、以下のUserClipping領域を設定するListTypeを設定します。
- KM_USERCLIP_DISABLE
- KM_USERCLIP_INSIDE
- KM_USERCLIP_OUTSIDE
引数pRectには、 KMRECTへのポインタを指定します。 KMRECTにユーザークリップ領域の左上、右下座標を設定します。 ここで指定する値はタイル単位です(1 = 32pixel)。
- KM_OPAQUE_POLYGON
- KM_OPAQUE_MODIFIER
- KM_TRANS_POLYGON
- KM_TRANS_MODIFIER
- KM_PUNCHTHROUGH_POLYGON
- pRect->nXmin (下位6bitのみ有効)
- pRect->nYmin (下位4bitのみ有効)
- pRect->nXmax (下位6bitのみ有効)
- pRect->nYmax (下位4bitのみ有効)
頂点ストリップの登録の途中でストリップの一部だけをクリップすることはできません。 具体的には、kmStartVertexStrip()関数で開始した頂点ストリップの登録をkmSetVertex()関数で KM_VERTEXPARAM_ENDOFSTRIPを登録するまでの間に、kmSetUserClipping()関数を発行してはいけません。
kmSetVertex() バッファへの頂点データの登録 kmStartVertexStrip() 頂点データストリップの開始