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 );
:
: