fix: apply global LTSCALE to linetype pattern rendering
Entity linetype_scale is a per-entity multiplier applied on top of the document-level $LTSCALE header variable. The previous code used only the entity scale (defaulting to 1.0), ignoring $LTSCALE entirely. Drawings with a non-default LTSCALE showed dash patterns at the wrong size. Effective scale is now: document.header.linetype_scale * entity linetype_scale. Applied in both render::render_style_for and the complex-linetype path in tessellate_entity. Fixes part of #10 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ebef467720
commit
93614ab554
2 changed files with 3 additions and 2 deletions
|
|
@ -213,7 +213,8 @@ pub(super) fn render_style_for(
|
|||
};
|
||||
|
||||
let lt_name = linetype_name_for(document, e);
|
||||
let lt_scale = e.common().linetype_scale as f32;
|
||||
// Effective scale = global LTSCALE × per-entity scale (both default to 1.0).
|
||||
let lt_scale = document.header.linetype_scale as f32 * e.common().linetype_scale as f32;
|
||||
let (pattern_length, pattern) = resolve_pattern(&document.line_types, lt_name, lt_scale);
|
||||
|
||||
let line_weight_px = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue