Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XCreatePixmap(3X11)

XPutImage(3X11)

XReadBitmapFile(3X11)  —  NEWS-OS Programmer’s Manual

名称

XReadBitmapFile, XWriteBitmapFile, XCreatePixmapFromBitmapData, XCreateBitmapFromData − ビットマップを操作する

形式

int XReadBitmapFile(display, d, filename, width_return, height_return, bitmap_return, x_hot_return,
                       y_hot_return)
      Display ∗display;
      Drawable d;
      char ∗filename;
      unsigned int ∗width_return, ∗height_return;
      Pixmap ∗bitmap_return;
      int ∗x_hot_return, ∗y_hot_return; int XWriteBitmapFile(display, filename, bitmap, width, height, x_hot, y_hot)
      Display ∗display;
      char ∗filename;
      Pixmap bitmap;
      unsigned int width, height;
      int x_hot, y_hot; Pixmap XCreatePixmapFromBitmapData(display, d, data, width, height, fg, bg, depth)
     Display ∗display;
     Drawable d;
     char ∗data;
     unsigned int width, height;
     unsigned long fg, bg;
     unsigned int depth; Pixmap XCreateBitmapFromData(display, d, data, width, height)
      Display ∗display;
      Drawable d;
      char ∗data;
      unsigned int width, height;

引数

bitmapビットマップを指定します。

bitmap_return
作成されたビットマップを返します。

ddrawable を指定します。 それはスクリーンを示します。

dataビットマップ形式のデータを指定します。

dataビットマップデータの位置を指定します。

depthピクスマップ (pixmap) の深さを指定します。

displayX サーバへのコネクションを指定します。

fg

bg使用するためのフォアグラウンドおよびバックグラウンドのピクセル値を 指定します。

filename使用するためのファイル名を指定します。 ファイル名の形式は、オペレーティングシステム依存です。

width

height幅と高さを指定します。

width_return

height_return
ビットマップファイルに読込んだ幅および高さの値を返します。

x_hot

y_hotファイル中に、ホットスポット座標 ( または、何も存在しなければ −1、−1 ) を置く場所を指定します。

x_hot_return

y_hot_return
ホットスポット座標を返します。

解説

XReadBitmapFile 関数は、ビットマップを記述したファイルを読込みます。 標準と違ったフォーマットが読めるかどうかは、インプリメンテーションに よります。 ファイルがオープンできない場合は、 XReadBitmapFile は、 BitmapOpenFailed を返します。 ファイルはオープンできるが、有効なビットマップ・データを含んでいない場合は、 BitmapFileInvalid を返します。 割当てられた作業用記憶領域が不十分な場合は、 BitmapNoMemory を返します。 ファイルが読込み可能で有効な場合は、 BitmapSuccess を返します。 XReadBitmapFile は、ファイルから読込むときに、ビットマップの高さと幅を、 width_return および height_return へ返します。 それから、適当な大きさの pixmap を作成し、 ビットマップデータを、ファイルから pixmap へ読込み、 pixmap を、発信元の変数ビットマップへ割当てます。 発信元は、終了時に、 XFreePixmap を使用して、ビットマップを解放しなければなりません。 name_x_hot と name_y_hot が存在する場合は、 XReadBitmapFile は、それらを、 x_hot_return および y_hot_return へ返します。 そうでない場合は、 −1、−1 を返します。 .PN XReadBitmapFile は、 BadAlloc および BadDrawable エラーを生じることがあります。 XWriteBitmapFile 関数は、ビットマップを
 X バージョン、 11 フォーマットでファイルへ書出します。 ファイルが、書込み用にオープンできない場合は、 BitmapOpenFailed を返します。 割当てられた記憶領域が不十分な場合は、 XWriteBitmapFile は、 BitmapNoMemory を返します。 それとは逆に、何もエラーがない場合は、 BitmapSuccess を返します。
 x_hot と y_hot が、 −1、−1 でない場合は、 XWriteBitmapFile は、それらを、ビットマップのホットスポット座標として書出します。 .PN XWriteBitmapFile は、 BadDrawable および BadMatch エラーを生じることがあります。 XCreatePixmapFromBitmapData 関数は、与えられた深さの pixmap を作成し、データを XPutImage で用いられるビットマップ形式でその pixmap へ書込みます。 その深さは、指定された drawable のスクリーンが、サポートしなければ なりません。 さもないと、 BadMatch エラーが結果として生じます。 .PN XCreatePixmapFromBitmapData は、 BadAlloc および BadMatch エラーを生じることがあります。 XCreateBitmapFromData 関数は、ビットマップファイルに読込むことなしに、 XWriteBitmapFile (X バージョン、 11 フォーマットのみ ) が、書出したビットマップファイルを、
 C プログラムに含ませることを可能にします ( #include を用いて ) 。 次の例では、グレーのビットマップを作成します。

#include "gray.bitmap"
Pixmap bitmap;
bitmap = XCreateBitmapFromData(display, window, gray_bits, gray_width, gray_height);

割当てられた作業用記憶領域が不十分な場合は、 XCreateBitmapFromData は、 None を返します。終了時には、 XFreePixmap を用いて、ビットマップを解放しなければなりません。 .PN XCreateBitmapFromData は、 BadAlloc エラーを生じることがあります。

診断

BadAlloc サーバが、要求されたリソースまたは、サーバメモリの割当てに失敗した。

BadDrawable
 Drawable 引数の値が、定義された Window または Pixmap を指さない。

BadMatch InputOnly ウィンドウが、 Drawable として使用されている。

関連事項

XCreatePixmap(3X11), XPutImage(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026