Win32 API 日本語リファレンス
ホームStorage.Xps › XPS_FILL_RULE

XPS_FILL_RULE

列挙型
基底型i4

メンバー 2

名前10進16進説明
XPS_FILL_RULE_EVENODD10x1点が塗りつぶし領域内にあるかどうかを判定する規則です。判定は、その点から任意の方向に無限遠へ向かう半直線を引き、その半直線が交差する図形内のパスセグメントの数を数えることで行います。この数が奇数であれば点は内側にあり、偶数であれば外側にあります。
XPS_FILL_RULE_NONZERO20x2点がパスの塗りつぶし領域内にあるかどうかを判定する規則です。判定は、その点から任意の方向に無限遠へ向かう半直線を引き、図形のセグメントがその半直線と交差する箇所を調べることで行います。カウントを 0 から開始し、パスセグメントが半直線を左から右へ横切るたびに 1 を加算し、右から左へ横切るたびに 1 を減算します。交差をすべて数えた後、結果が 0 であれば点はパスの外側にあり、それ以外であれば内側にあります。

公式ドキュメント

複合図形が、指定された点がジオメトリの一部であるかどうかを判定するために使用する規則です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum XPS_FILL_RULE : int {
    XPS_FILL_RULE_EVENODD = 1,
    XPS_FILL_RULE_NONZERO = 2
} XPS_FILL_RULE;
public enum XPS_FILL_RULE : int
{
    XPS_FILL_RULE_EVENODD = 1,
    XPS_FILL_RULE_NONZERO = 2,
}
Public Enum XPS_FILL_RULE As Integer
    XPS_FILL_RULE_EVENODD = 1
    XPS_FILL_RULE_NONZERO = 2
End Enum
import enum

class XPS_FILL_RULE(enum.IntEnum):
    XPS_FILL_RULE_EVENODD = 1
    XPS_FILL_RULE_NONZERO = 2
// XPS_FILL_RULE
pub const XPS_FILL_RULE_EVENODD: i32 = 1;
pub const XPS_FILL_RULE_NONZERO: i32 = 2;
// XPS_FILL_RULE
const (
	XPS_FILL_RULE_EVENODD int32 = 1
	XPS_FILL_RULE_NONZERO int32 = 2
)
const
  XPS_FILL_RULE_EVENODD = 1;
  XPS_FILL_RULE_NONZERO = 2;
// XPS_FILL_RULE
pub const XPS_FILL_RULE_EVENODD: i32 = 1;
pub const XPS_FILL_RULE_NONZERO: i32 = 2;
const
  XPS_FILL_RULE_EVENODD* = 1
  XPS_FILL_RULE_NONZERO* = 2
enum XPS_FILL_RULE : int {
    XPS_FILL_RULE_EVENODD = 1,
    XPS_FILL_RULE_NONZERO = 2,
}
#define global XPS_FILL_RULE_EVENODD 0x1
#define global XPS_FILL_RULE_NONZERO 0x2