Я экспериментирую с созданием графических и графических приложений в Haskell, используя gtk2hs и cairo. В настоящее время я работаю над программой, в которой пользователь может создавать и манипулировать простыми геометрическими фигурами на экране.
Я хочу, чтобы пользователь мог выполнять три манипуляции: перемещение, вращение и масштабирование. Идеальная реализация этого должна иметь маркеры преобразования, присутствующие в большинстве программ обработки изображений, таких как Photoshop:
(т.е. когда объект можно перемещать, перетаскивая куда-нибудь внутри него, масштабировать, перетаскивая соответствующий белый прямоугольник, и поворачивать, щелкая и перетаскивая в направлении вращения за пределы поля объекта)
Я не могу найти простой способ сделать это «из коробки» ни в документации gtk, ни в документации cairo, и не смог найти подходящую библиотеку, выполнив поиск в google. Кто-нибудь знает о Haskell API, который позволил бы мне манипулировать графикой таким образом, или, в противном случае, знает, как я буду реализовывать свою собственную версию этого типа функций в Haskell?