use std::marker::PhantomData;
use std::ptr::NonNull;
use vapoursynth_sys as ffi;
#[derive(Debug, Clone, Copy)]
pub struct FrameContext<'a> {
handle: NonNull<ffi::VSFrameContext>,
_owner: PhantomData<&'a ()>,
}
impl<'a> FrameContext<'a> {
#[inline]
pub(crate) unsafe fn from_ptr(handle: *mut ffi::VSFrameContext) -> Self {
Self {
handle: NonNull::new_unchecked(handle),
_owner: PhantomData,
}
}
#[inline]
pub(crate) fn ptr(self) -> *mut ffi::VSFrameContext {
self.handle.as_ptr()
}
}