[Armadillo:08701] Re: 液晶表示の×マークについて

Chris McHarg email@hidden
2013年 3月 24日 (日) 13:07:38 JST


マカーグです。

> GTK+は現在使用しておりません。サイズの問題でGTK+を入れる
> ことも出来ません。
> 何か他の方法はありませんでしょうか?

Armadillo上では動作を確認していませんが、
同じことをxlibでやるなら以下のような感じになると思います。

#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
 
static void hide_cursor(Display *display, Window window)
{
    char data[] = {0};
    XColor color = {.red = 0, .green = 0, .blue = 0};
    Pixmap pixmap;
    Cursor cursor;

    pixmap = XCreateBitmapFromData(display, window, data, 1, 1);
    cursor = XCreatePixmapCursor(display, pixmap, pixmap, &color, &color, 0, 0);
    XDefineCursor(display, window, cursor);
    XFreeCursor(display, cursor);
    XFreePixmap(display, pixmap);
}

int main(void)
{
    Display *display;
    Window window;
    XEvent event;
    int s;
 
    display = XOpenDisplay(NULL);
    if (display == NULL) {
        fprintf(stderr, "Cannot open display\n");
        exit(1);
    }
 
    s = DefaultScreen(display);
 
    window = XCreateSimpleWindow(display, RootWindow(display, s),
			10, 10, 200, 200, 1,
			BlackPixel(display, s),
			WhitePixel(display, s));

    hide_cursor(display, window);
 
    XSelectInput(display, window, KeyPressMask);
 
    XMapWindow(display, window);
 
    while (1) {
        XNextEvent(display, &event);
        if (event.type == KeyPress)
            break;
    }

    XCloseDisplay(display);

    exit(0);
}




armadillo メーリングリストの案内