File tree Expand file tree Collapse file tree 6 files changed +153
-10
lines changed Expand file tree Collapse file tree 6 files changed +153
-10
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ gdk.workspace = true
2222gio.workspace = true
2323glib.workspace = true
2424libc.workspace = true
25+ cocoa = " 0.26"
2526
2627[dev-dependencies ]
2728gir-format-check.workspace = true
Original file line number Diff line number Diff line change @@ -17,7 +17,6 @@ generate = [
1717 " GdkMacos.MacosGLContext" ,
1818 " GdkMacos.MacosKeymap" ,
1919 " GdkMacos.MacosSeat" ,
20- " GdkMacos.MacosSurface" ,
2120]
2221
2322manual = [
@@ -36,4 +35,11 @@ name = "GdkMacos.MacosMonitor"
3635status = " generate"
3736 [[object .function ]]
3837 name = " get_geometry"
39- ignore = true # The function does not exists
38+ ignore = true # The function does not exists
39+
40+ [[object ]]
41+ name = " GdkMacos.MacosSurface"
42+ status = " generate"
43+ [[object .function ]]
44+ name = " get_native_window"
45+ manual = true
Original file line number Diff line number Diff line change @@ -20,14 +20,6 @@ glib::wrapper! {
2020}
2121
2222impl MacosSurface {
23- //#[cfg(feature = "v4_8")]
24- //#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
25- //#[doc(alias = "gdk_macos_surface_get_native_window")]
26- //#[doc(alias = "get_native_window")]
27- //pub fn native_window(&self) -> /*Unimplemented*/Option<Basic: Pointer> {
28- // unsafe { TODO: call ffi:gdk_macos_surface_get_native_window() }
29- //}
30-
3123 //pub fn native(&self) -> /*Unimplemented*/Basic: Pointer {
3224 // ObjectExt::property(self, "native")
3325 //}
Original file line number Diff line number Diff line change @@ -16,3 +16,5 @@ mod auto;
1616pub mod prelude;
1717
1818pub use auto:: * ;
19+
20+ mod macos_surface;
Original file line number Diff line number Diff line change 1+ // Take a look at the license at the top of the repository in the LICENSE file.
2+
3+ #[ cfg( feature = "v4_8" ) ]
4+ use crate :: ffi;
5+ use crate :: MacosSurface ;
6+ #[ cfg( feature = "v4_8" ) ]
7+ use cocoa:: base:: id;
8+ #[ cfg( feature = "v4_8" ) ]
9+ use glib:: translate:: * ;
10+
11+ impl MacosSurface {
12+ #[ cfg( feature = "v4_8" ) ]
13+ #[ cfg_attr( docsrs, doc( cfg( feature = "v4_8" ) ) ) ]
14+ #[ doc( alias = "gdk_macos_surface_get_native_window" ) ]
15+ #[ doc( alias = "get_native_window" ) ]
16+ pub fn native_window ( & self ) -> Option < id > {
17+ unsafe {
18+ let native_window_ptr = ffi:: gdk_macos_surface_get_native_window ( self . to_glib_none ( ) . 0 ) ;
19+ if native_window_ptr. is_null ( ) {
20+ None
21+ } else {
22+ Some ( native_window_ptr as id )
23+ }
24+ }
25+ }
26+ }
You can’t perform that action at this time.
0 commit comments