use crate::{Context, Result};
pub fn quit(ctx: &mut Context) {
ctx.running = false;
}
pub fn get_title(ctx: &Context) -> &str {
ctx.window.get_window_title()
}
pub fn set_title<S>(ctx: &mut Context, title: S)
where
S: AsRef<str>,
{
ctx.window.set_window_title(title)
}
pub fn get_width(ctx: &Context) -> i32 {
ctx.window.get_window_width()
}
pub fn set_width(ctx: &mut Context, width: i32) -> Result {
set_size(ctx, width, ctx.window.get_window_height())
}
pub fn get_height(ctx: &Context) -> i32 {
ctx.window.get_window_height()
}
pub fn set_height(ctx: &mut Context, height: i32) -> Result {
set_size(ctx, ctx.window.get_window_width(), height)
}
pub fn get_size(ctx: &Context) -> (i32, i32) {
ctx.window.get_window_size()
}
pub fn set_size(ctx: &mut Context, width: i32, height: i32) -> Result {
ctx.window.set_window_size(width, height)
}
pub fn set_vsync(ctx: &mut Context, vsync: bool) -> Result {
ctx.window.set_vsync(vsync)
}
pub fn is_vsync_enabled(ctx: &Context) -> bool {
ctx.window.is_vsync_enabled()
}
pub fn set_fullscreen(ctx: &mut Context, fullscreen: bool) -> Result {
ctx.window.set_fullscreen(fullscreen)
}
pub fn is_fullscreen(ctx: &Context) -> bool {
ctx.window.is_fullscreen()
}
pub fn set_mouse_visible(ctx: &mut Context, visible: bool) -> Result {
ctx.window.set_mouse_visible(visible)
}
pub fn is_mouse_visible(ctx: &Context) -> bool {
ctx.window.is_mouse_visible()
}
pub fn set_mouse_grabbed(ctx: &mut Context, mouse_grabbed: bool) {
ctx.window.set_mouse_grabbed(mouse_grabbed);
}
pub fn is_mouse_grabbed(ctx: &Context) -> bool {
ctx.window.is_mouse_grabbed()
}
pub fn set_relative_mouse_mode(ctx: &mut Context, relative_mouse_mode: bool) {
ctx.window.set_relative_mouse_mode(relative_mouse_mode);
}
pub fn is_relative_mouse_mode(ctx: &Context) -> bool {
ctx.window.is_relative_mouse_mode()
}
pub fn get_monitor_count(ctx: &Context) -> Result<i32> {
ctx.window.get_monitor_count()
}
pub fn get_monitor_name(ctx: &Context, monitor_index: i32) -> Result<String> {
ctx.window.get_monitor_name(monitor_index)
}
pub fn get_monitor_width(ctx: &Context, monitor_index: i32) -> Result<i32> {
get_monitor_size(ctx, monitor_index).map(|(w, _)| w)
}
pub fn get_monitor_height(ctx: &Context, monitor_index: i32) -> Result<i32> {
get_monitor_size(ctx, monitor_index).map(|(_, h)| h)
}
pub fn get_monitor_size(ctx: &Context, monitor_index: i32) -> Result<(i32, i32)> {
ctx.window.get_monitor_size(monitor_index)
}
pub fn get_current_monitor(ctx: &Context) -> Result<i32> {
ctx.window.get_current_monitor()
}
pub fn get_current_monitor_name(ctx: &Context) -> Result<String> {
let monitor_index = ctx.window.get_current_monitor()?;
ctx.window.get_monitor_name(monitor_index)
}
pub fn get_current_monitor_width(ctx: &Context) -> Result<i32> {
get_current_monitor_size(ctx).map(|(w, _)| w)
}
pub fn get_current_monitor_height(ctx: &Context) -> Result<i32> {
get_current_monitor_size(ctx).map(|(_, h)| h)
}
pub fn get_current_monitor_size(ctx: &Context) -> Result<(i32, i32)> {
let monitor_index = ctx.window.get_current_monitor()?;
ctx.window.get_monitor_size(monitor_index)
}
pub fn set_screen_saver_enabled(ctx: &Context, screen_saver_enabled: bool) {
ctx.window.set_screen_saver_enabled(screen_saver_enabled);
}
pub fn is_screen_saver_enabled(ctx: &Context) -> bool {
ctx.window.is_screen_saver_enabled()
}
pub fn set_key_repeat_enabled(ctx: &mut Context, key_repeat_enabled: bool) {
ctx.window.set_key_repeat_enabled(key_repeat_enabled);
}
pub fn is_key_repeat_enabled(ctx: &Context) -> bool {
ctx.window.is_key_repeat_enabled()
}