想读到X Window的显示的内容

内核编译和嵌入式产品的设计与开发
回复
maggieqiu
帖子: 18
注册时间: 2008-02-03 15:48

想读到X Window的显示的内容

#1

帖子 maggieqiu » 2008-11-06 19:00

查X的接口查的我头痛,
有没有达人可以提示下哪去读X Window Display 的buffer?

不想让他直接显示到根窗口上,想把东西拿出来,放到其他地方单独显示。
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

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

#2

帖子 HuntXu » 2008-11-06 21:38

可以不显示的啊
HUNT Unfortunately No Talent...
maggieqiu
帖子: 18
注册时间: 2008-02-03 15:48

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

#3

帖子 maggieqiu » 2008-11-07 8:50

HuntXu 写了:可以不显示的啊
详细点详细点,怎么不显示,而且从哪里能拿到要显示的东西。
maggieqiu
帖子: 18
注册时间: 2008-02-03 15:48

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

#4

帖子 maggieqiu » 2008-11-07 10:12

我做到了不让他显示,可是不知道怎么读出东西来。
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

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

#5

帖子 HuntXu » 2008-11-07 15:55

在一个不显示的窗口上画东西...
需要的时候把那个窗口上的东西复制到一个有显示的窗口上...
HUNT Unfortunately No Talent...
maggieqiu
帖子: 18
注册时间: 2008-02-03 15:48

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

#6

帖子 maggieqiu » 2008-11-07 17:38

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在哪?怎么复制阿?
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

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

#7

帖子 HuntXu » 2008-11-07 20:11

XCopyArea,从一个隐藏的drawable复制到一个显示的drawable...
HUNT Unfortunately No Talent...
回复