From 2efd6c0d3c71c878680659841f501eaf1df2d4fa Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Sat, 11 Jun 2022 01:13:41 +0200 Subject: [PATCH] Fix 32 bit --- src/platform_impl/macos/util/mod.rs | 8 ++++---- src/platform_impl/macos/view.rs | 2 +- src/platform_impl/macos/window.rs | 10 ++++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/platform_impl/macos/util/mod.rs b/src/platform_impl/macos/util/mod.rs index 61c6f66e88..859bdb9c9d 100644 --- a/src/platform_impl/macos/util/mod.rs +++ b/src/platform_impl/macos/util/mod.rs @@ -7,7 +7,7 @@ use std::ops::{BitAnd, Deref}; use std::os::raw::c_uchar; use cocoa::{ - appkit::{NSApp, NSWindowStyleMask}, + appkit::{CGFloat, NSApp, NSWindowStyleMask}, base::{id, nil}, foundation::{NSPoint, NSRect, NSString, NSUInteger}, }; @@ -113,7 +113,7 @@ impl Drop for TraceGuard { // 1. translate the bottom-left window corner into the top-left window corner // 2. translate the coordinate from a bottom-left origin coordinate system to a top-left one pub fn bottom_left_to_top_left(rect: NSRect) -> f64 { - CGDisplay::main().pixels_high() as f64 - (rect.origin.y + rect.size.height) + CGDisplay::main().pixels_high() as f64 - (rect.origin.y + rect.size.height) as f64 } /// Converts from winit screen-coordinates to macOS screen-coordinates. @@ -121,8 +121,8 @@ pub fn bottom_left_to_top_left(rect: NSRect) -> f64 { /// macOS: bottom-left is (0, 0) and y increasing upwards pub fn window_position(position: LogicalPosition) -> NSPoint { NSPoint::new( - position.x, - CGDisplay::main().pixels_high() as f64 - position.y, + position.x as CGFloat, + CGDisplay::main().pixels_high() as CGFloat - position.y as CGFloat, ) } diff --git a/src/platform_impl/macos/view.rs b/src/platform_impl/macos/view.rs index 55e3f7dc41..b8c93cb5e2 100644 --- a/src/platform_impl/macos/view.rs +++ b/src/platform_impl/macos/view.rs @@ -1168,7 +1168,7 @@ extern "C" fn pressure_change_with_event(this: &Object, _sel: Sel, event: id) { event: WindowEvent::TouchpadPressure { device_id: DEVICE_ID, pressure, - stage, + stage: stage as i64, }, }; diff --git a/src/platform_impl/macos/window.rs b/src/platform_impl/macos/window.rs index dde004ac5c..4c1ec0bec0 100644 --- a/src/platform_impl/macos/window.rs +++ b/src/platform_impl/macos/window.rs @@ -1255,10 +1255,11 @@ unsafe fn set_min_inner_size(window: V, mut min_size: Logica // Convert from client area size to window size min_size.width += (current_rect.size.width - content_rect.size.width) as f64; // this tends to be 0 min_size.height += (current_rect.size.height - content_rect.size.height) as f64; - window.setMinSize_(NSSize { + let min_size = NSSize { width: min_size.width as CGFloat, height: min_size.height as CGFloat, - }); + }; + window.setMinSize_(min_size); // If necessary, resize the window to match constraint if current_rect.size.width < min_size.width { current_rect.size.width = min_size.width; @@ -1279,10 +1280,11 @@ unsafe fn set_max_inner_size(window: V, mut max_size: Logica // Convert from client area size to window size max_size.width += (current_rect.size.width - content_rect.size.width) as f64; // this tends to be 0 max_size.height += (current_rect.size.height - content_rect.size.height) as f64; - window.setMaxSize_(NSSize { + let max_size = NSSize { width: max_size.width as CGFloat, height: max_size.height as CGFloat, - }); + }; + window.setMaxSize_(max_size); // If necessary, resize the window to match constraint if current_rect.size.width > max_size.width { current_rect.size.width = max_size.width;