From 476083de423baa35345e14fec7cb81f972b95deb Mon Sep 17 00:00:00 2001 From: LtPeriwinkle Date: Sat, 5 Jun 2021 11:27:00 -0700 Subject: [PATCH 1/2] Add wrapper functions for SDL_Render(Set|Get)IntegerScale --- src/sdl2/render.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index fca619ef..88eef9ac 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -1145,6 +1145,32 @@ impl Canvas { } } + /// Sets whether to force integer scales for resolution-independent rendering. + #[doc(alias = "SDL_RenderSetIntegerScale")] + pub fn set_integer_scale(&mut self, scale: bool) -> Result<(), String> { + let ret = unsafe { + sys::SDL_RenderSetIntegerScale( + self.raw(), + if scale { + sys::SDL_bool::SDL_TRUE + } else { + sys::SDL_bool::SDL_FALSE + }, + ) + }; + if ret != 0 { + Err(get_error()) + } else { + Ok(()) + } + } + + /// Gets whether integer scales are forced for resolution-independent rendering. + #[doc(alias = "SDL_RenderGetIntegerScale")] + pub fn integer_scale(&self) -> bool { + unsafe { sys::SDL_RenderGetIntegerScale(self.raw()) == sys::SDL_bool::SDL_TRUE } + } + /// Sets the drawing scale for rendering on the current target. #[doc(alias = "SDL_RenderSetScale")] pub fn set_scale(&mut self, scale_x: f32, scale_y: f32) -> Result<(), String> { From d655b14388d3e05d9ac12bfefe6b2b55b01a5cff Mon Sep 17 00:00:00 2001 From: LtPeriwinkle Date: Sat, 5 Jun 2021 11:51:15 -0700 Subject: [PATCH 2/2] update changelog --- changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/changelog.md b/changelog.md index b17397a4..ef21553c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,10 @@ In this file will be listed the changes, especially the breaking ones that one should be careful of when upgrading from a version of rust-sdl2 to another. +### Unreleased + +Add wrapper functions for `SDL_RenderSetIntegerScale` and `SDL_RenderGetIntegerScale` + ### v0.34.5 [PR #1100](https://github.com/Rust-SDL2/rust-sdl2/pull/1100) Added binding for `SDL_GetDisplayUsableBounds`