如何在 Haskell 中使用 Cairo 绘制 X11 Drawable
Posted
技术标签:
【中文标题】如何在 Haskell 中使用 Cairo 绘制 X11 Drawable【英文标题】:How to draw on an X11 Drawable with Cairo in Haskell 【发布时间】:2012-12-15 17:38:30 【问题描述】:我最近在 Haskell 中进行了 X11 编程的第一步,现在我想使用 Cairo/Pango 绘制文本。我找到了一些 C 教程,看来我需要 create an Xlib surface using cairo_xlib_surface_create()
。
Cairo 有一个 Haskell wrapper,但似乎缺少此函数的包装器。
但是,似乎仍然有一种方法可以直接在 X11 窗口上使用 Cairo 绘制,因为表面的文档mentions an Xlib backend。
但我找不到任何进一步的信息。
【问题讨论】:
【参考方案1】:文档说
请注意,Haskell 绑定不支持所有可能的 cairo 后端,因为它需要相关技术(例如 X11、glitz 等)的绑定,但是可以在外部实现与其他后端的绑定。例如,Gtk2Hs 为 X11(和 Windows 上的 win32)提供了到后端的绑定。
所以看来你必须要么使用 gtk2hs,要么自己 ffi 所需的绑定。
【讨论】:
以上是关于如何在 Haskell 中使用 Cairo 绘制 X11 Drawable的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cairo 和 Gtk3 在 GtkDrawingArea 中绘制一条线