Macos 在HiDPI显示器的绘图区域中使用本机分辨率

Macos 在HiDPI显示器的绘图区域中使用本机分辨率,macos,gtk,retina-display,gtkmm,retina,Macos,Gtk,Retina Display,Gtkmm,Retina,我正在开发一个基于Gtk-2的跨平台照片润色应用程序(但已经能够支持Gtk-3,只需稍作修改) 在我的程序中,图像修饰的结果在可滚动区域中预览,该区域通过插入Gtk::Scrolled窗口的Gtk::DrawingArea实现。图形本身是使用Cairo执行的 最近,我有可能在带有视网膜显示器的MacBookPro笔记本电脑上测试该软件,我立即意识到预览图像会被放大2倍,就像所有其他GUI元素一样 有没有办法告诉Cairo和DrawingArea使用本机屏幕分辨率,而不是应用2倍放大?最近的Gtk

我正在开发一个基于Gtk-2的跨平台照片润色应用程序(但已经能够支持Gtk-3,只需稍作修改)

在我的程序中,图像修饰的结果在可滚动区域中预览,该区域通过插入Gtk::Scrolled窗口的Gtk::DrawingArea实现。图形本身是使用Cairo执行的

最近,我有可能在带有视网膜显示器的MacBookPro笔记本电脑上测试该软件,我立即意识到预览图像会被放大2倍,就像所有其他GUI元素一样

有没有办法告诉Cairo和DrawingArea使用本机屏幕分辨率,而不是应用2倍放大?最近的Gtk-3版本是否支持此功能


感谢您的帮助。

是的,GTK+3的最新版本支持高DPI。不过我不知道它是怎么工作的。谢谢。在这种情况下,我可能需要弄清楚的是,是否可以在每个小部件的基础上启用/禁用2倍放大。到目前为止,我在文档中找不到任何内容。cairo 1.14.0中的这一更改可能与此相关:“改进设备转换和扩展的处理,允许cairo现在支持设备级别的扩展,允许更简单、更透明的HiDPI支持。”但我仍然需要弄清楚这应该如何应用于DrawingArea,因此,将图像渲染到DrawingArea将使用显示的本机分辨率,而GUI的所有其余部分将按2倍的比例放大。是否有具体的示例,或者更多关于如何实现OP要求的信息?