以下のプログラムは、透明オーバーレイの単純な例を示しています。このプログラムは透明オーバーレイウィンドウを作成し、ウィンドウのボーダを白で描画し、テキスト文字列を白で表示し、白で塗りつぶされた矩形を描画します。ペイント型はデフォルトで不透明に描画され、ウィンドウの背景はデフォルトで透明に描画されます。次の Makefile を使用して、このプログラムをコンパイルし、リンクしてください。
simple: simple.c cc -I../ -I/usr/openwin/include -o simple simple.c ¥ -L/usr/openwin/lib -lX11 -lXext
#include <stdio.h> #include <X11/Xlib.h> #include "X11/Xmd.h" #include <X11/extensions/transovl.h> #include <X11/extensions/transovlstr.h> Display *display; Window window; XSetWindowAttributes attribs; GC gc; XGCValues gcvalues; main() { display = XOpenDisplay(""); attribs.override_redirect = True; attribs.border_pixel = WhitePixel(display, 0); window = XSolarisOvlCreateWindow(display, DefaultRootWindow(display), 100, 100, 500, 500, 10, CopyFromParent, InputOutput,CopyFromParent, CWBorderPixel | CWOverrideRedirect, &attribs); gcvalues.font = XLoadFont(display, "fixed"); gcvalues.foreground = WhitePixel(display, 0); gc = XCreateGC(display, window, GCFont | GCForeground, &gcvalues); XMapWindow(display, window); XDrawString(display, window, gc, 50, 50, "This is a test", 14); XFillRectangle(display, window, gc, 70, 70, 100, 100); XFlush(display); while (1);}