分页: 1 / 1

想读到X Window的显示的内容

发表于 : 2008-11-06 19:00
maggieqiu
查X的接口查的我头痛,
有没有达人可以提示下哪去读X Window Display 的buffer?

不想让他直接显示到根窗口上,想把东西拿出来,放到其他地方单独显示。

Re: 想读到X Window的显示的内容

发表于 : 2008-11-06 21:38
HuntXu
可以不显示的啊

Re: 想读到X Window的显示的内容

发表于 : 2008-11-07 8:50
maggieqiu
HuntXu 写了:可以不显示的啊
详细点详细点,怎么不显示,而且从哪里能拿到要显示的东西。

Re: 想读到X Window的显示的内容

发表于 : 2008-11-07 10:12
maggieqiu
我做到了不让他显示,可是不知道怎么读出东西来。

Re: 想读到X Window的显示的内容

发表于 : 2008-11-07 15:55
HuntXu
在一个不显示的窗口上画东西...
需要的时候把那个窗口上的东西复制到一个有显示的窗口上...

Re: 想读到X Window的显示的内容

发表于 : 2008-11-07 17:38
maggieqiu
HuntXu 写了:在一个不显示的窗口上画东西...
需要的时候把那个窗口上的东西复制到一个有显示的窗口上...
给个简单的程序:

代码: 全选

 display = XOpenDisplay(display_name);
 screen_num = DefaultScreen(display);

 win = RootWindow(display, screen_num);
 gc = DefaultGC(display, screen_num);

 XSync(display, False);

 font_info = XLoadQueryFont(display, font_name);
 XSetFont(display, gc, font_info->fid);
 XDrawString(display, win, gc, x, y, text_string, strlen(text_string));

  XFlush(display);
  XCloseDisplay(display);

然后就直接在根窗口上显示出来了阿,但是如果我给出个buffer,首地址buffer,大小为bufsize。
怎么把显示的文字写到buffer里呢?
然后我要另作处理的。
我可以创建子窗口,不让他显示。可是他的buffer在哪?怎么复制阿?

Re: 想读到X Window的显示的内容

发表于 : 2008-11-07 20:11
HuntXu
XCopyArea,从一个隐藏的drawable复制到一个显示的drawable...