Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public override int CheckFocusMarkPosition( CFviPoint mouse, double margin ) |
Visual Basic |
---|
Public Overrides Function CheckFocusMarkPosition ( mouse As CFviPoint, margin As Double ) As Integer |
Return Value
Type: Int32引数に指定されたマウスポインタの座標が、図形上のどの位置にあるかを示す位置情報を返します。
線分を閉じる設定(Close = true)の場合は、多角形の頂点または外接矩形上で判定します。 線分を閉じない設定(Close = false)の場合は、線分上で判定します。
戻り値: (線分を閉じる設定)
多角形の頂点にある場合、点列の指標+1 を負の数にした値を返します。
例えば、六角形の場合は、-1~-6 の範囲の値が返ります。
頂点になければ外接矩形のどの位置にあるかを判定します。
外接矩形外にあれば 0 を返します。
外接矩形内にあれば、下記の値の論理和を返します。
- FVIL.GDI.RectPosition.Left -
- FVIL.GDI.RectPosition.Top -
- FVIL.GDI.RectPosition.Right -
- FVIL.GDI.RectPosition.Bottom -
- FVIL.GDI.RectPosition.Center -
戻り値: (線分を閉じない設定)
- 0: 図形外 -
- 1以上: 各線分の端 -
- -1以下: 各線分の中央 -
Remarks
線分を閉じる設定(Close = true)の場合は、 指定されたマウス位置が 外接矩形 のどの位置にあるかを判定します。
引数 mouse に指定された座標が、外接矩形の各辺の上(下図の青色部分)にあると、 該当する FVIL.GDI.RectPosition の値を返します。 全ての辺の内側に有る場合は、全ての辺の論理和(FVIL.GDI.RectPosition.ALL)を返します。 矩形の角や中心・各辺の中央では交差する辺の論理和を返します。(下図の橙色部分)
引数 margin には、マウス位置と矩形の各辺の比較を行う際の誤差範囲を指定します。 margin に 1 を指定すると、±1 画素の範囲で判定します。
線分を閉じない設定(Close = false)の場合は、 指定されたマウス位置が線分上のどの位置にあるかを判定します。 マウスポインタの位置が図形外の場合は 0 を返します。 線分の各点上にあれば、1 以上の値を返します。 線分の各点の中間にあれば、-1 以下の値を返します。
始点が 1、2点目が 2 となり、終点に向かって 1 づつ加算された値になります。 始点と2点目の中点が -1、それ以降は終点に向かって 1 づつ減算された値になります。