2011-02-07 61 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