dont render entire atlas region for font run pieces; render more minimal rasterization size

This commit is contained in:
Ryan Fleury
2024-01-22 15:07:20 -08:00
parent bb97c185bd
commit 68eacca361
3 changed files with 8 additions and 6 deletions
+2 -2
View File
@@ -4983,9 +4983,9 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
F32 query_container_width = dim_2f32(window_rect).x*0.5f;
F32 query_container_margin = ui_top_font_size()*8.f;
F32 query_line_edit_height = ui_top_font_size()*3.f;
Rng2F32 query_container_rect = r2f32p(window_center.x - query_container_width/2,
Rng2F32 query_container_rect = r2f32p(window_center.x - query_container_width/2 + (1-ws->query_view_t)*query_container_width/4,
window_rect.y0 + query_container_margin,
window_center.x + query_container_width/2,
window_center.x + query_container_width/2 - (1-ws->query_view_t)*query_container_width/4,
window_rect.y1 - query_container_margin);
if(ws->query_view_stack_top->spec == &df_g_nil_view_spec)
{
+5 -4
View File
@@ -749,6 +749,7 @@ f_push_run_from_string(Arena *arena, F_Tag tag, F32 size, F_RunFlags flags, Stri
{
info->subrect = chosen_atlas_region;
info->atlas_num = chosen_atlas_num;
info->raster_dim = raster.atlas_dim;
info->advance = raster.advance;
}
}
@@ -782,10 +783,10 @@ f_push_run_from_string(Arena *arena, F_Tag tag, F32 size, F_RunFlags flags, Stri
F_Piece *piece = f_piece_chunk_list_push_new(arena, &piece_chunks, string.size);
{
piece->texture = atlas ? atlas->texture : r_handle_zero();
piece->subrect = r2s16p(info->subrect.x0 + 1,
info->subrect.y0 + 1,
info->subrect.x1 - 1,
info->subrect.y1 - 1);
piece->subrect = r2s16p(info->subrect.x0,
info->subrect.y0,
info->subrect.x0 + info->raster_dim.x,
info->subrect.y0 + info->raster_dim.y);
piece->advance = info->advance;
piece->decode_size = piece_substring.size;
piece->offset = v2s16(0, -hash2style_node->ascent - 4);
+1
View File
@@ -102,6 +102,7 @@ typedef struct F_RasterCacheInfo F_RasterCacheInfo;
struct F_RasterCacheInfo
{
Rng2S16 subrect;
Vec2S16 raster_dim;
S16 atlas_num;
F32 advance;
};