3

我正在尝试使用 gtk2hs 和 cairo 在 Haskell 中创建基于 GUI 和图形的应用程序。目前我正在开发一个用户可以在屏幕上创建和操作简单几何形状的程序。

我希望用户能够进行的三种操作是:平移、旋转和缩放。理想的实现方式是在大多数图像处理程序(如 Photoshop)中存在转换句柄:

在此处输入图像描述

(即可以通过拖动对象内部某处来平移对象,通过拖动适当的白框进行缩放,并通过单击并在对象框外沿旋转方向拖动来旋转)

我在 gtk 或 cairo 文档中都找不到执行此“开箱即用”的简单方法,并且无法通过在 google 上搜索找到合适的库。有谁知道 Haskell API 可以让我以这种方式操作图形,或者如果失败了,知道我将如何在 Haskell 中实现我自己的此类功能版本?

4

1 回答 1

1

没有内置的小部件。您必须自己构建它,方法是绘制所有适当的元素(例如实际形状、边界框或类似元素、边界 bex 的角和边缘上的矩形等)并通过检查事件是否下降来处理鼠标事件在这些元素上与否。这应该不难......虽然它可能有点乏味。

于 2013-07-15T13:24:32.940 回答