Previous: カラーマップから色を取り出す
Up: Xウィンドウ実習
第2回 色と模様を使う
Next: ルート・ウィンドウに色と模様を設定
Previous Page: カラーマップから色を取り出す
Next Page: ルート・ウィンドウに色と模様を設定
ピクスマップを生成し、ウィンドウの背景に設定してみましょう。
ここでは先生があらかじめ用意たファイル zou をデータとして利用します。
データの内容 zou_bits とデータのサイズ zou_width, zou_height は、
このファイルの中で与えられています。
ソース・ファイル名は win6.c としてください。
win6.c
#include<stdio.h>
#include<X11/Xlib.h>
#include "zou" /* ビットマップのデータ */
main()
{
Display *dsp; /* ディスプレイ構造体の宣言 */
Window win; /* ウィンドウ構造体の宣言 */
Pixmap pix; /* ピクスマップの宣言 */
dsp = XOpenDisplay( NULL ); /* ディスプレイのオープン */
/* ウィンドウの生成 */
win = XCreateSimpleWindow( dsp, DefaultRootWindow(dsp),
0, 0, 800, 400, 1,
BlackPixel(dsp,0), WhitePixel(dsp,0) );
/* ピクスマップの生成 */
pix = XCreatePixmapFromBitmapData( dsp, win,
zou_bits, zou_width, zou_height,
BlackPixel(dsp,0), WhitePixel(dsp,0), 8 );
XMapWindow( dsp, win ); /* ウィンドウの表示 */
XFlush( dsp );
getchar(); /* リターンキーの入力まで停止する */
XSetWindowBackgroundPixmap( dsp, win, pix ); /* 背景のビットマップの設定 */
XClearWindow( dsp, win); /* ウィンドウのクリア */
XFlush( dsp );
getchar(); /* リターンキーの入力まで停止する */
XCloseDisplay( dsp ); /* ディスプレイのクローズ */
}