pycairoのドキュメントがなさすぎる件について
Cのドキュメントを参照してくれ、とpycairoのホームページにはあるけど、それってつまりソースを見ろってことですよね?
cairo_matrix_t のラッパの中途半端さ加減がすごい。もともと構造体としては を表現しているわけなのだが、これらの6個の要素 (xx, xy, yx, yy, x0, y0) にはどういうわけかsequenceとしてしかアクセスできず、読み取り専用になっている。どういう意図があるのだろう。
とりあえず作ってみたサンプルを張ってみる。
import gtk import cairo drawing_area = gtk.DrawingArea() def draw(area, event): cc = area.window.cairo_create() grad = cairo.LinearGradient(0, 20, 0, 80) grad.add_color_stop_rgb(0, 1.0, 0.9, 0.5) grad.add_color_stop_rgb(0.5, 1.0, 0.8, 0.25) grad.add_color_stop_rgb(0.51, 1.0, 0.75, 0) grad.add_color_stop_rgb(1.0, 0.6, 0.4, 0) cc.set_source(grad) cc.select_font_face("Impact", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD) cc.set_font_size(80) mat = cc.get_font_matrix() cc.set_font_matrix(cairo.Matrix(mat[0], mat[1], mat[2], mat[3], mat[4], 80)) cc.show_text("HEY BOY HEY GIRL") drawing_area.connect("expose-event", draw) wnd = gtk.Window(gtk.WINDOW_TOPLEVEL) wnd.connect("delete-event", lambda widget, event: False) wnd.connect("destroy", lambda widget: gtk.main_quit()) wnd.add(drawing_area) drawing_area.show() wnd.show() gtk.main()