2011-02-07 56 views
2

我在写一个应用程序[实际上是一个Pidgin插件],它插入一个嵌入到GtkTextBuffer中的图像。目前,我添加它使用:插入GTK +文本缓冲区的pixbuf可以设置为“浮动”吗?

gtk_text_buffer_insert_pixbuf(textBuffer, &iter, pixbuf); 

但是,这只是将图像“内联”的文字。我在寻找的东西类似于HTML的“浮动”。例如,假定我的形象是一个文本行的两倍大小,我现在得到这个[其中X是图像]

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam gravida 

XXXX 
XXXX ante in massa dignissim aliquam. Nullam tempus quam luctus eros volutpat laoreet. 

XXXX 
XXXX sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. 
Mauris semper, nunc quis gravida molestie, 

leo neque imperdiet nulla, vel consectetur nisi nisl non metus. Maecenas pharetra 
magna nec magna mattis faucibus convallis nibh 

理想情况下,我想有:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam gravida 

XXXX ante in massa dignissim aliquam. Nullam tempus quam luctus eros volutpat laoreet. 
XXXX 

XXXX sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. 
XXXX Mauris semper, nunc quis gravida molestie, 

leo neque imperdiet nulla, vel consectetur nisi nisl non metus. Maecenas pharetra 
magna nec magna mattis faucibus convallis nibh 

请注意,有四个段落,其中第二个和第三个在开始时有一个图像。

这可能吗?

回答

4

简短答案是否定的; TextView中的图像仅被视为一个字符(可能比通常的字符大很多)。 HTML意义上没有任何布局引擎。 (版面有限什么PangoLayout可以做。)

你也许可以砍的东西在一起,使用的方法,如:

  • 留有一定的余量图像的大小,你的款
  • 添加暴露事件处理函数图像绘制到窗口(见“边框窗口”的例子这是我觉得在GTK的演示或其他地方的文档,而是借鉴主窗口没有边框的窗口)

的一些量工作,但它可能会完成工作。

+0

有趣的想法。这远远超出了我在GTK中完成的任何事情[其中大部分仅限于以上的几行],但这听起来像一个有趣的想法。谢谢 – Mikeage 2011-02-07 19:26:30