Vendor dependencies for 0.3.0 release

This commit is contained in:
2025-09-27 10:29:08 -05:00
parent 0c8d39d483
commit 82ab7f317b
26803 changed files with 16134934 additions and 0 deletions

39
vendor/metal/src/drawable.rs vendored Normal file
View File

@@ -0,0 +1,39 @@
// Copyright 2016 GFX developers
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.
use block::Block;
use super::NSUInteger;
type DrawablePresentedHandler<'a> = Block<(&'a DrawableRef,), ()>;
type CFTimeInterval = f64;
/// See <https://developer.apple.com/documentation/metal/mtldrawable>
pub enum MTLDrawable {}
foreign_obj_type! {
type CType = MTLDrawable;
pub struct Drawable;
}
impl DrawableRef {
pub fn present(&self) {
unsafe { msg_send![self, present] }
}
pub fn drawable_id(&self) -> NSUInteger {
unsafe { msg_send![self, drawableID] }
}
pub fn add_presented_handler(&self, block: &DrawablePresentedHandler) {
unsafe { msg_send![self, addPresentedHandler: block] }
}
pub fn presented_time(&self) -> CFTimeInterval {
unsafe { msg_send![self, presentedTime] }
}
}