From 2fb31a9157844a868c77d12f15d7481d1a9bb048 Mon Sep 17 00:00:00 2001 From: Kate Date: Mon, 14 Jul 2025 22:34:36 +0200 Subject: [PATCH] more fixes and debugging --- crates/gpui/examples/text.rs | 36 +++++++++---------- .../gpui/src/platform/windows/direct_write.rs | 7 ++-- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/crates/gpui/examples/text.rs b/crates/gpui/examples/text.rs index 19214aebde..6f1b98e81c 100644 --- a/crates/gpui/examples/text.rs +++ b/crates/gpui/examples/text.rs @@ -270,27 +270,27 @@ impl Render for TextExample { .overflow_x_hidden() .bg(rgb(0xffffff)) .size_full() - .child(div().child(CharacterGrid::new().scale(base))) + // .child(div().child(CharacterGrid::new().scale(base))) .child( div() - .child(Specimen::new(self.next_id()).scale(step_down_2)) - .child(Specimen::new(self.next_id()).scale(step_down_2).invert()) - .child(Specimen::new(self.next_id()).scale(step_down_1)) - .child(Specimen::new(self.next_id()).scale(step_down_1).invert()) + // .child(Specimen::new(self.next_id()).scale(step_down_2)) + // .child(Specimen::new(self.next_id()).scale(step_down_2).invert()) + // .child(Specimen::new(self.next_id()).scale(step_down_1)) + // .child(Specimen::new(self.next_id()).scale(step_down_1).invert()) .child(Specimen::new(self.next_id()).scale(base)) - .child(Specimen::new(self.next_id()).scale(base).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_1)) - .child(Specimen::new(self.next_id()).scale(step_up_1).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_2)) - .child(Specimen::new(self.next_id()).scale(step_up_2).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_3)) - .child(Specimen::new(self.next_id()).scale(step_up_3).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_4)) - .child(Specimen::new(self.next_id()).scale(step_up_4).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_5)) - .child(Specimen::new(self.next_id()).scale(step_up_5).invert()) - .child(Specimen::new(self.next_id()).scale(step_up_6)) - .child(Specimen::new(self.next_id()).scale(step_up_6).invert()), + // .child(Specimen::new(self.next_id()).scale(base).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_1)) + // .child(Specimen::new(self.next_id()).scale(step_up_1).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_2)) + // .child(Specimen::new(self.next_id()).scale(step_up_2).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_3)) + // .child(Specimen::new(self.next_id()).scale(step_up_3).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_4)) + // .child(Specimen::new(self.next_id()).scale(step_up_4).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_5)) + // .child(Specimen::new(self.next_id()).scale(step_up_5).invert()) + // .child(Specimen::new(self.next_id()).scale(step_up_6)) + // .child(Specimen::new(self.next_id()).scale(step_up_6).invert()), ), ) .child(div().w(px(240.)).h_full().bg(colors.container)) diff --git a/crates/gpui/src/platform/windows/direct_write.rs b/crates/gpui/src/platform/windows/direct_write.rs index 4ee94e6155..8d191facbe 100644 --- a/crates/gpui/src/platform/windows/direct_write.rs +++ b/crates/gpui/src/platform/windows/direct_write.rs @@ -810,14 +810,13 @@ impl DirectWriteState { } // Resize to match expected bitmap_size if needed - let expected_size = bitmap_size.width.0 as usize * bitmap_size.height.0 as usize * 4; - rgba_data.resize(expected_size, 0); Ok((bitmap_size, rgba_data)) } else { // For regular text, use grayscale or cleartype let texture_type = DWRITE_TEXTURE_CLEARTYPE_3x1; let texture_bounds = unsafe { glyph_analysis.GetAlphaTextureBounds(texture_type)? }; + println!("glyph id: {:?}, variant: {:?}, size: {:?}, texture_bounds: {:?}", glyph_id, params.subpixel_variant, bitmap_size, texture_bounds); let width = (texture_bounds.right - texture_bounds.left) as u32; let height = (texture_bounds.bottom - texture_bounds.top) as u32; @@ -848,10 +847,10 @@ impl DirectWriteState { } // Resize to match expected bitmap_size if needed - let expected_size = bitmap_size.width.0 as usize * bitmap_size.height.0 as usize; + let expected_size = width as usize * height as usize; grayscale_data.resize(expected_size, 0); - Ok((bitmap_size, grayscale_data)) + Ok((size(DevicePixels(width as i32), DevicePixels(height as i32)), grayscale_data)) } }