Skip to content
This repository has been archived by the owner on Dec 23, 2022. It is now read-only.

Commit

Permalink
Merge pull request #6 from slint-ui/simon/macos-scale-fix
Browse files Browse the repository at this point in the history
Fix scaling of the buffer on macOS
  • Loading branch information
madsmtm authored Dec 21, 2022
2 parents dbd4e79 + b74047a commit 25afc6e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
5 changes: 4 additions & 1 deletion examples/fruit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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")]
{
Expand Down
6 changes: 4 additions & 2 deletions src/cg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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);

Expand Down

0 comments on commit 25afc6e

Please sign in to comment.