mirror of
https://github.com/rust-windowing/winit.git
synced 2026-06-26 22:53:15 -04:00
* On macOS, add `WindowBuilderExtMacOS::with_parent_window` * Replace Parent with Option<Id<NSWindow, Shared>> * Add addChildWindow method on NSWindow instead * Update with_parent_window to be unsafe fn * Add unified `with_parent_window` * Remove `WindowBuilderExtUnix::with_parent` * Remove `WindowBuilderExtWindows::with_parent_window` * Clean up CI warnings * Update CHANGELOG.md It's `WindowBuilderExtX11` rather than `WindowBuilderExtUnix` * Rename parent to owner * Make with_parent_window unsafe and update its doc * Add another way to get window on mac * Add more documentations * Add match arm and panic on invalid varients * Add Xcb arm * Update child_window example to make it safer and work in i686 * Remove duplicate entry in CHANGELOG.md * Propogate error instead of expect * Replace unreachable to panic * Add platform note to X11 Co-authored-by: Wu Yu Wei <wusyong9104@gmail.com>
62 lines
2.0 KiB
Rust
62 lines
2.0 KiB
Rust
//! Safe bindings for the AppKit framework.
|
|
//!
|
|
//! These are split out from the rest of `winit` to make safety easier to review.
|
|
//! In the future, these should probably live in another crate like `cacao`.
|
|
//!
|
|
//! TODO: Main thread safety.
|
|
// Objective-C methods have different conventions, and it's much easier to
|
|
// understand if we just use the same names
|
|
#![allow(non_snake_case)]
|
|
#![allow(clippy::too_many_arguments)]
|
|
#![allow(clippy::enum_variant_names)]
|
|
#![allow(non_upper_case_globals)]
|
|
|
|
mod appearance;
|
|
mod application;
|
|
mod button;
|
|
mod color;
|
|
mod control;
|
|
mod cursor;
|
|
mod event;
|
|
mod image;
|
|
mod menu;
|
|
mod menu_item;
|
|
mod pasteboard;
|
|
mod responder;
|
|
mod screen;
|
|
mod text_input_context;
|
|
mod version;
|
|
mod view;
|
|
mod window;
|
|
|
|
pub(crate) use self::appearance::NSAppearance;
|
|
pub(crate) use self::application::{
|
|
NSApp, NSApplication, NSApplicationActivationPolicy, NSApplicationPresentationOptions,
|
|
NSRequestUserAttentionType,
|
|
};
|
|
pub(crate) use self::button::NSButton;
|
|
pub(crate) use self::color::NSColor;
|
|
pub(crate) use self::control::NSControl;
|
|
pub(crate) use self::cursor::NSCursor;
|
|
#[allow(unused_imports)]
|
|
pub(crate) use self::event::{
|
|
NSEvent, NSEventModifierFlags, NSEventPhase, NSEventSubtype, NSEventType,
|
|
};
|
|
pub(crate) use self::image::NSImage;
|
|
pub(crate) use self::menu::NSMenu;
|
|
pub(crate) use self::menu_item::NSMenuItem;
|
|
pub(crate) use self::pasteboard::{NSFilenamesPboardType, NSPasteboard, NSPasteboardType};
|
|
pub(crate) use self::responder::NSResponder;
|
|
#[allow(unused_imports)]
|
|
pub(crate) use self::screen::{NSDeviceDescriptionKey, NSScreen};
|
|
pub(crate) use self::text_input_context::NSTextInputContext;
|
|
pub(crate) use self::version::NSAppKitVersion;
|
|
pub(crate) use self::view::{NSTrackingRectTag, NSView};
|
|
pub(crate) use self::window::{
|
|
NSBackingStoreType, NSWindow, NSWindowButton, NSWindowLevel, NSWindowOcclusionState,
|
|
NSWindowOrderingMode, NSWindowSharingType, NSWindowStyleMask, NSWindowTitleVisibility,
|
|
};
|
|
|
|
#[link(name = "AppKit", kind = "framework")]
|
|
extern "C" {}
|