我使用FireBreath創建一個跨瀏覽器插件,它利用了各自平臺的一些本地庫(用於Windows和Objective-C的一些基於.NET的DLL基於dylibs /框架蘋果電腦)。本地庫顯示UI屏幕。爲了提高可用性,如果用戶有多重/擴展顯示器設置,我希望原生用戶界面顯示在瀏覽器窗口當前所在的同一屏幕上。確定顯示器與FireBreath瀏覽器窗口
如果一個標識符與瀏覽器窗口中的監視器可以被檢索,可傳遞至其可以被配置爲在該顯示器上顯示其用戶界面的天然組分。我使用FireBreath的getWindowPosition()方法獲取插件的矩形座標,並使用該信息在Windows平臺中識別正確的顯示器。
然而,在Mac的返回的座標似乎總是0(或1),不考慮顯示器的在其上的瀏覽器窗口當前所在。我知道我們必須配置一個事件模型和一個繪圖模型才能在Mac中使用。我嘗試過以下事件/繪圖模型組合,但沒有取得太多成功。
1)可可/ CoreGraphics中 2)碳/ CoreGraphics中
在這方面的任何幫助是非常讚賞。如果還有其他方法可以實現,請分享。我想要實現的是識別當前活動瀏覽器窗口駐留在Mac上的顯示器。我不確定這一點,但可以在Objective-C級別實現此目標(FireBreath級別沒有任何更改)。另請注意,我想支持Safari,Firefox和Chrome瀏覽器。
感謝您的信息。我確實想出了一個解決方法,下面將對此進行解釋。 –