Skip to content

Commit

Permalink
Fix 32 bit
Browse files Browse the repository at this point in the history
  • Loading branch information
madsmtm committed Jun 11, 2022
1 parent 44288f6 commit 2efd6c0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
8 changes: 4 additions & 4 deletions src/platform_impl/macos/util/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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},
};
Expand Down Expand Up @@ -113,16 +113,16 @@ 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.
/// Winit: top-left is (0, 0) and y increasing downwards
/// macOS: bottom-left is (0, 0) and y increasing upwards
pub fn window_position(position: LogicalPosition<f64>) -> 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,
)
}

Expand Down
2 changes: 1 addition & 1 deletion src/platform_impl/macos/view.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
},
};

Expand Down
10 changes: 6 additions & 4 deletions src/platform_impl/macos/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1255,10 +1255,11 @@ unsafe fn set_min_inner_size<V: NSWindow + Copy>(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;
Expand All @@ -1279,10 +1280,11 @@ unsafe fn set_max_inner_size<V: NSWindow + Copy>(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;
Expand Down

0 comments on commit 2efd6c0

Please sign in to comment.