在Mac OS X上的HRGN等价物

时间:2013-10-29 06:28:21

标签: objective-c cocoa winapi

MSDN中,区域定义如下

  

区域是矩形,多边形或椭圆形(或这些形状中的两个或更多个的组合),可以填充,绘制,倒置,框起并用于执行命中测试(测试光标位置)。

那么,什么相当于Mac OS X上的区域也支持HRGN的操作,例如组合区域,区域的XOR等?

2 个答案:

答案 0 :(得分:1)

主要是Bézier路径。 Bézier路径可以描述几乎任何形状,您可以填充,描边和连接它们。

没有XOR,虽然缠绕规则有时可以产生相同的效果。

答案 1 :(得分:1)

还有另外一个选项:HIShape

Bézier路径的缺点:形状只能包含矩形。你可以忘记椭圆和任意多边形。

优点:你可以通过取两个差异的联合或者联合的交集差异来实现异或。

您可以使用replacing a context's path with it形状绘制,然后正常填充和/或抚摸。