2013年1月8日 星期二

Pango Cairo 畫游標

Pango Cairo 可以靠 pango_layout_get_cursor_pos 這個 function 來取得游標的位置(像素為單位),只要傳字串的 index(單位為 byte)就可以知道該字元的游標應該畫在哪裡。
PangoRectangle strong;
PangoRectangle weak;

pango_layout_get_cursor_pos(pango_layout, strlen("あい"), &strong, &weak);

cairo_line_to(cairo_context, strong.x/PANGO_SCALE, strong.y/PANGO_SCALE);
cairo_rel_line_to(cairo_context, 0, strong.height/PANGO_SCALE);
cairo_stroke(cairo_context);