我正在尝试使用gtk2hs和cairo在Haskell中创建基于GUI和图形的应用程序。目前我正在开发一个程序,用户可以在屏幕上创建和操作简单的几何形状。
我希望用户能够做的三个操作是:平移,旋转和缩放。理想的实现方法是在大多数图像处理程序中都有转换句柄,例如photoshop:
(即可以通过拖动对象内部的某个位置来翻译对象,通过拖动相应的白框进行缩放,然后通过在对象框外旋转方向单击并拖动来旋转)
我无法在gtk或cairo文档中找到一种简单的方法来“开箱即用”,并且无法通过在谷歌上搜索找到合适的库。有没有人知道一个Haskell API,它允许我以这种方式操作图形,或者,如果没有,我知道如何在Haskell中实现我自己的这种类型的功能版本?
答案 0 :(得分:1)
没有内置的小部件;你必须自己构建它,方法是绘制所有适当的元素(例如实际形状,边界框或类似物,角落和边界bex上的矩形等),并通过检查鼠标事件来处理鼠标事件。事件落在这些元素上或没有。这应该不难......虽然可能有点单调乏味。