Merge pull request #6 from slint-ui/simon/macos-scale-fix
Fix scaling of the buffer on macOS
This commit is contained in:
commit
25afc6e563
2 changed files with 8 additions and 3 deletions
|
|
@ -16,7 +16,10 @@ fn main() {
|
|||
}).collect::<Vec<_>>();
|
||||
|
||||
let event_loop = EventLoop::new();
|
||||
let window = WindowBuilder::new().build(&event_loop).unwrap();
|
||||
let window = WindowBuilder::new()
|
||||
.with_inner_size(winit::dpi::PhysicalSize::new(fruit.width(), fruit.height()))
|
||||
.build(&event_loop)
|
||||
.unwrap();
|
||||
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use core_graphics::data_provider::CGDataProvider;
|
|||
use core_graphics::image::CGImage;
|
||||
|
||||
use cocoa::base::{id, nil};
|
||||
use cocoa::appkit::{NSView, NSViewWidthSizable, NSViewHeightSizable};
|
||||
use cocoa::appkit::{NSView, NSViewWidthSizable, NSViewHeightSizable, NSWindow};
|
||||
use cocoa::quartzcore::{CALayer, ContentsGravity};
|
||||
use foreign_types::ForeignType;
|
||||
|
||||
|
|
@ -18,11 +18,13 @@ pub struct CGImpl {
|
|||
|
||||
impl CGImpl {
|
||||
pub unsafe fn new(handle: AppKitWindowHandle) -> Result<Self, SwBufError> {
|
||||
let window = handle.ns_window as id;
|
||||
let view = handle.ns_view as id;
|
||||
let layer = CALayer::new();
|
||||
let subview: id = NSView::alloc(nil).initWithFrame_(view.frame());
|
||||
let subview: id = NSView::alloc(nil).initWithFrame_(NSView::frame(view));
|
||||
layer.set_contents_gravity(ContentsGravity::TopLeft);
|
||||
layer.set_needs_display_on_bounds_change(false);
|
||||
layer.set_contents_scale(window.backingScaleFactor());
|
||||
subview.setLayer(layer.id());
|
||||
subview.setAutoresizingMask_(NSViewWidthSizable | NSViewHeightSizable);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue