Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Вопрос по cairo  (Прочитано 994 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Riateche

  • Автор темы
  • Активист
  • *
  • Сообщений: 279
    • Просмотр профиля
    • Idzaaus
Вопрос по cairo
« : 07 Октября 2009, 00:29:28 »
Рисую окошко на GTK+ через cairo (т. к. там есть поддержка прозрачности). Рисую так:
   cairo_t *cr = gdk_cairo_create(widget->window);
   if (supports_alpha)
       cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.0); /* transparent */
   else
       cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); /* opaque white */

    /* draw the background */
   cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
   GdkPixbuf *pixbuf;
   pixbuf = gdk_pixbuf_new_from_file ("bg.png", NULL);
   gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
   cairo_paint(cr);

Возникла проблема: нужно нарисовать поверх этой картинки еще одну (она занимает часть окна). Если делать так же, как первую, то она затирает предыдущую: везде вне рисунка окно становится прозрачным. Вопрос: как нарисовать несколько картинок поверх друг друга?

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.