使うのはX Window System
概要は以下URLをみてください。
http://xjman.dsl.gr.jp/X11R6/X11/
また、コンパイラはGCC
まだ、勉強している最中で、思考をまとめるために書いているので多数ミスがある可能性が高いので指摘していただきたいです。
ソースコードの内容としては、ただ真っ暗な画面で終了するとエラーが出るものです。
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include<stdio.h>
int main(){
Display *display; //参照→http://xjman.dsl.gr.jp/X11R6/X11/CH02.html
char *display_name;//ハードウェアのディスプレイ名
GC gc;//グラフィックコンテキスト 参照→http://xjman.dsl.gr.jp/X11R6/X11/CH07.html
Window window;//参照→http://xjman.dsl.gr.jp/X11R6/X11/CH03.html
XEvent ev;//参照→http://xjman.dsl.gr.jp/X11R6/X11/CH10.html
int width;
int height;
//Display情報
display_name=NULL;
display = XOpenDisplay(display_name);//ハードウェアのディスプレイ名,NULLだとDISPLAY環境変数の値が使われる。
//横と高さの大きさ
width = DisplayWidth(display,0)/4;//大きさを取ってくる、ディスプレイサーバとディスプレイの番号。
height = DisplayHeight(display,0)/4;//大きさは1/4
//画面作成
//window=XCreateWindow(display,RootWindow(display,0),0,0,width,height,1,CopyFromParent,InputOutput,DefaultVisual(display, DefaultScreen(display)),0,0);
//めんどくさい時はこっち
window=XCreateSimpleWindow(display,RootWindow(display,0),0,0,width,height,1,0,0);
//タイトル
XStoreName(display,window,"Hello GUI");
gc=XCreateGC(display,window,0,NULL);//グラフィック操作
//本来なら使うマスクだけをいれる
XSelectInput(display,window,ExposureMask|ButtonPressMask|ButtonReleaseMask|KeyPressMask|ButtonMotionMask|KeyReleaseMask);
//画面の表示
XMapWindow(display,window);
//終了しないためのwhile(1)
while(1){
XNextEvent(display,&ev);//イベント待ち
}
return 0;
}
0 件のコメント:
コメントを投稿