XParseGeometry(3X11) — NEWS-OS Programmer’s Manual
名称
XParseGeometry, XParseColor − ウィンドウのジオメトリをパーズする
形式
int XParseGeometry(parsestring, x_return, y_return, width_return, height_return)
char ∗parsestring;
int ∗x_return, ∗y_return;
int ∗width_return, ∗height_return; Status XParseColor(display, colormap, spec, exact_def_return)
Display ∗display;
Colormap colormap;
char ∗spec;
XColor ∗exact_def_return;
引数
colormapカラーマップを指定します。
position
default_position
ジオメトリの仕様を指定します。
displayX サーバへのコネクションを指定します。
exact_def_return
後の使用のために正確な色を返し、 DoRed、 DoGreen、 および DoBlue フラグを設定します。
fheight
fwidthフォントの高さと幅をピクセル単位で指定します ( 増分サイズ ) 。
parsestringパーズしたい文字列を指定します。
screenスクリーンを指定します。
specカラー名の文字列を指定します。 ケースは無視されます。
width_return
height_return
決定した幅と高さを返します。
xadder
yadderウィンドウに必要な追加の内部パディングを指定します。
x_return
y_returnx と y のオフセットを返します。
解説
決まりにより、 X アプリケーションは、ウィンドウのサイズと配置を示すために、 標準の文字列を使用します。 XParseGeometry により、より簡単に、この標準に準拠することができます。なぜならば、 XParseGeometry は、標準のウィンドウジオメトリをパーズすることを可能にするからです。 特に、 XParseGeometry 関数は、形式 :
[=][<width>x<height>][{+−}<xoffset>{+−}<yoffset>]
の文字列をパーズさせます。
この形式中の項目は、 XParseGeometry と対応する引数にマップされます。 (<> で囲まれている項目は整数、 [] 中の項目はオプション、 {} で囲まれている項目は “このうちの 1 つを選択 ” することを示しています ) 。 なお、このような括弧は、実際の文字列に現われてはならないことに注意して下さい。 XParseGeometry 関数は、4つの値 (width、 height、xoffset、および yoffset) のうちのどれが実際に文字列中で発見されるか、 そして、 x と y 値は負であるか否かを示すビット・マスクを返します。 決まりにより、 −0 は +0 とは等しくありません。 なぜならば、ユーザは、 “ 右エッジまたは下部エッジに相対させてウィンドウを配置する ” と言うことができなければならないからです。 見つけられた値のそれぞれについて、対応する引数は、変更されます。 見つけられなかった値のそれぞれについては、それに対応する引数は 変更されません。 ビットは、 <X11/Xutil.h> XValue、 YValue、 WidthValue、 HeightValue、 XNegative または YNegative で表わされます。 それらは、値のうちの 1つが定義されるか、記号のうちの 1つが設定された ときはいつでも設定されます。 XParseGeometry 関数が、 XValue または YValue フラグのいずれかを返した場合、 そのウィンドウを要求された位置に置かなければなりません。 XParseColor 関数は、色への標準のユーザインターフェースを作成するために、 簡単な方法を提供します。 XParseColor は、通常、コマンド行または XGetDefault オプションから色の文字列仕様を取り、 XAllocColor または XStoreColor への次の呼び出しに適切な、それに対応する赤、緑、青の値を返します。 色は、カラー名 ( XAllocNamedColorのような または、下に示す形式の内の1つ、すなわち、シャープ記号の後に数字が 続くという形式のいずれかで指定できます。
#RGB( 各 4 ビット )
#RRGGBB( 各 8 ビット )
#RRRGGGBBB( 各 12 ビット )
#RRRRGGGGBBBB( 各 16 ビット )
R 、G 、B は、 16 進数の1桁 ( 大文字と小文字の両方で指定可能 ) を表わします。 各々 16 ビットより少ないものが指定されたときは、 R、G、B は、値の最上位ビットを表わします。 例えば、#3a7 は、#3000a0007000 と同じです。 カラーマップは、そのカラーが表示されているスクリーンを調べるときにだけ 使用されます。 例えば、 スクリーンのデフォルトカラーマップを使用することができます。 もし最初の文字はシャープ記号だが、文字列が上記のフォーマットに 一致しない場合、または、最初の文字がシャープ記号でなかったり、 指定された色が、サーバのデータベースに存在しない場合は、 XParseColor は、失敗し、零を返します。 XParseColor は、 BadColor エラーを生じることがあります。
診断
BadColor カラーマップ引数の値が、定義されたカラーマップを指さない。
関連事項
XAllocColor(3X11), XCreateColormap(3X11), XGetDefault(3X11), XSetWMProperties(3X11), XStoreColors(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.1C