Skip to content

Commit 1f11f49

Browse files
committed
wip
1 parent 0ec3805 commit 1f11f49

3 files changed

Lines changed: 21 additions & 12 deletions

File tree

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pub use mouse_cursor::MouseCursor;
2424
pub use window::*;
2525
pub use window_open_options::*;
2626

27+
#[allow(unused)]
2728
pub(crate) use tracing::warn;
2829

2930
pub(crate) mod wrappers;

src/platform/macos/context.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::platform::macos::cursor::Cursor;
22
use crate::platform::macos::view::BaseviewView;
33
use crate::platform::{PlatformHandle, WindowSharedState};
44
use crate::wrappers::appkit::{View, ViewRef};
5-
use crate::{MouseCursor, WindowSize};
5+
use crate::*;
66
use dispatch2::MainThreadBound;
77
use dpi::Size;
88
use objc2::rc::Weak;
@@ -50,27 +50,32 @@ impl WindowContext {
5050
view.isEqual(Some(&*first_responder))
5151
}
5252

53-
pub fn focus(&self) {
54-
let Some(view) = self.view.load() else { return };
53+
pub fn focus(&self) -> Result<()> {
54+
let Some(view) = self.view.load() else { return Ok(()) };
5555
if let Some(window) = view.window() {
5656
window.makeFirstResponder(Some(&view));
5757
}
58+
59+
Ok(())
5860
}
5961

60-
pub fn resize(&self, size: Size) {
61-
let Some(view) = self.view.load() else { return };
62-
let Some(view) = view.inner_ref() else { return };
62+
pub fn resize(&self, size: Size) -> Result<()> {
63+
let Some(view) = self.view.load() else { return Ok(()) };
64+
let Some(view) = view.inner_ref() else { return Ok(()) };
6365
if view.inner.state.closed.get() {
64-
return;
66+
return Ok(());
6567
}
6668

6769
BaseviewView::resize(view, size);
70+
71+
Ok(())
6872
}
6973

70-
pub fn set_mouse_cursor(&self, cursor: MouseCursor) {
71-
let Some(view) = self.view.load() else { return };
74+
pub fn set_mouse_cursor(&self, cursor: MouseCursor) -> Result<()> {
75+
let Some(view) = self.view.load() else { return Ok(()) };
7276
let native_cursor = Cursor::from(cursor);
7377
view.addCursorRect_cursor(view.bounds(), &native_cursor.load());
78+
Ok(())
7479
}
7580

7681
pub fn size(&self) -> WindowSize {

src/platform/macos/gl.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,14 @@ impl GlContext {
139139
Ok(GlContext { view, context, gl_bundle })
140140
}
141141

142-
pub unsafe fn make_current(&self) {
142+
pub unsafe fn make_current(&self) -> Result<()> {
143143
self.context.makeCurrentContext();
144+
Ok(())
144145
}
145146

146-
pub unsafe fn make_not_current(&self) {
147+
pub unsafe fn make_not_current(&self) -> Result<()> {
147148
NSOpenGLContext::clearCurrentContext();
149+
Ok(())
148150
}
149151

150152
pub fn get_proc_address(&self, symbol: &CStr) -> *const c_void {
@@ -170,9 +172,10 @@ impl GlContext {
170172
self.gl_bundle.function_pointer_for_name(Some(&symbol_name))
171173
}
172174

173-
pub fn swap_buffers(&self) {
175+
pub fn swap_buffers(&self) -> Result<()> {
174176
self.context.flushBuffer();
175177
self.view.setNeedsDisplay(true);
178+
Ok(())
176179
}
177180

178181
/// On macOS the `NSOpenGLView` needs to be resized separtely from our main view.

0 commit comments

Comments
 (0)