other versions
- wheezy 4.1.0.20011224-6
| XGetWindowProperty(3X11) | XLIB FUNCTIONS | XGetWindowProperty(3X11) |
名前¶
XGetWindowProperty, XListProperties, XChangeProperty, XRotateWindowProperties, XDeleteProperty - ウィンドウのプロパティの取得と変更を行なう
書式¶
int XGetWindowProperty( display, w, property, long_offset, long_length, delete, req_type,actual_type_return, actual_format_return, nitems_return, bytes_after_return,
prop_return)
Display * display;
Window w;
Atom property;
long long_offset, long_length;
Bool delete;
Atom req_type;
Atom * actual_type_return;
int * actual_format_return;
unsigned long * nitems_return;
unsigned long * bytes_after_return;
unsigned char ** prop_return; Atom *XListProperties( display, w, num_prop_return)
Display * display;
Window w;
int * num_prop_return; XChangeProperty( display, w, property, type, format, mode, data, nelements)
Display * display;
Window w;
Atom property, type;
int format;
int mode;
unsigned char * data;
int nelements; XRotateWindowProperties( display, w, properties, num_prop, npositions)
Display * display;
Window w;
Atom properties[];
int num_prop;
int npositions; XDeleteProperty( display, w, property)
Display * display;
Window w;
Atom property;
引き数¶
- actual_format_return
- プロパティの実際のフォーマットが返される。
- actual_type_return
- プロパティの実際のタイプを定義するアトム識別子が返される。
- bytes_after_return
- プロパティの一部だけ読み込んだ場合、残りのバイト数が返される。
- data
- プロパティのデータを指定する。
- delete
- プロパティを削除するかどうか決定する真偽値を指定する。
- display
- X サーバへの接続を指定する。
- format
- データを 8ビット、16ビット、32ビットいずれの単位のリストとみなすかを 指定する。 8, 16, 32 を指定できる。 この情報により、X サーバは必要に応じてバイト交換を正しく行うことができ る。 フォーマットが 16ビットか32ビットの場合には、 XChangeProperty の呼び出しの際にはデータへのポインタを (unsigned char *) にキャストし なければならない。
- long_length
- 取得するデータの32ビット倍で長さを指定する。
- long_offset
- データが取り込まれる、指定したプロパティ内のオフセット(32ビット単位)を 指定する。
- mode
- 操作のモードを指定する。 PropModeReplace, PropModePrepend, PropModeAppend のいずれかを指定できる。
- nelements
- 指定したデータフォーマットの要素数を指定する。
- nitems_return
- prop_return に格納された 8ビット、16ビット、32ビットのアイテムの実際の 数が返される。
- num_prop
- プロパティの配列の長さを指定する。
- num_prop_return
- プロパティの配列の長さが返される。
- npositions
- ローテーションの量を指定する。
- prop_return
- 指定したフォーマットのデータが返される。
- property
- プロパティ名を指定する。
- properties
- ローテートさせるプロパティの配列を指定する。
- req_type
- プロパティのタイプに対応するアトム識別子か AnyPropertyType を指定する。
- type
- プロパティの型を指定する。 X サーバは型の解釈は行わないが、後で XGetWindowProperty を呼び出したアプリケーションにこの型をそのまま返す。
- w
- プロパティの取得、変更、ローテート、削除を行うウィンドウを指定する。
説明¶
関数 XGetWindowProperty はプロパティの実際のタイプ、プロパティの実際のフォーマット、転送される 8ビット、16ビット、32ビットのアイテム数、プロパティに残っている読み込 むべきバイト数、データへのポインタを返す。 XGetWindowProperty は値を返す引き数に対して以下のように値を設定する。- •
- 指定したウィンドウに対する指定したプロパティが存在しない場合、 XGetWindowProperty は actual_type_return に None を返し、actual_format_return と bytes_after_return に 0 を返す。 引き数 nitems_return は空になる。 この場合には引き数 delete は無視される。
- •
- 指定したプロパティは存在するが指定したタイプに一致しない場合、 XGetWindowProperty は actual_type_return に実際のプロパティのタイプ、 actual_format_return に実際のプロパティのフォーマット(決して 0 にはな らない)、bytes_after_return にプロパティのバイト長 (actual_format_return が16または32であっても)を返す。 この場合も引き数 delete は無視される。 引き数 nitems_return は空である。
- •
- 指定したプロパティが存在し、かつ、引き数 req_type に AnyPropertyType を指定するか指定したタイプが実際のプロパティと一致した場合は、 XGetWindowProperty は actual_type_return に実際のプロパティのタイプ、actual_format_return に 実際のプロパティのフォーマット(決して 0 にならない)を返す。 また、以下で定義する値を bytes_after_return と nitems_return に返す。
-
N = 格納されているプロパティの実際のバイト長 (フォーマットが16または32の場合も含む) I = 4 * long_offset T = N - I L = MINIMUM(T, 4 * long_length) A = N - (I + L)
- 返される値は(0 から数えて) I 番目のバイトから始まり、長さは L バイト である。 long_offset の値により L が負の値になった場合、エラー BadValue となる。 bytes_after_return の値は A である。これは格納されているプロパティ内に 残っていてまだ読んでいないバイト数である。
- •
- 引き数 mode が PropModeReplace ならば、 XChangeProperty は以前のプロパティ値を破棄し、新しいデータを格納する。
- •
- mode が PropModePrepend ならば、 XChangeProperty は現在あるデータの先頭に指定したデータを挿入し、 mode が PropModeAppend ならば、現在あるデータの末尾に指定したデータを挿入する。 タイプとフォーマットは現在あるプロパティ値と一致していなければならず、 そうでない場合にはエラー BadMatch となる。 プロパティが定義されていない場合、これは正しいタイプとフォーマットで定 義された、長さ 0 のデータとして扱われる。
返り値¶
- BadAlloc
- 要求されたリソースやサーバメモリの割り当てにサーバが失敗した。
- BadAtom
- 引き数 Atom の値が、定義されている Atom を指していない。
- BadValue
- 指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていなければ、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。
- BadWindow
- 引き数 Window の値が、定義されている Window を指していない。
関連項目¶
XFree(3X11), XInternAtom(3X11)| Release 6.5 | X Version 11 |