Previous: ピクスマップを背景に使う
Up: Xウィンドウ実習
第2回 色と模様を使う
Previous Page: ピクスマップを背景に使う
Next Page: Xウィンドウ・プログラミング
第3回 ウィンドウの階層構造とカラーの操作のまとめ
画面全体の背景になっているルート・ウィンドウの操作も、普通のウィンドウと
全く同じです。
ここでは色付きのピクスマップを使用し、色と模様の両方を設定してみましょう。
ソース・ファイル名は win7.c としてください。
win7.c
#include<stdio.h>
#include<X11/Xlib.h>
#include "heart" /* ビットマップのデータ */
main()
{
Display *dsp; /* ディスプレイ構造体の宣言 */
Colormap cmap; /* カラーマップの宣言 */
XColor iro1, iro2; /* カラー構造体の宣言 */
Pixmap pix; /* ピクスマップの宣言 */
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 );
/* ピクスマップの生成 */
pix = XCreatePixmapFromBitmapData( dsp, DefaultRootWindow(dsp),
heart_bits, heart_width, heart_height,
iro1.pixel, iro2.pixel, 8 );
/* 背景のビットマップの設定 */
XSetWindowBackgroundPixmap( dsp, DefaultRootWindow(dsp), pix );
XClearWindow( dsp, DefaultRootWindow(dsp) ); /* ウィンドウのクリア */
XFlush( dsp );
XCloseDisplay( dsp ); /* ディスプレイのクローズ */
}