finally the font looks nice
This commit is contained in:
parent
1d60984cb6
commit
99c5b72b3d
4 changed files with 35 additions and 27 deletions
|
@ -97,7 +97,7 @@ struct Specimen {
|
|||
|
||||
impl Specimen {
|
||||
pub fn new(id: usize) -> Self {
|
||||
let string = SharedString::new_static("The quick brown fox jumps over the lazy dog");
|
||||
let string = SharedString::new_static("many thihngs could be written here");
|
||||
let id_string = format!("specimen-{}", id);
|
||||
let id = ElementId::Name(id_string.into());
|
||||
Self {
|
||||
|
@ -151,6 +151,7 @@ impl RenderOnce for Specimen {
|
|||
div()
|
||||
.id(self.id)
|
||||
.bg(theme.bg)
|
||||
.font_family("Zed Plex Mono")
|
||||
.text_color(theme.fg)
|
||||
.text_size(px(font_size * scale))
|
||||
.line_height(relative(line_height))
|
||||
|
@ -270,7 +271,7 @@ 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))
|
||||
|
|
|
@ -59,8 +59,8 @@ unsafe impl<T> Send for Syncer<T> {}
|
|||
unsafe impl<T> Sync for Syncer<T> {}
|
||||
|
||||
struct DirectWriteState {
|
||||
#[cfg(feature = "enable-renderdoc")]
|
||||
renderdoc: Syncer<Arc<RwLock<renderdoc::RenderDoc<renderdoc::V141>>>>,
|
||||
// #[cfg(feature = "enable-renderdoc")]
|
||||
// renderdoc: Syncer<Arc<RwLock<renderdoc::RenderDoc<renderdoc::V141>>>>,
|
||||
components: DirectWriteComponent,
|
||||
system_ui_font_name: SharedString,
|
||||
system_font_collection: IDWriteFontCollection1,
|
||||
|
@ -236,8 +236,8 @@ impl DirectWriteTextSystem {
|
|||
let system_ui_font_name = get_system_ui_font_name();
|
||||
|
||||
Ok(Self(RwLock::new(DirectWriteState {
|
||||
#[cfg(feature = "enable-renderdoc")]
|
||||
renderdoc: Syncer(Arc::new(RwLock::new(renderdoc::RenderDoc::new().unwrap()))),
|
||||
// #[cfg(feature = "enable-renderdoc")]
|
||||
// renderdoc: Syncer(Arc::new(RwLock::new(renderdoc::RenderDoc::new().unwrap()))),
|
||||
components,
|
||||
system_ui_font_name,
|
||||
system_font_collection,
|
||||
|
@ -965,11 +965,10 @@ impl DirectWriteState {
|
|||
let bitmap_idx = bitmap_y * bitmap_size.width.0 as usize + bitmap_x;
|
||||
|
||||
if texture_idx + 2 < alpha_data.len() && bitmap_idx < bitmap_data.len() {
|
||||
let avg = (alpha_data[texture_idx] as u32
|
||||
+ alpha_data[texture_idx + 1] as u32
|
||||
+ alpha_data[texture_idx + 2] as u32)
|
||||
/ 3;
|
||||
bitmap_data[bitmap_idx] = avg as u8;
|
||||
let max_value = alpha_data[texture_idx]
|
||||
.max(alpha_data[texture_idx + 1])
|
||||
.max(alpha_data[texture_idx + 2]);
|
||||
bitmap_data[bitmap_idx] = max_value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1157,11 +1156,11 @@ impl DirectWriteState {
|
|||
texture.unwrap()
|
||||
};
|
||||
|
||||
#[cfg(feature = "enable-renderdoc")]
|
||||
self.renderdoc
|
||||
.0
|
||||
.write()
|
||||
.start_frame_capture(std::ptr::null(), std::ptr::null());
|
||||
// #[cfg(feature = "enable-renderdoc")]
|
||||
// self.renderdoc
|
||||
// .0
|
||||
// .write()
|
||||
// .start_frame_capture(std::ptr::null(), std::ptr::null());
|
||||
|
||||
let device_context = &gpu_state.device_context;
|
||||
unsafe { device_context.IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP) };
|
||||
|
@ -1240,11 +1239,11 @@ impl DirectWriteState {
|
|||
};
|
||||
}
|
||||
|
||||
#[cfg(feature = "enable-renderdoc")]
|
||||
self.renderdoc
|
||||
.0
|
||||
.write()
|
||||
.end_frame_capture(std::ptr::null(), std::ptr::null());
|
||||
// #[cfg(feature = "enable-renderdoc")]
|
||||
// self.renderdoc
|
||||
// .0
|
||||
// .write()
|
||||
// .end_frame_capture(std::ptr::null(), std::ptr::null());
|
||||
|
||||
println!("render finished");
|
||||
|
||||
|
|
|
@ -264,6 +264,7 @@ impl DirectXAtlasTexture {
|
|||
bounds: Bounds<DevicePixels>,
|
||||
bytes: &[u8],
|
||||
) {
|
||||
println!("{:?}", bounds);
|
||||
unsafe {
|
||||
device_context.UpdateSubresource(
|
||||
&self.texture,
|
||||
|
|
|
@ -1060,15 +1060,22 @@ float4 blend_color(float4 color, float alpha_factor) {
|
|||
return float4(color.rgb * multiplier, alpha);
|
||||
}
|
||||
|
||||
float3 linear_to_srgbee(float3 l) {
|
||||
bool cutoff = l < float3(0.0031308, 0.0031308, 0.0031308);
|
||||
float3 higher = float3(1.055, 1.055, 1.055) * pow(l, float3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) - float3(0.055, 0.055, 0.055);
|
||||
float3 lower = l * float3(12.92, 12.92, 12.92);
|
||||
return cutoff ? lower : higher;
|
||||
}
|
||||
|
||||
float4 monochrome_sprite_fragment(MonochromeSpriteFragmentInput input): SV_Target {
|
||||
float sample = t_sprite.Sample(s_sprite, input.tile_position).r;
|
||||
float4 color = input.color;
|
||||
color.a *= sample;
|
||||
return color;
|
||||
// if (any(input.clip_distance < 0.0)) {
|
||||
// return float4(0.0, 0.0, 0.0, 0.0);
|
||||
// }
|
||||
// return blend_color(input.color, sample);
|
||||
// color.a *= sample;
|
||||
// return float4(color.rgb, color.a);
|
||||
if (any(input.clip_distance < 0.0)) {
|
||||
return float4(0.0, 0.0, 0.0, 0.0);
|
||||
}
|
||||
return blend_color(input.color, sample);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue