在Linux中的Windows gdi区域的等效

我有时使用Windows gdi区域进行graphics绘制和失效/validation。 例如,程序http://www.maxerist.net/main/soft-for-win/tubicus(oss )仅使用区域(无位图或离屏缓冲区)。 使用FillRgn和FrameRgn进行绘制,使用InvalidateRgn和CombineRgn进行无效和绘制,每个单元格(请参见截图)都是使用CreateEllipticRgn,CreatePolygonRgn和CombineRgn创build的简单区域。

我有计划把它移植到Linux上。 据我所知,Linux中有很多graphics库。 有没有支持类似Windows的区域?

谢谢

    Qt有很多的绘画选项,而使用QPainterQPainterPath对象可能适合你。 (有Qt分布的样本)。 您可以组合(添加/相交/ substact)路径。

    QGraphicsView framework也是一个很好的选择。

    你想使用X Window系统,又名X11​​,作为你的图形平台。 其客户端库称为Xlib。 该平台支持多边形区域。

    在Xlib(Gtk,Qt,wxWindows和更多)上面编写了许多库,但是您始终可以直接使用低级别的Xlib API。 Qt甚至支持椭圆区域。 我不知道细节,但我想它是在X11多边形区域之上实现的。