【发布时间】:2010-11-19 07:12:03
【问题描述】:
我尝试为 Mac OSX 中的浏览器制作插件。
我从浏览器进程中获得了一个 CGContext。
所以我可以用它画画。
我要做的是为事件处理创建一个窗口,有人在这个神奇的网站上给我建议:)
我可以轻松地制作一个透明窗口,但我可以将那个窗口移动到适当的位置。
我确切知道窗口的大小,但我可以确定窗口的原点。
我得到的只有 CGContextRef。
我试过这个。
NSRect rect = [mywindow frame];
CGPoint origin;
origin.x = rect.origin.x;
origin.y = rect.origin.y;
CGPoint globalOrigin = CGContextConvertPointToDeviceSpace(cgContext, origin);
if (globalOrigin.x != origin.x || globalOrigin.y != origin.y) {
NSPoint newPoint;
newPoint.x = globalOrigin.x;
newPoint.y = globalOrigin.y;
[mywindow setFrameOrigin:newPoint];
}
但没有运气。它返回了我给它的值
有什么建议吗?
提前致谢。
【问题讨论】:
标签: macos plugins screen coordinates cgcontext