Previous: Pixmapの生成
Up: Xウィンドウ概論
第2回 オブジェクトと構造体
Previous Page: Pixmapの生成
Next Page: Xウィンドウ実習
第2回 色と模様を使う
今日の実習で登場する新しい Xlib の関数は、次の5個です。
関数の使い方のさらに詳しいことは教科書などで調べてください。
あるいは、オンライン・マニュアル( man コマンド) によっても
調べることができます。
man XClearWindow
/* プログラムの例 ピクスマップを生成し、色を付け、ウィンドウの背景に設定する */#include<stdio.h> #include<X11/Xlib.h> #include "data" /* ピクスマップの元になるデータのファイル */ main() { Display *dsp; /* ディスプレイ構造体の宣言 */ Window win; /* ウィンドウ構造体の宣言 */ Pixmap pix; /* ピクスマップ構造体の宣言 */ Colormap cmap; /* カラーマップ構造体の宣言 */ XColor iro1, iro2; /* XColor構造体 2色の宣言 */
dsp = XOpenDisplay( NULL );
cmap = DefaultColormap( dsp, 0 ); /* カラーマップを得る */
iro1.red=65535; iro1.green=33000; iro1.blue=65535; /* 色のデータの設定 */ iro2.red=42000; iro2.green=0; iro2.blue=25000; /* 色のデータの設定 */
XAllocColor( dsp, cmap, &iro1 ); /* カラーマップから色を得る */ XAllocColor( dsp, cmap, &iro2 ); /* カラーマップから色を得る */
/* ウィンドウの生成 */ win = XCreateSimpleWindow( dsp, DefaultRootWindow(dsp), 50, 50, 600, 400, 2, BlackPixel(dsp,0), WhitePixel(dsp,0) ); /* ピクス・マップの生成 */ pix = XCreatePixmapFromBitmapData( dsp, win, data_bits, data_width, data_height, iro1.pixel, iro2.pixel, 8 ); /* ピクス・マップをウィンドウの背景にセットする */ XSetWindowBackgroundPixmap( dsp, win, pix ); : :