Add sanity check on pixels_per_point range

This commit is contained in:
Emil Ernerfeldt 2021-02-23 12:03:20 +01:00
parent ec2aab3a72
commit 36d9f8a7c7
2 changed files with 12 additions and 1 deletions

View File

@ -184,6 +184,12 @@ pub struct Fonts {
impl Fonts {
pub fn from_definitions(pixels_per_point: f32, definitions: FontDefinitions) -> Self {
assert!(
0.0 < pixels_per_point && pixels_per_point < 100.0,
"pixels_per_point out of range: {}",
pixels_per_point
);
// We want an atlas big enough to be able to include all the Emojis in the `TextStyle::Heading`,
// so we can show the Emoji picker demo window.
let mut atlas = TextureAtlas::new(2048, 64);

View File

@ -82,7 +82,12 @@ impl TextureAtlas {
/// On modern high-precision GPUs this is not needed.
const PADDING: usize = 1;
assert!(w <= self.texture.width);
assert!(
w <= self.texture.width,
"Tried to allocate a {} wide glyph in a {} wide texture atlas",
w,
self.texture.width
);
if self.cursor.0 + w > self.texture.width {
// New row:
self.cursor.0 = 0;