#![allow(
unused_parens,
clippy::excessive_precision,
clippy::missing_safety_doc,
clippy::should_implement_trait,
clippy::too_many_arguments,
clippy::unused_unit,
clippy::let_unit_value,
clippy::derive_partial_eq_without_eq,
)]
use crate::{mod_prelude::*, core, sys, types};
pub mod prelude {
pub use { super::QtFontTraitConst, super::QtFontTrait };
}
pub const EVENT_FLAG_ALTKEY: i32 = 32;
pub const EVENT_FLAG_CTRLKEY: i32 = 8;
pub const EVENT_FLAG_LBUTTON: i32 = 1;
pub const EVENT_FLAG_MBUTTON: i32 = 4;
pub const EVENT_FLAG_RBUTTON: i32 = 2;
pub const EVENT_FLAG_SHIFTKEY: i32 = 16;
pub const EVENT_LBUTTONDBLCLK: i32 = 7;
pub const EVENT_LBUTTONDOWN: i32 = 1;
pub const EVENT_LBUTTONUP: i32 = 4;
pub const EVENT_MBUTTONDBLCLK: i32 = 9;
pub const EVENT_MBUTTONDOWN: i32 = 3;
pub const EVENT_MBUTTONUP: i32 = 6;
pub const EVENT_MOUSEHWHEEL: i32 = 11;
pub const EVENT_MOUSEMOVE: i32 = 0;
pub const EVENT_MOUSEWHEEL: i32 = 10;
pub const EVENT_RBUTTONDBLCLK: i32 = 8;
pub const EVENT_RBUTTONDOWN: i32 = 2;
pub const EVENT_RBUTTONUP: i32 = 5;
pub const QT_CHECKBOX: i32 = 1;
pub const QT_FONT_BLACK: i32 = 87;
pub const QT_FONT_BOLD: i32 = 75;
pub const QT_FONT_DEMIBOLD: i32 = 63;
pub const QT_FONT_LIGHT: i32 = 25;
pub const QT_FONT_NORMAL: i32 = 50;
pub const QT_NEW_BUTTONBAR: i32 = 1024;
pub const QT_PUSH_BUTTON: i32 = 0;
pub const QT_RADIOBOX: i32 = 2;
pub const QT_STYLE_ITALIC: i32 = 1;
pub const QT_STYLE_NORMAL: i32 = 0;
pub const QT_STYLE_OBLIQUE: i32 = 2;
pub const WINDOW_AUTOSIZE: i32 = 1;
pub const WINDOW_FREERATIO: i32 = 256;
pub const WINDOW_FULLSCREEN: i32 = 1;
pub const WINDOW_GUI_EXPANDED: i32 = 0;
pub const WINDOW_GUI_NORMAL: i32 = 16;
pub const WINDOW_KEEPRATIO: i32 = 0;
pub const WINDOW_NORMAL: i32 = 0;
pub const WINDOW_OPENGL: i32 = 4096;
pub const WND_PROP_ASPECT_RATIO: i32 = 2;
pub const WND_PROP_AUTOSIZE: i32 = 1;
pub const WND_PROP_FULLSCREEN: i32 = 0;
pub const WND_PROP_OPENGL: i32 = 3;
pub const WND_PROP_TOPMOST: i32 = 5;
pub const WND_PROP_VISIBLE: i32 = 4;
pub const WND_PROP_VSYNC: i32 = 6;
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum MouseEventFlags {
EVENT_FLAG_LBUTTON = 1,
EVENT_FLAG_RBUTTON = 2,
EVENT_FLAG_MBUTTON = 4,
EVENT_FLAG_CTRLKEY = 8,
EVENT_FLAG_SHIFTKEY = 16,
EVENT_FLAG_ALTKEY = 32,
}
opencv_type_enum! { crate::highgui::MouseEventFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum MouseEventTypes {
EVENT_MOUSEMOVE = 0,
EVENT_LBUTTONDOWN = 1,
EVENT_RBUTTONDOWN = 2,
EVENT_MBUTTONDOWN = 3,
EVENT_LBUTTONUP = 4,
EVENT_RBUTTONUP = 5,
EVENT_MBUTTONUP = 6,
EVENT_LBUTTONDBLCLK = 7,
EVENT_RBUTTONDBLCLK = 8,
EVENT_MBUTTONDBLCLK = 9,
EVENT_MOUSEWHEEL = 10,
EVENT_MOUSEHWHEEL = 11,
}
opencv_type_enum! { crate::highgui::MouseEventTypes }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum QtButtonTypes {
QT_PUSH_BUTTON = 0,
QT_CHECKBOX = 1,
QT_RADIOBOX = 2,
QT_NEW_BUTTONBAR = 1024,
}
opencv_type_enum! { crate::highgui::QtButtonTypes }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum QtFontStyles {
QT_STYLE_NORMAL = 0,
QT_STYLE_ITALIC = 1,
QT_STYLE_OBLIQUE = 2,
}
opencv_type_enum! { crate::highgui::QtFontStyles }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum QtFontWeights {
QT_FONT_LIGHT = 25,
QT_FONT_NORMAL = 50,
QT_FONT_DEMIBOLD = 63,
QT_FONT_BOLD = 75,
QT_FONT_BLACK = 87,
}
opencv_type_enum! { crate::highgui::QtFontWeights }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum WindowFlags {
WINDOW_NORMAL = 0,
WINDOW_AUTOSIZE = 1,
WINDOW_OPENGL = 4096,
WINDOW_FREERATIO = 256,
WINDOW_GUI_NORMAL = 16,
}
opencv_type_enum! { crate::highgui::WindowFlags }
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum WindowPropertyFlags {
WND_PROP_FULLSCREEN = 0,
WND_PROP_AUTOSIZE = 1,
WND_PROP_ASPECT_RATIO = 2,
WND_PROP_OPENGL = 3,
WND_PROP_VISIBLE = 4,
WND_PROP_TOPMOST = 5,
WND_PROP_VSYNC = 6,
}
opencv_type_enum! { crate::highgui::WindowPropertyFlags }
pub type ButtonCallback = Option<Box<dyn FnMut(i32) -> () + Send + Sync + 'static>>;
pub type MouseCallback = Option<Box<dyn FnMut(i32, i32, i32, i32) -> () + Send + Sync + 'static>>;
pub type OpenGlDrawCallback = Option<Box<dyn FnMut() -> () + Send + Sync + 'static>>;
pub type TrackbarCallback = Option<Box<dyn FnMut(i32) -> () + Send + Sync + 'static>>;
#[inline]
pub fn add_text(img: &core::Mat, text: &str, org: core::Point, font: &crate::highgui::QtFont) -> Result<()> {
extern_container_arg!(text);
return_send!(via ocvrs_return);
unsafe { sys::cv_addText_const_MatR_const_StringR_Point_const_QtFontR(img.as_raw_Mat(), text.opencv_as_extern(), org.opencv_as_extern(), font.as_raw_QtFont(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn add_text_with_font(img: &core::Mat, text: &str, org: core::Point, name_font: &str, point_size: i32, color: core::Scalar, weight: i32, style: i32, spacing: i32) -> Result<()> {
extern_container_arg!(text);
extern_container_arg!(name_font);
return_send!(via ocvrs_return);
unsafe { sys::cv_addText_const_MatR_const_StringR_Point_const_StringR_int_Scalar_int_int_int(img.as_raw_Mat(), text.opencv_as_extern(), org.opencv_as_extern(), name_font.opencv_as_extern(), point_size, color.opencv_as_extern(), weight, style, spacing, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn create_button(bar_name: &str, on_change: crate::highgui::ButtonCallback, typ: i32, initial_button_state: bool) -> Result<i32> {
extern_container_arg!(bar_name);
callback_arg!(on_change_trampoline(state: i32, userdata: *mut c_void) -> () => userdata in callbacks => on_change(state: i32) -> ());
userdata_arg!(userdata in callbacks => on_change);
return_send!(via ocvrs_return);
unsafe { sys::cv_createButton_const_StringR_ButtonCallback_voidX_int_bool(bar_name.opencv_as_extern(), on_change_trampoline, userdata, typ, initial_button_state, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn create_trackbar(trackbarname: &str, winname: &str, value: Option<&mut i32>, count: i32, on_change: crate::highgui::TrackbarCallback) -> Result<i32> {
extern_container_arg!(trackbarname);
extern_container_arg!(winname);
callback_arg!(on_change_trampoline(pos: i32, userdata: *mut c_void) -> () => userdata in callbacks => on_change(pos: i32) -> ());
userdata_arg!(userdata in callbacks => on_change);
return_send!(via ocvrs_return);
unsafe { sys::cv_createTrackbar_const_StringR_const_StringR_intX_int_TrackbarCallback_voidX(trackbarname.opencv_as_extern(), winname.opencv_as_extern(), value.map_or(::core::ptr::null_mut(), |value| value as *mut _), count, on_change_trampoline, userdata, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn destroy_all_windows() -> Result<()> {
return_send!(via ocvrs_return);
unsafe { sys::cv_destroyAllWindows(ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn destroy_window(winname: &str) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_destroyWindow_const_StringR(winname.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn display_overlay(winname: &str, text: &str, delayms: i32) -> Result<()> {
extern_container_arg!(winname);
extern_container_arg!(text);
return_send!(via ocvrs_return);
unsafe { sys::cv_displayOverlay_const_StringR_const_StringR_int(winname.opencv_as_extern(), text.opencv_as_extern(), delayms, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn display_status_bar(winname: &str, text: &str, delayms: i32) -> Result<()> {
extern_container_arg!(winname);
extern_container_arg!(text);
return_send!(via ocvrs_return);
unsafe { sys::cv_displayStatusBar_const_StringR_const_StringR_int(winname.opencv_as_extern(), text.opencv_as_extern(), delayms, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn font_qt(name_font: &str, point_size: i32, color: core::Scalar, weight: i32, style: i32, spacing: i32) -> Result<crate::highgui::QtFont> {
extern_container_arg!(name_font);
return_send!(via ocvrs_return);
unsafe { sys::cv_fontQt_const_StringR_int_Scalar_int_int_int(name_font.opencv_as_extern(), point_size, color.opencv_as_extern(), weight, style, spacing, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::highgui::QtFont::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn get_mouse_wheel_delta(flags: i32) -> Result<i32> {
return_send!(via ocvrs_return);
unsafe { sys::cv_getMouseWheelDelta_int(flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn get_trackbar_pos(trackbarname: &str, winname: &str) -> Result<i32> {
extern_container_arg!(trackbarname);
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_getTrackbarPos_const_StringR_const_StringR(trackbarname.opencv_as_extern(), winname.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn get_window_image_rect(winname: &str) -> Result<core::Rect> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_getWindowImageRect_const_StringR(winname.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn get_window_property(winname: &str, prop_id: i32) -> Result<f64> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_getWindowProperty_const_StringR_int(winname.opencv_as_extern(), prop_id, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn imshow(winname: &str, mat: &dyn core::ToInputArray) -> Result<()> {
extern_container_arg!(winname);
extern_container_arg!(mat);
return_send!(via ocvrs_return);
unsafe { sys::cv_imshow_const_StringR_const__InputArrayR(winname.opencv_as_extern(), mat.as_raw__InputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn load_window_parameters(window_name: &str) -> Result<()> {
extern_container_arg!(window_name);
return_send!(via ocvrs_return);
unsafe { sys::cv_loadWindowParameters_const_StringR(window_name.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn move_window(winname: &str, x: i32, y: i32) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_moveWindow_const_StringR_int_int(winname.opencv_as_extern(), x, y, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn named_window(winname: &str, flags: i32) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_namedWindow_const_StringR_int(winname.opencv_as_extern(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn poll_key() -> Result<i32> {
return_send!(via ocvrs_return);
unsafe { sys::cv_pollKey(ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn resize_window_size(winname: &str, size: core::Size) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_resizeWindow_const_StringR_const_SizeR(winname.opencv_as_extern(), &size, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn resize_window(winname: &str, width: i32, height: i32) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_resizeWindow_const_StringR_int_int(winname.opencv_as_extern(), width, height, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn save_window_parameters(window_name: &str) -> Result<()> {
extern_container_arg!(window_name);
return_send!(via ocvrs_return);
unsafe { sys::cv_saveWindowParameters_const_StringR(window_name.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn select_roi_for_window(window_name: &str, img: &dyn core::ToInputArray, show_crosshair: bool, from_center: bool) -> Result<core::Rect> {
extern_container_arg!(window_name);
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_selectROI_const_StringR_const__InputArrayR_bool_bool(window_name.opencv_as_extern(), img.as_raw__InputArray(), show_crosshair, from_center, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn select_roi(img: &dyn core::ToInputArray, show_crosshair: bool, from_center: bool) -> Result<core::Rect> {
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_selectROI_const__InputArrayR_bool_bool(img.as_raw__InputArray(), show_crosshair, from_center, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn select_rois(window_name: &str, img: &dyn core::ToInputArray, bounding_boxes: &mut core::Vector<core::Rect>, show_crosshair: bool, from_center: bool) -> Result<()> {
extern_container_arg!(window_name);
extern_container_arg!(img);
return_send!(via ocvrs_return);
unsafe { sys::cv_selectROIs_const_StringR_const__InputArrayR_vectorLRectGR_bool_bool(window_name.opencv_as_extern(), img.as_raw__InputArray(), bounding_boxes.as_raw_mut_VectorOfRect(), show_crosshair, from_center, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_mouse_callback(winname: &str, on_mouse: crate::highgui::MouseCallback) -> Result<()> {
extern_container_arg!(winname);
callback_arg!(on_mouse_trampoline(event: i32, x: i32, y: i32, flags: i32, userdata: *mut c_void) -> () => userdata in callbacks => on_mouse(event: i32, x: i32, y: i32, flags: i32) -> ());
userdata_arg!(userdata in callbacks => on_mouse);
return_send!(via ocvrs_return);
unsafe { sys::cv_setMouseCallback_const_StringR_MouseCallback_voidX(winname.opencv_as_extern(), on_mouse_trampoline, userdata, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_opengl_context(winname: &str) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_setOpenGlContext_const_StringR(winname.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_opengl_draw_callback(winname: &str, on_opengl_draw: crate::highgui::OpenGlDrawCallback) -> Result<()> {
extern_container_arg!(winname);
callback_arg!(on_opengl_draw_trampoline(userdata: *mut c_void) -> () => userdata in callbacks => on_opengl_draw() -> ());
userdata_arg!(userdata in callbacks => on_opengl_draw);
return_send!(via ocvrs_return);
unsafe { sys::cv_setOpenGlDrawCallback_const_StringR_OpenGlDrawCallback_voidX(winname.opencv_as_extern(), on_opengl_draw_trampoline, userdata, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_trackbar_max(trackbarname: &str, winname: &str, maxval: i32) -> Result<()> {
extern_container_arg!(trackbarname);
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_setTrackbarMax_const_StringR_const_StringR_int(trackbarname.opencv_as_extern(), winname.opencv_as_extern(), maxval, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_trackbar_min(trackbarname: &str, winname: &str, minval: i32) -> Result<()> {
extern_container_arg!(trackbarname);
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_setTrackbarMin_const_StringR_const_StringR_int(trackbarname.opencv_as_extern(), winname.opencv_as_extern(), minval, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_trackbar_pos(trackbarname: &str, winname: &str, pos: i32) -> Result<()> {
extern_container_arg!(trackbarname);
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_setTrackbarPos_const_StringR_const_StringR_int(trackbarname.opencv_as_extern(), winname.opencv_as_extern(), pos, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_window_property(winname: &str, prop_id: i32, prop_value: f64) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_setWindowProperty_const_StringR_int_double(winname.opencv_as_extern(), prop_id, prop_value, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn set_window_title(winname: &str, title: &str) -> Result<()> {
extern_container_arg!(winname);
extern_container_arg!(title);
return_send!(via ocvrs_return);
unsafe { sys::cv_setWindowTitle_const_StringR_const_StringR(winname.opencv_as_extern(), title.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn start_loop(pt2_func: Option<unsafe extern "C" fn(i32, *mut *mut c_char) -> i32>, argc: i32, argv: &mut [&str]) -> Result<i32> {
string_array_arg_mut!(argv);
return_send!(via ocvrs_return);
unsafe { sys::cv_startLoop_int__X__int__charXX__int_charXX(pt2_func, argc, argv.as_mut_ptr(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn start_window_thread() -> Result<i32> {
return_send!(via ocvrs_return);
unsafe { sys::cv_startWindowThread(ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn stop_loop() -> Result<()> {
return_send!(via ocvrs_return);
unsafe { sys::cv_stopLoop(ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn update_window(winname: &str) -> Result<()> {
extern_container_arg!(winname);
return_send!(via ocvrs_return);
unsafe { sys::cv_updateWindow_const_StringR(winname.opencv_as_extern(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn wait_key_ex(delay: i32) -> Result<i32> {
return_send!(via ocvrs_return);
unsafe { sys::cv_waitKeyEx_int(delay, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
pub fn wait_key(delay: i32) -> Result<i32> {
return_send!(via ocvrs_return);
unsafe { sys::cv_waitKey_int(delay, ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
pub trait QtFontTraitConst {
fn as_raw_QtFont(&self) -> *const c_void;
#[inline]
fn name_font(&self) -> String {
let ret = unsafe { sys::cv_QtFont_getPropNameFont_const(self.as_raw_QtFont()) };
let ret = unsafe { String::opencv_from_extern(ret) };
ret
}
#[inline]
fn color(&self) -> core::Scalar {
return_send!(via ocvrs_return);
unsafe { sys::cv_QtFont_getPropColor_const(self.as_raw_QtFont(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
ret
}
#[inline]
fn font_face(&self) -> i32 {
let ret = unsafe { sys::cv_QtFont_getPropFont_face_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn ascii(&self) -> *const i32 {
let ret = unsafe { sys::cv_QtFont_getPropAscii_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn greek(&self) -> *const i32 {
let ret = unsafe { sys::cv_QtFont_getPropGreek_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn cyrillic(&self) -> *const i32 {
let ret = unsafe { sys::cv_QtFont_getPropCyrillic_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn hscale(&self) -> f32 {
let ret = unsafe { sys::cv_QtFont_getPropHscale_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn vscale(&self) -> f32 {
let ret = unsafe { sys::cv_QtFont_getPropVscale_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn shear(&self) -> f32 {
let ret = unsafe { sys::cv_QtFont_getPropShear_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn thickness(&self) -> i32 {
let ret = unsafe { sys::cv_QtFont_getPropThickness_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn dx(&self) -> f32 {
let ret = unsafe { sys::cv_QtFont_getPropDx_const(self.as_raw_QtFont()) };
ret
}
#[inline]
fn line_type(&self) -> i32 {
let ret = unsafe { sys::cv_QtFont_getPropLine_type_const(self.as_raw_QtFont()) };
ret
}
}
pub trait QtFontTrait: crate::highgui::QtFontTraitConst {
fn as_raw_mut_QtFont(&mut self) -> *mut c_void;
#[inline]
fn set_color(&mut self, val: core::Scalar) {
let ret = unsafe { sys::cv_QtFont_setPropColor_Scalar(self.as_raw_mut_QtFont(), val.opencv_as_extern()) };
ret
}
#[inline]
fn set_font_face(&mut self, val: i32) {
let ret = unsafe { sys::cv_QtFont_setPropFont_face_int(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_hscale(&mut self, val: f32) {
let ret = unsafe { sys::cv_QtFont_setPropHscale_float(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_vscale(&mut self, val: f32) {
let ret = unsafe { sys::cv_QtFont_setPropVscale_float(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_shear(&mut self, val: f32) {
let ret = unsafe { sys::cv_QtFont_setPropShear_float(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_thickness(&mut self, val: i32) {
let ret = unsafe { sys::cv_QtFont_setPropThickness_int(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_dx(&mut self, val: f32) {
let ret = unsafe { sys::cv_QtFont_setPropDx_float(self.as_raw_mut_QtFont(), val) };
ret
}
#[inline]
fn set_line_type(&mut self, val: i32) {
let ret = unsafe { sys::cv_QtFont_setPropLine_type_int(self.as_raw_mut_QtFont(), val) };
ret
}
}
pub struct QtFont {
ptr: *mut c_void
}
opencv_type_boxed! { QtFont }
impl Drop for QtFont {
fn drop(&mut self) {
extern "C" { fn cv_QtFont_delete(instance: *mut c_void); }
unsafe { cv_QtFont_delete(self.as_raw_mut_QtFont()) };
}
}
unsafe impl Send for QtFont {}
impl crate::highgui::QtFontTraitConst for QtFont {
#[inline] fn as_raw_QtFont(&self) -> *const c_void { self.as_raw() }
}
impl crate::highgui::QtFontTrait for QtFont {
#[inline] fn as_raw_mut_QtFont(&mut self) -> *mut c_void { self.as_raw_mut() }
}
impl QtFont {
}