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