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 ); /* ディスプレイのクローズ */ }


maruyama@wakhok.ac.jp
1995年02月01日 (水) 00時21分18秒 JST