Skip to content

Commit b19ecff

Browse files
authored
Merge pull request #1112 from LtPeriwinkle/master
Add wrapper functions for getting and setting renderer integer scaling
2 parents 6a31d31 + 47b62f7 commit b19ecff

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

Diff for: changelog.md

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ enum variants directly in your project, you may be affected. If you only used sd
1010

1111
[PR #1150](https://github.com/Rust-SDL2/rust-sdl2/pull/1150) Do not download SDL2 sources when using bundled feature
1212

13+
[PR #1112](https://github.com/Rust-SDL2/rust-sdl2/pull/1150) Add wrapper functions for `SDL_RenderSetIntegerScale` and `SDL_RenderGetIntegerScale`
14+
1315
### v0.34.5
1416

1517
[PR #1100](https://github.com/Rust-SDL2/rust-sdl2/pull/1100) Added binding for `SDL_GetDisplayUsableBounds`

Diff for: src/sdl2/render.rs

+26
Original file line numberDiff line numberDiff line change
@@ -1148,6 +1148,32 @@ impl<T: RenderTarget> Canvas<T> {
11481148
}
11491149
}
11501150

1151+
/// Sets whether to force integer scales for resolution-independent rendering.
1152+
#[doc(alias = "SDL_RenderSetIntegerScale")]
1153+
pub fn set_integer_scale(&mut self, scale: bool) -> Result<(), String> {
1154+
let ret = unsafe {
1155+
sys::SDL_RenderSetIntegerScale(
1156+
self.raw(),
1157+
if scale {
1158+
sys::SDL_bool::SDL_TRUE
1159+
} else {
1160+
sys::SDL_bool::SDL_FALSE
1161+
},
1162+
)
1163+
};
1164+
if ret != 0 {
1165+
Err(get_error())
1166+
} else {
1167+
Ok(())
1168+
}
1169+
}
1170+
1171+
/// Gets whether integer scales are forced for resolution-independent rendering.
1172+
#[doc(alias = "SDL_RenderGetIntegerScale")]
1173+
pub fn integer_scale(&self) -> bool {
1174+
unsafe { sys::SDL_RenderGetIntegerScale(self.raw()) == sys::SDL_bool::SDL_TRUE }
1175+
}
1176+
11511177
/// Sets the drawing scale for rendering on the current target.
11521178
#[doc(alias = "SDL_RenderSetScale")]
11531179
pub fn set_scale(&mut self, scale_x: f32, scale_y: f32) -> Result<(), String> {

0 commit comments

Comments
 (0)