LINUX.ORG.RU

gtkmm: аналог PangoLayout::draw_layout при помощи Cairo


0

0

Пытаюсь написать аналог следующему (просто вывод символа или числа в центр заданного квадрата):

Gtk::DrawingArea area_;
Glib::RefPtr<Pango::PangoLayout> pangolayout_;
...
pangolayout_ = area_.create_pango_layout("text");
pangolayout_->set_font_description(Pango::FontDescription("Arial 10"));
...
Glib::RefPtr<Gdk::Window> window = area_.get_window();
Glib::RefPtr<Gdk::GC> gc = area_get_style()->get_black_gc();

Glib::ustring s = "x";
pangolayout_->set_text(s);
pangolayout_->get_pixel_size(width, height);

window->draw_layout(gc, x - width/2, y - height/2, pangolayout_)


Вместо вывода текста через Gdk пытаюсь это сделать через Cairo:

Cairo::RefPtr<Cairo::Context> cr = window->create_cairo_context();
cr->set_line_width(1.0);
cr->move_to(x - width/2, y - height/2);
pangolayout_->add_to_cairo_context(cr);

Выводит, но жирно и размыто. Если line_width делать меньше, то текст просто начинает светлеть, но ширина линии остается прежней.

Кто-нибудь знает куда копать?


всем большое спасибо!

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