LINUX.ORG.RU

Свой GTK виджет, почему странно рисует?


0

1

Виджет унаследован от GtkEntry, рисую на нём «кнопку», но она как-то странно отображается, вернее не сама она, а область рядо с ней, она искажается http://www.imagepost.ru/?v=beg.png хотя в методе expose ьщуго виджета всего лишь один вызов функции:

    static gint
     
    gtk_button_entry_expose(GtkWidget * widget, GdkEventExpose *event)
     
    {
     
           
     
            GTK_WIDGET_CLASS(parent_class)->expose_event(widget, event);
     
            gtk_paint_box(  widget->style,
     
                                            event->window,
     
                                            GTK_WIDGET_STATE(widget),
     
                                            GTK_SHADOW_OUT,
     
                                            NULL,
     
                                            NULL,
     
                                            NULL,
     
                                            2,1,14,14);
     
                                           
     
     
     
           
     
            return FALSE;
     
    }

В чём может быть проблема? Куда покопать? :)

★★★★★

Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от xterro

Запустил свой виджет на клеарлуксе тот же результат: paint_shadow заливает всё синим. Надо просто аккуратнее с размером GtkEntry обращаться и всё будет пучком.

baverman ★★★
()
Ответ на: комментарий от xterro

Блин, не могу потестить, среды нету, но на первый взгляд разница в аргументе state, см. [1]. Там кстати чуть ниже в случае интериор-фокуса что-то дорисовывается, тоже можно забрать )) Сорцы вообще хорошая вещь )

[1] http://www.koders.com/c/fid656267515125B7486ACE41475551665305D824F6.aspx?s=qu...

arturpub ★★
()
Ответ на: комментарий от arturpub

Там бинарник в архиве есть и уже готовые make и cmake файлы, если пересобрать захочется :) А сорсы я как раз параллельно читаю(с git.gnome.org), сейчас смотрю, что можно сделать с set_inner_border, чтобы косяков не было.

xterro ★★★★★
() автор топика
Ответ на: комментарий от baverman

Т.е на клеарлуксе косячит, а на той(первоначальной) теме всё нормально? Хмм... поэтому я и не стал делать его композитным, думаю отрисую кнопочку сам :)

xterro ★★★★★
() автор топика
Ответ на: комментарий от xterro

а на той(первоначальной) теме всё нормально?

Да, на моей текущей теме твой виджет работает нормально.

baverman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.