我正在使用 wxHaskell 来显示简单 Haskell 游戏的 GUI。
我有一个问题:我正在编写简单游戏的 GUI 部分。当游戏状态更新时,GUI 模块的功能之一被调用并传递新的游戏状态参数。现在必须更新 gui。GUI 是几个矩形,GUI 的更新只是在旧矩形上绘制一些新矩形。
但是,要绘制矩形,我需要将设备上下文 DC 作为参数传递。由于包含我的矩形的面板生成的“上漆”事件,板的第一次绘画完成了。在 Paint 处理程序上必须有签名:
DC a -> Rect -> IO ()
当事件发生时,直流通过并显示板。
我的问题:如何获得 DC?
或替代问题:如果事件处理程序需要特定签名 - 我如何将其他参数传递给处理程序?